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"}}