This page provides you information about how to manage recipients (subscribe, unsubscribe, update personal data).
New to MailUp?
Confused with MailUp terminology? Please take a moment to review the Definitions and Recipients Management sections.
On this page:
Manage a single email recipient / subscriber
Definitions:
- Email Recipient = in reference to a MailUp account, it's an end whose email address and optionally personal data fields is added to MailUp. A recipient may be subscribed, not subscribed, unsubscribed or pending in any of the Lists that exist in that MailUp account.
- Email Subscriber = in reference to a specific list within a MailUp account, it's a recipient that is currently subscribed to that list
Add a recipient / subscriber
A single recipient can be added to a console account by calling Import Recipients and passing its details as parameters (at least one between email and mobile number and, optionally, personal data fields).
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Recipients
You cannot create a new recipient without subscribing it.
Update personal data fields of a subscriber
This section refers to changes to a specific subscriber's personal data field (the subscriber must already exist)
The update operation requires:
- Recipient ID, which can be retrieved with the operation listed above (Check if a subscriber exists)
- The IDs of the fields to be updated
Description | Retrieve recipient dynamic field definitions. |
---|---|
HTTP Method | PUT |
URL | https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Recipient/Detail |
JSON request (example) | |
JSON response (example) | |
Paging and filtering (example) | none
|
Update subscription status of a recipient
You can change the subscription status of an existing recipient on a specified list via the API. Unsubscription via the REST API can only be performed with this method. A bulk unsubscription method is not yet available.
Update operation requires
- Recipient ID (refer to section "Check if a subscriber exists")
- List ID
POST operation described in this section enables you to force subscription of unsubscribed recipients regardless the unsubscription reason. It is recommendend that you use this feature only if you're aware of its effects.
Description | Add/remove the recipient with the related id to the specified group |
---|---|
HTTP Method | POST/DELETE |
URL | Subscribe POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Subscribe/{id_Recipient}
Unsubscribe DELETE https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Unsubscribe/{id_Recipient} |
JSON request (example) | none |
JSON response (example) | none |
Paging and filtering (example) | none
|
Update group assignment
A group in MailUp is a subset of a list. Subscribe/unsubscribe is at the list level, not at the group level. Groups are typically used for segmentation purposes within a list.
You can use the API to assign or remove an existing recipient to/from a specified group. Removing a recipient from a group does not affect its list subscription status.
Update operation requires
- Recipient ID (see section "Check if a subscriber exists")
- Group ID
Description | Add/remove the recipient with the related id to the specified group |
---|---|
HTTP Method | POST/DELETE |
URL | Add POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Group/{id_Group}/Subscribe/{id_Recipient}
Remove DELETE https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Group/{id_Group}/Unsubscribe/{id_Recipient} |
JSON request (example) | none |
JSON response (example) | none |
Paging and filtering (example) | none |
Check if a subscriber exists
This method allows you to:
- verify whether a certain recipient is already a subscriber in a certain list within a specified MailUp account
- retrieve the recipientID and personal data fields for that recipient, if it is found
Known restriction
At this time unfortunately the REST API does not include a method to search a recipient by email address regardless the subscription status, within a specific list. To accomplish that at the moment you will need to run the same search three times for subscribed, unsubscribed and finally pending recipients.
Description | Check subscriber and retreive data |
---|---|
HTTP Method | GET |
URL | see example in the "paging and filtering" row |
JSON request (example) | none
|
JSON response (example) | |
Paging and filtering (example) |
Add recipients (asynchronous import)
Asynchronous import is used either for adding a single recipient to MailUp or to perform a bulk import. Since the process is not synchronous, it is fast, but not real time. Please check the import status in order to know whether the import task has been completed.
In case of bulk import, the upper limit for parameter size is configured to support an upload size that is about 7MB for each call. This limit approximately corresponds to 5,000 recipients with 27 personal data fields (upload time = 300s) or 50,000 recipients with only email field (upload time = 370s). In any case, we recommend to set a configurable upload size limit in your application and make a test with this size. When upload size exceeds this limit you can split the list of recipients in more blocks and perform more requests. When more import requests are pending, MailUp processes them in a sequential order.
Import recipients
Description | Create and execute a task that imports specified recipients. Import task ID is returned |
---|---|
HTTP Method | POST |
URL | Import recipients into a list https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Recipients
Import recipients into a group (a group always belongs to a single list) https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Group/{ID_GROUP}/Recipients |
JSON request (example) | |
JSON response (example) | 3 (import ID, a progressive number)
|
Paging and filtering (example) | none
|
Read Import Status
Description | Read status of an import task by specifying its ID. List ID is not required. |
---|---|
HTTP Method | GET |
URL | https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Import/{IMPORT_ID} |
JSON request (example) | none
|
JSON response (example) | {"Completed":true,"CreatedRecipients":1,"ImportedRecipients":0,"NotValidRecipients":0,"UpdatedRecipients":0,"ValidRecipients":1,"idImport":3} |
Paging and filtering (example) | none
|
Read personal data fields configuration
Any update of recipients' personal data fields requires the IDs of the fields to be updated. Resource /Console/Recipient/DynamicFields allows you to retrieve personal data fields settings for a specific MailUp account (number of fields, names and IDs).
Description | Retrieve recipient dynamic field definitions. |
---|---|
HTTP Method | GET |
URL | https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Recipient/DynamicFields |
JSON request (example) | none
|
JSON response (example) | |
Paging and filtering (example) | Use endpoint /Console/Recipient/DynamicFields?PageNumber=0&PageSize=30&orderby="Id+asc" to get with a single response the full list ordered by Id, otherwise paging (20 items/page) is applied
|
Retrieve all subscribed/unsubscribed/pending recipients from a list
For each MailUp list and for each channel, these are the available subscription conditions:
- subscribed
- unsubscribed
- pending
- not subscribed (has one of the statuses listed above at least in another list of that account)
"Unsubscribed" and "pending" conditions apply only to lists, not to groups.
Read subscribed recipients on Email channel
Description | Retreive subscribers of specified list |
---|---|
HTTP Method | GET |
URL | https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{ID_LIST}/Recipients/Subscribed |
JSON request (example) | none |
JSON response (example) | |
Paging and filtering (example) | 2 items per page, get first page (count starts from zero)
Retreive all the subscribers of a specified list whose Email contains 'example' filterby="Email.Contains('example')" and sort them by Email orderby="Email asc". Parameter names can be retreived from the response body. Please note that "Contains" is case sensitive.
|
Read unsubscribed recipients on Email channel
As for "subscribed", but in this case the endpoint is /Console/List/{ID_LIST}/Recipients/Unsubscribed.
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{ID_LIST}/Recipients/Unsubscribed
Read pending recipients on Email channel
As for "subscribed", but in this case the endpoint is /Console/List/{ID_LIST}/Recipients/Pending.
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{ID_LIST}/Recipients/Pending
Retrieve recipients that belong to a group
A recipient can belong to zero, one or more groups of a list, regardless its subscription status in that list.
Read group members
Description | Retreive only email subscribers that belong to specified group. Group members that are not subscribed on email channel are not returned |
---|---|
HTTP Method | GET |
URL | https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Group/{id_Group}/Recipients |
JSON request (example) | none |
JSON response (example) | |
Paging and filtering (example) | 2 items per page, get first page (count starts from zero)
Retreive all the subscribers of a specified list whose Email contains 'example' filterby="Email.Contains('example')" and sort them by Email orderby="Email asc". Parameter names can be retreived from the response body. Please note that "Contains" is case sensitive.
|