Subscribe and Unsubscribe Contacts

You can use this request to subscribe or unsubscribe a contact from a specific list. If a particular subscription already exists, the subscription will be updated.

  • To subscribe a contact, set the status to subscribed.
  • To unsubscribe a contact, set the status to unsubscribed.
  • To remove a contact's subscription, set both the email and mobile status to an empty string.


The Method

API Method
RESTPOSThttp://[Your URL]/api/2.0/list_subscriptions/:list_id
XML-RPCCalllist._subscriptions.ListSubscription
Your URL is the address of your Everlytic install.

Your method must be structured as follows:

ListSubscription(int $list_id, \struct | array $properties) : boolean

Parameters

PropertyTypeDescriptionDefaultRequiredRead Only
list_idintegerList identifieremptyyesno
contact_idintegerContact identifieremptyyesno
email_statusstringMapping email status
Possible values:
subscribed
unsubscribed
confirmed
unconfirmed
forwarded
emptynono
mobile_statusstringMapping mobile status
Possible values:
subscribed
unsubscribed
confirmed
unconfirmed
forwarded
emptynono
Even though they aren't marked as required, you must include either the mobile_status or email_status properties.

Responses

TypeDescription
booleanWhether or not the subscription was created.

Code Samples

PHP (using REST API)

Tutorial

The rest of this document describes the example above, step-by-step.

In our Getting Started section we covered the four important components of an API request; URL, method, headers, and body.

RequestStructure

Let's analyse the code sample above to determine where each line fits into this outline.

1. Run JSON script

We use JSON to enclose the variables at the top of the API request (above the URL section).

$json = '

{

"list_id":4,

"contact_id":1,

"email_status":"unsubscribed"

}

';

2. Load the Everlytic API

The following line of code tells the server which API URL to access for the request:

$url = '(Your URL)/api/2.0/list_subscriptions/:list_id';

3. Method

In this line of code, you tell the API which REST function to use:

$method = ‘POST’;

4. cURL

cURL is a tool for sending and receiving files from a web server. This line of code initialises the cURL session.

$cSession = curl_init();

5. Initiate the headers

This section of the code opens the headers section and passes the authentication (including your API key).

$headers = array();

$auth = base64_encode($username . ':' . $apikey);

$headers[] = 'Authorization: Basic ' . $auth;

6. Set various cURL options for the session

The first line uses the $url to get your specified url

The second line returns the string (text) of the return value.

The third line tells the server not to include the header in the output.

The fourth line calls the $method specified above, which is to ‘POST’ (create) the data from the server.

The fifth line specifies which data to create in the server from the JSON code defined above already.

curl_setopt($cSession, CURLOPT_URL, $url);

curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);

curl_setopt($cSession, CURLOPT_HEADER, false);

curl_setopt($cSession, CURLOPT_CUSTOMREQUEST, strtoupper($method));

curl_setopt($cSession, CURLOPT_POSTFIELDS, $json);

7. Tell the server to read the variables from the JSON string

$headers[] = 'Content-Type: application/json';

curl_setopt($cSession, CURLOPT_HTTPHEADER, $headers);

8. Output the API response

$result = curl_exec($cSession);

9. Close the cURL session

curl_close($cSession);
Translate »