LoopsEx.Contacts (LoopsEx v0.1.0)
View SourceManage contacts in your audience.
Summary
Types
Response type returned by Loops API calls
Functions
Create or upsert a contact in your Loops audience.
Delete a contact by "email"
or "userId"
.
Find contacts by "email"
or "userId"
.
Update an existing contact by "email"
or "userId"
.
Types
@type response() :: LoopsEx.Client.response()
Response type returned by Loops API calls
Functions
Create or upsert a contact in your Loops audience.
Parameters
params
(map): contact data. Must include"email"
or"userId"
. Optional fields:"firstName"
,"lastName"
, custom properties.
Returns
{:ok, %{"success" => true, "id" => id}}
on success.{:error, {status_code, response_body}}
on failure.
Example
iex> LoopsEx.Contacts.create(%{"email" => "john@example.com", "firstName" => "John"})
{:ok, %{"success" => true, "id" => "contact_id"}}
Delete a contact by "email"
or "userId"
.
Parameters
params
(map): provide only one of"email"
or"userId"
.
Returns
{:ok, %{"success" => true, "message" => msg}}
on success.{:error, {status_code, response_body}}
on failure.
Example
iex> LoopsEx.Contacts.delete(%{"userId" => "user_123"})
{:ok, %{"success" => true, "message" => "Contact deleted."}}
Find contacts by "email"
or "userId"
.
Parameters
params
(map): query params. Provide"email"
or"userId"
.
Returns
{:ok, [contact_maps]}
on success.{:error, {status_code, response_body}}
on failure.
Example
iex> LoopsEx.Contacts.find(%{"email" => "john@example.com"})
{:ok, [%{"email" => "john@example.com", ...}]}
Update an existing contact by "email"
or "userId"
.
Parameters
params
(map): fields to update. Must include"email"
or"userId"
.
Returns
{:ok, %{"success" => true, "id" => id}}
on success.{:error, {status_code, response_body}}
on failure.
Example
iex> LoopsEx.Contacts.update(%{"email" => "john@example.com", "firstName" => "Jane"})
{:ok, %{"success" => true, "id" => "contact_id"}}