This page provides you with information about how to use MailUp REST API to create email text messages (SMS) and to send them to specified recipients.
...
...
On this page:
Subscribe on SMS channel
Add recipients
In the case of already existing recipients the following behaviour behavior applies on subscriptionto subscriptions:
- already subscribed remain subscribed
- pending or unsubscribed on SMS channel do does not change their subscription status
Description | Asynchronous import of one or more recipients on SMS channel |
---|
HTTP Method | POST |
---|
URL | Code Block |
---|
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/{id_List}/Recipients |
|
---|
Reference | Go to automated doc Expand |
---|
title | Click here to learn more about request parameters |
---|
| Request is composed of a list of comma separated objects, each one of them is composed of the following mandatory fields: Field Name | Type | Description |
---|
Fields | Array of objects [0..39]. Each object is composed of the following fields: - Description (String, optional)
- Id (Integer, from 1 to 39)
- Value (String)
| Each array object is a personal data field. If recipient is already existing, the "fields" values can be used to update recipient's personal data | Name | String | Not used but required, it can be empty (i.e. "Name":"") | MobileNumber | String | Number format is checked by an asynchronous process, hence in case of invalid number import fails but no error is returned | MobilePrefix | String | International prefix. Allowed formats are: - prefix with 00 (e.g. "0039")
- prefix with + (e.g. "+39")
- empty prefix (e.g. "", default list prefix is applied)
|
|
|
---|
JSON request (example) | Expand |
---|
Code Block |
---|
[{
"Fields":[{
"Description":"String content",
"Id":1,
"Value":"String content"
}],
"Name":"String content",
"MobileNumber":"10123456",
"MobilePrefix":"0039"
}]
|
|
|
---|
JSON response (example) | Returns import ID |
---|
Paging and filtering (example) | |
---|
Read recipients
...
Description
...
Specific methods are available for retrieving recipients that are, respectively, subscribed, pending or unsubscribed on SMS channel.
...
HTTP Method
...
GET
...
URL
...
Code Block |
---|
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Recipients/Subscribed
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Recipients/Pending
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Recipients/Unsubscribed |
...
Automated docs are available for Subscribed, Pending and Unsubscribed
...
JSON request (example)
...
JSON response (example)
...
The same data format is used in the responses related to "Subscribed", "Pending" and "Unsubscribed". Full recipient details are returned.
...
The import process can recognize existing recipients, using the mobile number as unique identifiers, and update them according to the given input details. It is possible to add some query string parameters to specify some advanced behavior for the import process:
- clearMissingOrEmptyFields: when set to "true", the import process clears on the MailUp field that is not specified or set as empty in the request body.
- removeFromPrevGroups: when set to "true", first the import process removes the given recipients from any group they have been part of, then it adds them only to the group specified along with this request. This query string parameter applies only to "Add to a MailUp group" cases.
Description | Asynchronous import of one or more recipients on SMS channel |
---|
HTTP Method | POST |
---|
URL |
Code Block |
---|
language | xml |
---|
title | Add to a MailUp list |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Recipients |
Code Block |
---|
language | xml |
---|
title | Add to a MailUp group |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/Group/{id_Group}/Recipients |
|
---|
Reference | Go to automated doc Expand |
---|
title | Click here to learn more about request parameters |
---|
| The request is composed of a list of comma-separated objects, each one of them is composed of the following mandatory fields: Field Name | Type | Description |
---|
Fields | Array of objects [0..39]. Each object is composed of the following fields: - Description (String, optional)
- Id (Integer, from 1 to 39)
- Value (String)
| Each array object is a personal data field. If the recipient is already existing, the "fields" values can be used to update the recipient's data | Name | String | Not used but required, it can be empty (i.e. "Name":"") | MobileNumber | String | The number format is checked by an asynchronous process, hence in case of invalid number import fails but no error is returned | MobilePrefix | String | International prefix. Allowed formats are: - prefix with 00 (e.g. "0039")
- prefix with + (e.g. "+39")
- empty prefix (e.g. "", default list prefix is applied)
|
|
|
---|
JSON request (example) |
Expand |
---|
Code Block |
---|
| [{
"Fields":[{
"Description":"String content",
"Id":1,
"Value":"String content"
}],
"Name":"String content",
"MobileNumber":"10123456",
"MobilePrefix":"0039"
}]
|
|
|
---|
JSON response (example) | Returns import ID
|
---|
Paging and filtering (example) |
|
---|
Read recipients
Description | Specific methods are available for retrieving recipients that are, respectively, subscribed, pending, or unsubscribed on the SMS channel. |
---|
HTTP Method | GET |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Recipients/Subscribed
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Recipients/Pending
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Recipients/Unsubscribed |
|
---|
Reference | Automated docs are available for Subscribed, Pending, and Unsubscribed
|
---|
JSON request (example) |
|
---|
JSON response (example) |
Expand |
---|
The same data format is used in the responses related to "Subscribed", "Pending" and "Unsubscribed". Full recipient details are returned. Code Block |
---|
| {
"IsPaginated" : false,
"Items" : [
{
"Fields" : [
{
"Description" : " |
|
|
---|
LatestOrderProductIDsLatestOrderAmount",
"Id" : |
|
|
1615,
"Value" : ""
},
{
"Description" : " |
|
|
LastName2JohnsonMary"
},
{
"Description" : " |
|
|
Address98,
"Value" : ""
},
{
"Description" : " |
|
|
LatestOrderCategoryIDsLatestOrderProductIDs",
"Id" : |
|
|
1716,
"Value" : ""
},
{
"Description" : " |
|
|
Company32,
"Value" : "Johnson"
},
{
"Description" : " |
|
|
Gender 109,
"Value" : ""
},
{
"Description" : " |
|
|
LatestShippedOrderDateLatestOrderCategoryIDs",
"Id" : |
|
|
1817,
"Value" : ""
},
{
"Description" : " |
|
|
City43,
"Value" : ""
},
{
"Description" : " |
|
|
phone1110,
"Value" : ""
},
{
"Description" : " |
|
|
LatestShippedOrderIDLatestShippedOrderDate",
"Id" : |
|
|
1918,
"Value" : ""
},
{
"Description" : " |
|
|
Province54,
"Value" : ""
},
{
"Description" : " |
|
|
CustomerID1211,
"Value" : ""
},
{
"Description" : " |
|
|
LatestAbandonedCartDateLatestShippedOrderID",
"Id" : |
|
|
2019,
"Value" : ""
},
{
"Description" : " |
|
|
ZIP65,
"Value" : ""
},
{
"Description" : " |
|
|
LatestOrderID1312,
"Value" : ""
},
{
"Description" : " |
|
|
StateLatestAbandonedCartDate",
"Id" : |
|
|
720,
"Value" : ""
},
{
"Description" : " |
|
|
LatestOrderDate146,
"Value" : ""
},
{
"Description" : " |
|
|
LatestAbandonedCartTotal2113,
"Value" : ""
},
{
"Description" : " |
|
|
LatestAbandonedCartID227,
"Value" : ""
},
{
"Description" : " |
|
|
TotalOrdered2314,
"Value" : ""
},
{
"Description" : " |
|
|
TotalOrderedLast12mLatestAbandonedCartTotal",
"Id" : |
|
|
2421,
"Value" : ""
},
{
"Description" : " |
|
|
TotalOrderedLast30dLatestAbandonedCartID",
"Id" : |
|
|
2522,
"Value" : ""
},
{
"Description" : " |
|
|
AllOrderedProductIDs26],"Name":null, idRecipient:15,Emailnull"MobileNumber": "323456789""MobilePrefix001}],PageNumber0"PageSize10,"Skipped":0"TotalElementsCount":1
}
Paging and filtering (example) | |
---|
Text messages
A text message is always created inside the environment of a MailUp list, so it cannot be managed outside of that list.
Create a message
Please note that, when creating a new email message, any referenced tag or attachment must be created in advance for that list.
Description | Create a new text message |
---|
HTTP Method | POST |
---|
URL | Code Block |
---|
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Message |
|
---|
Reference | Go to automated doc
Expand |
---|
title | Click here to learn more about request parameters |
---|
|
Field Name | Type | Description |
---|
Subject | String | Message title (for MailUp users only, it will not be visible to recipients) |
idList | Integer | List ID |
Content | String | Message content |
Fields | Array of objects [0..39]. Each object is composed of the following fields: - Description (String, optional)
- Id (Integer, from 1 to 39)
- Value (String)
| Each array object will be used to fill the correspondent dynamic field when its value has been left empty or blank. |
Notes | String | Message notes (for MailUp users only, it will not be visible to recipients) |
IsUnicode | Boolean | False if message contains only letters or symbols that belong to Western alphabet (GSM charset). True if at least one message character belongs to a non-western alphabet (Unicode) |
Sender | String | Message sender. It can be a phone number (e.g. +393351234567) or a string (up to 11 chars,
only letters and number). Please note that in some country, like Italy, some restrictions on SMS senders apply.
{
"Description" : "AllOrderedProductIDs",
"Id" : 26,
"Value" : ""
}
],
"Name" : null,
"idRecipient" : 15,
"Email" : null,
"MobileNumber" : "323456789",
"MobilePrefix" : "001"
}
],
"PageNumber" : 0,
"PageSize" : 10,
"Skipped" : 0,
"TotalElementsCount" : 1
} |
|
|
Paging and filtering (example) |
|
---|
Text messages
A text message is always created inside the environment of a MailUp list, so it cannot be managed outside of that list.
Create a message
Please note that, when creating a new text message, any referenced tag must be created in advance for that list.
Known limitations:
- In some countries, like Italy, some restrictions on SMS senders apply. Use MailUp admin console to verify if the specified sender is subject to limitations in some countries
...
If you leave this field empty a random numeric value will be applied.
...
JSON request (example)
...
Expand |
---|
In this case recipients with an empty field as "FirstName" will receive "Hello dear customer, your appointment is confirmed for today at 5PM, Main Building 1st floor" from "ABCandCO" Code Block |
---|
{
"Subject":"Appointment #1",
"idList":51,
"Content":"Hello [firstname], your appointment is confirmed for today at 5PM, Main Building 1st floor",
"Fields":[{
"Id":1,
"Value":"dear customer"
}],
"Notes":"Appointment is confirmed",
"IsUnicode":false,
"Sender":"ABCandCO"
}
|
|
...
JSON response (example)
...
Code Block |
---|
{
"Subject" : "Appointment #1",
"idList" : 1,
"idMessage" : 2
}
|
...
Paging and filtering (example)
...
List Messages
...
HTTP Method
...
GET
...
URL
...
Retrieve all email messages of that list
Code Block |
---|
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Emails |
Retrieve only email messages that have been published (i.e. with public visibility, see details)
Code Block |
---|
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Online/Emails |
Retrieve only email messages that have been archived (i.e. with public visibility, see details)
Code Block |
---|
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Archived/Emails |
*an empty list is returned if public visibility of messages (aka Web library) is disabled. You shall enable it to Retrieve them
...
JSON request (example)
...
none
...
JSON response (example)
...
All email messages of specified list
Expand |
---|
Code Block |
---|
{"IsPaginated":false,"Items":[{"Subject":"test","idList":2,"idMessage":29},{"Subject":"Explore the new feature of List Plus","idList":2,"idMessage":28},{"Subject":"Testing List Plus","idList":2,"idMessage":27},{"Subject":"Triggered news from MailUp Blog","idList":2,"idMessage":8}],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":4} |
|
List published messages (public URLs are also provided)
Expand |
---|
"LastSendDate":"0001-01-01 00:00:00Z" is returned when message has never been sent Code Block |
---|
{"IsPaginated":false,"Items":[{"Subject":"Monthly Newsletter 4","idList":2,"idMessage":62,"CreationDate":"2014-05-21 12:14:41Z","LastSendDate":"0001-01-01 00:00:00Z","Notes":"Issue n. 5","Url":"http:\/\/d0i4e.s57.it\/frontend\/nl_preview_window.aspx?idNL=62"}],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":1} |
|
List archived messages
Expand |
---|
Code Block |
---|
{"IsPaginated":false,"Items":[{"Subject":"Annual Newsletter n.13","idList":2,"idMessage":27,"CreationDate":"2014-05-22 09:37:56Z","LastSendDate":"","Notes":"Issue n. 10 June 2014","Url":"http:\/\/d0i4f.s57.it\/frontend\/nl_preview_window.aspx?idNL=27"},{"Subject":"Annual Newsletter n.4","idList":2,"idMessage":26,"CreationDate":"2014-05-22 08:55:15Z","LastSendDate":"","Notes":"Issue n. 6 June 2014","Url":"http:\/\/d0i4f.s57.it\/frontend\/nl_preview_window.aspx?idNL=26"}],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":2} |
|
...
Paging and filtering (example)
2 items per page, get first page (count starts from zero)
...
- MailUp REST API applies, on alphanumeric senders, looser format restrictions than the admin console. While the admin console allows only letters and numbers, API also allow spaces, punctuation, and other special characters. Please consider that letters and numbers are supported by any carrier, while other characters may be replaced in some cases. It is recommended that you perform some tests before using a sender with spaces, punctuation, or special characters
- In the case of an empty Sender, the default list settings are applied
Description | Create a new text message |
---|
HTTP Method | POST |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Message |
|
---|
Reference | Go to automated doc Expand |
---|
title | Click here to learn more about request parameters |
---|
|
Field Name | Type | Description |
---|
Subject | String | Message title (for MailUp users only, it will not be visible to recipients) | idList | Integer | List-ID | Content | String | Message content | Fields | Array of objects [0..39]. Each object is composed of the following fields: - Description (String, optional)
- Id (Integer, from 1 to 39)
- Value (String)
| Each array object will be used to fill the correspondent dynamic field when its value has been left empty or blank. | Notes | String | Message notes (for MailUp users only, it will not be visible to recipients) | Tags | Array of objects Each object is composed of the following fields: - Enabled (Boolean)
- Id (Integer, from 1 to 39)
- Value (String)
| An optional field is used to link existing tags to the text message. Tags can be used to classify messages, please check this page for more details about tags | IsUnicode | Boolean | False if the message contains only letters or symbols that belong to the Western alphabet (GSM charset). True if at least one message character belongs to a non-western alphabet (Unicode) | Sender | String | Message sender. It can be a phone number (e.g. +393351234567) or a string (up to 11 chars, only letters, and numbers). Please note that in some countries, like Italy, some restrictions on SMS senders apply. Use the MailUp admin console to verify if the specified sender is subject to limitations in some countries. If you leave this field empty will be applied the SMS sender defined for the current List. |
|
|
---|
JSON request (example) |
Expand |
---|
In this case recipients with an empty field as "FirstName" will receive "Hello dear customer, your appointment is confirmed for today at 5 PM, Main Building 1st floor" from "ABCandCO" Code Block |
---|
| {
"Subject":"Appointment #1",
"idList":2,
"Content":"Hello [firstname], your appointment is confirmed for today at 5PM, Main Building 1st floor",
"Fields":[{
"Id":1,
"Value":"dear customer"
}],
"Notes":"Appointment is confirmed",
"IsUnicode":false,
"Sender":"ABCandCO"
}
|
|
|
---|
JSON response (example) |
Code Block |
---|
| {
"Subject" : "Appointment #1",
"idList" : 1,
"idMessage" : 2
}
|
|
---|
Paging and filtering (example) |
|
---|
List Messages
Description | Retrieve text messages of a specified list |
---|
HTTP Method | GET |
---|
URL |
Code Block |
---|
| GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Messages |
|
---|
Reference | Go to automated doc |
---|
JSON request (example) | none |
---|
JSON response (example) | All the text messages of a specified list Expand |
---|
Code Block |
---|
| {
"IsPaginated" : false,
"Items" : [
{
"Subject" : "Appointment #1",
"idList" : 2,
"idMessage" : 2
},
{
"Subject" : "Happy Holidays",
"idList" : 2,
"idMessage" : 6
},
{
"Subject" : "Happy Birthday",
"idList" : 2,
"idMessage" : 5
}
],
"PageNumber" : 0,
"PageSize" : 10,
"Skipped" : 0,
"TotalElementsCount" : 3
} |
|
|
---|
Paging and filtering (example) | Use this filter to extract only the SMS messages of list 1 that contain the word "promo" in their subject. Strict filter matching with "==" instead of "Contains" is much more performing. Code Block |
---|
GET /Console/Sms/List/1/Messages?filterby="Subject.Contains('promo')" |
|
---|
Read message details
Description | Retrieve the text message details by specified message-id |
---|
HTTP Method | GET |
---|
URL | Retrieve the SMS details by specified id Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/ |
|
---|
2/Emails?PageNumber=0&PageSize=2Retrieve messages that contain the word "test" in the subject field and order by ID. Note: search by text is case sensitive
Read message details
Description | Retrieve the email details (content, settings, attachment) by specified id |
---|
HTTP Method | GET |
---|
URL | Retrieve the email details by specified id Code Block |
---|
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message} |
Get attachment list for the specified message id Code Block |
---|
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment |
|
---|
Reference | |
---|
JSON request (example) | none |
---|
JSON response (example) | Message content Expand |
---|
Code Block |
---|
{"Subject":"Monthly Newsletter","idList":2,"idMessage":24,"Content":"
<table><tbody><tr><td><strong>Image</strong> </td><td><strong>Text</strong> </td></tr><tr><td style="width: 200px; height: 70px;"> <img src="http://d0i4f.s57.it/images/2/ListImages/sociallogin.PNG" alt="This text is visible if you do not see images" title="SocialLogin" longdesc="Social Login Image" width="200" height="70"></td><td> This screenshot shows you how to perform login with social networks<br> (see <a href="http://[track]/https://help.mailup.com" target="_blank" id="User" s="" manual'="">manual</a>) </td></tr></tbody></table>
","Embed":false,"Fields":[{"Description":"FirstName","Id":1,"Value":""},{"Description":"LastName","Id":2,"Value":""},{"Description":"Company","Id":3,"Value":""},{"Description":"City","Id":4,"Value":""},{"Description":"Province","Id":5,"Value":""},{"Description":"ZIP","Id":6,"Value":""},{"Description":"State","Id":7,"Value":""},{"Description":"Region","Id":8,"Value":""},{"Description":"Address","Id":9,"Value":""},{"Description":"Gender ","Id":10,"Value":""},{"Description":"phone","Id":11,"Value":""},{"Description":"CustomerID","Id":12,"Value":""},{"Description":"LatestOrderID","Id":13,"Value":""},{"Description":"LatestOrderDate","Id":14,"Value":""},{"Description":"LatestOrderAmount","Id":15,"Value":""},{"Description":"LatestOrderProductIDs","Id":16,"Value":""},{"Description":"LatestOrderCategoryIDs","Id":17,"Value":""},{"Description":"LatestShippedOrderDate","Id":18,"Value":""},{"Description":"LatestShippedOrderID","Id":19,"Value":""},{"Description":"LatestAbandonedCartDate","Id":20,"Value":""},{"Description":"LatestAbandonedCartTotal","Id":21,"Value":""},{"Description":"LatestAbandonedCartID","Id":22,"Value":""},{"Description":"TotalOrdered","Id":23,"Value":""},{"Description":"TotalOrderedLast12m","Id":24,"Value":""},{"Description":"TotalOrderedLast30d","Id":25,"Value":""},{"Description":"AllOrderedProductIDs","Id":26,"Value":""},{"Description":"WantsBlogUpdate","Id":27,"Value":""}],"IsConfirmation":false,"Notes":"Issue n. 5 May 2014","Tags":[{"Enabled":false,"Id":5,"Name":"news"},{"Enabled":false,"Id":4,"Name":"users-manual"}],"TrackingInfo":{"CustomParams":"","Enabled":true,"Protocols":["http:","https:","ftp:","news:"]},"Attachments":[{"Name":"24\/jp.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/jp.txt","Slot":1}]} |
|
Message attachments Expand |
---|
Code Block |
---|
[{"Name":"24\/jp.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/jp.txt","Slot":1}] |
|
|
---|
Paging and filtering (example) | 2 items per page, get first page (count starts from zero)
https://services.{id_List}/Message/{id_Message} |
|
Reference | Go to automated doc |
---|
JSON request (example) | none |
---|
JSON response (example) |
Expand |
---|
Code Block |
---|
| {
"Subject" : "Appointment #1",
"idList" : 1,
"idMessage" : 2,
"Content" : "Hello [firstname], your appointment is confirmed for today at 5PM, Main Building 1st floor",
"Fields" : [
{
"Description" : "FirstName",
"Id" : 1,
"Value" : "dear customer"
},
{
"Description" : "LastName",
"Id" : 2,
"Value" : ""
},
{
"Description" : "Company",
"Id" : 3,
"Value" : ""
},
{
"Description" : "City",
"Id" : 4,
"Value" : ""
},
{
"Description" : "Province",
"Id" : 5,
"Value" : ""
},
{
"Description" : "ZIP",
"Id" : 6,
"Value" : ""
},
{
"Description" : "State",
"Id" : 7,
"Value" : ""
},
{
"Description" : "Region",
"Id" : 8,
"Value" : ""
},
{
"Description" : "Address",
"Id" : 9,
"Value" : ""
},
{
"Description" : "Gender ",
"Id" : 10,
"Value" : ""
},
{
"Description" : "phone",
"Id" : 11,
"Value" : ""
},
{
"Description" : "CustomerID",
"Id" : 12,
"Value" : ""
},
{
"Description" : "LatestOrderID",
"Id" : 13,
"Value" : ""
},
{
"Description" : "LatestOrderDate",
"Id" : 14,
"Value" : ""
},
{
"Description" : "LatestOrderAmount",
"Id" : 15,
"Value" : ""
},
{
"Description" : "LatestOrderProductIDs",
"Id" : 16,
"Value" : ""
},
{
"Description" : "LatestOrderCategoryIDs",
"Id" : 17,
"Value" : ""
},
{
"Description" : "LatestShippedOrderDate",
"Id" : 18,
"Value" : ""
},
{
"Description" : "LatestShippedOrderID",
"Id" : 19,
"Value" : ""
},
{
"Description" : "LatestAbandonedCartDate",
"Id" : 20,
"Value" : ""
},
{
"Description" : "LatestAbandonedCartTotal",
"Id" : 21,
"Value" : ""
},
{
"Description" : "LatestAbandonedCartID",
"Id" : 22,
"Value" : ""
},
{
"Description" : "TotalOrdered",
"Id" : 23,
"Value" : ""
},
{
"Description" : "TotalOrderedLast12m",
"Id" : 24,
"Value" : ""
},
{
"Description" : "TotalOrderedLast30d",
"Id" : 25,
"Value" : ""
},
{
"Description" : "AllOrderedProductIDs",
"Id" : 26,
"Value" : ""
}
],
"Notes" : "Appointment is confirmed",
"Tags" : [
],
"IsUnicode" : false,
"Sender" : "ABCandCO"
}
|
|
|
---|
Paging and filtering (example) |
|
---|
Update message
Description | Update a text message by specifying the message-id |
---|
HTTP Method | PUT |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{ID_LIST}/Message/{ID_MESSAGE} |
|
---|
Reference | Go to automated doc |
---|
JSON request (example) |
Expand |
---|
Code Block |
---|
| {
"Subject" : "Appointment #1",
"idList" : 1,
"idMessage" : 2,
"Content" : "Hello [firstname], your appointment is confirmed for today at 5PM, Main Building 1st floor",
} |
|
|
---|
JSON response (example) |
Expand |
---|
Code Block |
---|
| {
"Subject" : "Appointment #1",
"idList" : 1,
"idMessage" : 2,
} |
|
|
---|
Paging and filtering (example) |
|
---|
Delete Message
Description | Delete a text message by specifying its ID
|
---|
HTTP Method | DELETE |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/ |
|
---|
2/Emails?PageNumber=0&PageSize=2Retrieve messages that contain the word "test" in the subject field and order by ID. Note: search by text is case sensitive
Sending Queue Status
It is possible to retrieve the status of the sending queue for the outgoing messages by calling the following methods:
1) status of ongoing sendings: GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Sendings/Immediate
...
{ID_LIST}/Message/{ID_MESSAGE} |
|
Reference | Go to automated doc |
---|
JSON request (example) | none |
---|
JSON response (example) | none |
---|
Paging and filtering (example) |
|
---|
Send a text message
Note |
---|
|
Regardless of the sender, you set when creating a message, MailUp REST API always sends SMS using the sender that is specified at the list level. If you want to change the sender you must modify the list properties. Please note that in some countries the sender may be subject to local restrictions and it may be overwritten by the carriers before being delivered. You can contact us if you need support for some specific nations. |
Single Send
Description | Send a text message to a mobile number by specifying message ID. The recipient is automatically subscribed to the SMS channel of the list in which the message was created. |
---|
HTTP Method | POST |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/ |
|
---|
...
3) status of sending to be planned: GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Sendings/Undefined
Moreover, it is possible to retrieve the first available date to send a specific sending:
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Sending/{id_sending}/Deferred
where {id_sending} is the unique identifier of the sending to consider. The result is the date UTC date specified with the format described in the section 'Type and cast definition' of this page: "Paging and filtering".
Update message
This method allows you to modify an existing message (content and settings).
Please note that
- "Tags" field is mandatory, if you leave it empty the existing tags of that message are not modified. There is no way to clear all tags
- "Fields" parameter is optional
- "TrackingInfo > Protocols" field values are ignored if "TrackingInfo > Enabled" is set to false
Description | Modify an existing message |
---|
HTTP Method | PUT |
---|
URL | Code Block |
https:// |
Reference | Go to automated doc |
---|
JSON request (example) |
Expand |
---|
Code Block |
---|
| {
"Number":"3351234567",
"Prefix":"0039",
"idMessage":27
}
|
|
|
---|
JSON response (example) |
Expand |
---|
Code Block |
---|
| {"InvalidRecipients":[],"Sent":1,"UnprocessedRecipients":[],"idMessage":27} |
|
|
---|
Paging and filtering (example) |
|
---|
Send to group/list
Description | Immediate or scheduled mailing to a list or a group
|
---|
HTTP Method | POST |
---|
URL |
Code Block |
---|
| <!-- Immediate Send to all subscribers on SMS channel for specified list -->
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/ |
|
---|
EmailJSON request (example) | Request data format is the same as the response of "GET /Console/List/{id_List}/Email/Send
<!-- Immediate Send to all subscribers on SMS channel for specified group -->
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/Group/{id_Group}/Message/{id_Message} |
|
" Expand |
---|
Code Block |
---|
{"Subject":"Annual Newsletter n.9","idList":2,"Content":"<table><tbody><tr><td><strong>Image<\/strong> <\/td><td><strong>Text<\/strong> <\/td><\/tr><tr><td style=\"width: 200px; height: 70px;\"> <img src=\"http:\/\/d0i4f.s57.it\/images\/2\/ListImages\/sociallogin.PNG\" alt=\"This text is visible if you do not see images\" title=\"SocialLogin\" longdesc=\"Social Login Image\" width=\"200\" height=\"70\" ><\/td><td> This screenshot shows you how to perform login with social networks<br> (see <a href=\"http:\/\/[track]\/https:\/\/help.mailup.com\" target=\"_blank\" id=\"User\" s=\"\" manual'=\"\">manual<\/a>) <\/td><\/tr><\/tbody><\/table>","Embed":false,"IsConfirmation":false,"Notes":"Issue n. 9 June 2014","Tags":[],"TrackingInfo":{"CustomParams":"","Enabled":true,"Protocols":["http:","ftp:","news:"]}} |
|
JSON response (example) | Code Block |
---|
{"Subject":"Monthly Newsletter!","idList":2,"idMessage":24} |
|
---|
Paging and filtering (example) | none |
---|
Manage tags
Description | Read available tags for a specified list |
---|
HTTP Method | GET, POST, PUT, DELETE |
---|
URL | Retrieve list tags:
Code Block |
---|
/Send
<!-- Scheduled Send to all subscribers on SMS channel for specified list (UTC timezone is expected) -->
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/List/{id_List}/Message/{id_Message}/Send?datetime="2015-10-20 05:00:00Z"
<!-- Scheduled Send to all subscribers on SMS channel for specified group (UTC timezone is expected) -->
https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/Group/{id_Group}/Message/{id_Message}/Send?datetime="2015-10-20 05:00:00Z" |
|
Reference | Go to automated doc (all operations) |
---|
JSON request (example) | none |
---|
JSON response (example) |
Expand |
---|
"Sent" value refers to the number of recipients that will receive the message regardless of the type of sending (immediate or deferred) Code Block |
---|
| {"InvalidRecipients":[],"Sent":10,"UnprocessedRecipients":[],"idMessage":42} |
|
|
---|
Paging and filtering (example) |
|
---|
Manage Send Queue
Known limitations:
- scheduled date and time cannot be modified
- at the moment there is no way to move from immediate/scheduled queues to "waiting to be sent" queue
Description | Query the send queue
|
---|
HTTP Method | GET, POST |
---|
URL |
Code Block |
---|
| <!-- Retrieve the status of sms sending queues for immediate scheduled dispatches -->
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/ |
|
---|
List/{id_List}/TagsCreate a new tag:
Code Block |
POSTSms/Sendings/Immediate
<!-- Retrieve the status of sms sending queues for deferred scheduled dispatches -->
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/ |
|
List/{id_List}/TagModify a tag:
Code Block |
PUTSms/Sendings/Deferred
<!-- Retrieves the status of sms sending queues for dispatches to be scheduled -->
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/ |
|
List/{id_List}/Tag/{id_Tag}Remove a list tag:
Code Block |
DELETESms/Sendings/Undefined
<!-- Retrieves the earliest date and time to schedule the given sending task -->
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/ |
|
ListList}/Tag/{id_Tag}JSON request (example) | - No request body is required for GET and DELETE methods
- POST method requires a simple string as parameter (e.g. "my-new-tag"), not a JSON structure
- PUT method requires a full structure like {"Enabled":true,"Id":6,"Name":"my-new-tag"}
|
---|
JSON response (example) | GET method returns the retrieved tags list
Expand |
---|
Code Block |
---|
{"IsPaginated":false,"Items":[{"Enabled":true,"Id":5,"Name":"news"},{"Enabled":true,"Id":4,"Name":"users-manual"},{"Enabled":true,"Id":3,"Name":"$5 off promo"},{"Enabled":true,"Id":2,"Name":"preferred customer"},{"Enabled":true,"Id":1,"Name":"promotion"}],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":5} |
|
POST and PUT methods return the full structure of the created/updated tag, e.g. {"Enabled":true,"Id":6,"Name":"my-new-tag"}
An empty response is returned by DELETE method
Paging and filtering (example) | none |
---|
Manage email attachments
MailUp messages support a maximum of five attachments. Each attachment is placed in a specified "slot": adding and removing an attachment means adding to a message "slot" or removing from it.
Description | Read, add and remove message attachments |
---|
HTTP Method | GET, POST, DELETE |
---|
URL | Retrieve all the attachments of a specified message Code Block |
---|
GET https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment |
Add an attachment to message slot Code Block |
---|
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment/{Slot} |
Remove an attachment from a message slot Code Block |
---|
DELETE https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Attachment/{Slot} |
|
---|
JSON request (example) | Only POST method needs a request parameter. Attachment has to be Base64 encoded Expand |
---|
You can use a free tool like this to quickly get the Base64 version of an uploaded file (please note that some tools introduce special chars like CR or LF inside the Base64 string, remove them to avoid HTTP 400 errors) Code Block |
---|
{"Base64Data":"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", "Name":"10-years.png", "Slot":2, "idList":2, "idMessage":24} |
|
|
---|
JSON response (example) | GET method returns a list of the documents that are attached to specified message. An empty array ([], not JSON format) is returned if no document is attached. Expand |
---|
In this case the specified message (with ID=28) has five attachments Code Block |
---|
[{"Name":"28\/readme.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/readme.txt","Slot":1},{"Name":"28\/optin1.csv","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/optin1.csv","Slot":2},{"Name":"28\/product-logo.png","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/product-logo.png","Slot":3},{"Name":"28\/Feature User Guide 1 0.pdf","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/Feature User Guide 1 0.pdf","Slot":4},{"Name":"28\/max.jpg","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\28\\28\/max.jpg","Slot":5}] |
|
POST method returns the list of attachments after the command execution Expand |
---|
Code Block |
---|
[{"Name":"24\/jp.txt","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/jp.txt","Slot":1},{"Name":"24\/10-years.png","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/10-years.png","Slot":2}] |
|
DELETE method returns details about remaining attachments after deletion Expand |
---|
The same result is returned even if an empty slot is specified (of course in this case no deletion occurs) Code Block |
---|
[{"Name":"24\/10-years.png","Path":"http:\/\/d0i4f.s57.it\\d0i4f\\download\\24\\24\/10-years.png","Slot":2}] |
|
|
---|
Paging and filtering (example) | none |
---|
Send Email Messages
Email messages are usually sent with the sender name and the sender name that are specified as default settings for the MailUp list. As an alternative you can specify a different sender for a certain sending by specifying "SenderName" and "SenderAddress" (both, not only one of them) as querystring parameters.
Example: POST /Console/List/2/Email/30/Send?SenderName='John Smith'&SenderAddress='smith@example.com'
It is possible to specify an eventual date/time for a deferred sending, using the 'datetime' querystring parameter (UTC value), with the format described in the section 'Type and cast definition' of this page: "Paging and filtering"
Example: POST /Console/List/2/Email/30/Send?datetime='2014-10-20 05:00:00Z'
Note |
---|
Message sending fails with HTTP 500 error if no authorized sender email nor sender email are provided. Ensure that sender name and sender email have been configured at list level (starting from MailUp version 8.6.1 the sender address has also to be a verified address) |
Send to all subscribers
Description | Send a message to all list subscribers |
---|
HTTP Method | POST |
---|
URL | Use the default list sender Code Block |
---|
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send |
Use the sender that is provided by querystring parameters Code Block |
---|
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/List/{id_List}/Email/{id_Message}/Send?SenderName='{name}'&SenderAddress='{email}' |
|
---|
JSON request (example) | none |
---|
JSON response (example) | See notes at the bottom of this page1 Code Block |
---|
{"InvalidRecipients":[],"Sent":7,"UnprocessedRecipients":[],"idMessage":24} |
|
---|
Paging and filtering (example) | none |
---|
Send to a group
Use the default list sender or a sender that is provided by querystring parameters (see example above)
Description | Send a message to all subscribers of specified group |
---|
HTTP Method | POST |
---|
URL | Code Block |
---|
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Group/{id_Group}/Email/{id_Message}/Send |
|
---|
JSON request (example) | none |
---|
JSON response (example) | See notes at the bottom of this page1 Code Block |
---|
{"InvalidRecipients":[],"Sent":3,"UnprocessedRecipients":[],"idMessage":30} |
|
---|
Paging and filtering (example) | none |
---|
Send to a recipient
Use the default list sender or a sender that is provided by querystring parameters (see example above)
Description | Send message to a single recipient |
---|
HTTP Method | POST |
---|
URL | Code Block |
---|
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Email/Send |
|
---|
JSON request (example) | Code Block |
---|
{
"Email":"cheetah@jungle.net",
"idMessage":24
} |
|
---|
JSON response (example) | See notes at the bottom of this page1 Code Block |
---|
{"InvalidRecipients":[],"Sent":3,"UnprocessedRecipients":[],"idMessage":30} |
|
---|
Paging and filtering (example) | none |
---|
Retrieve sending history
An email message can be sent several times. This feature allows to retrieve details about each sending.
Description | Retrieve information about sent history |
---|
HTTP Method | GET |
---|
URL | Code Block |
GET Sending}/Deferred
<!-- Move from "waiting to be sent" to "immediate sending" queue (without starting send) -->
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/Sendings/{id_Sending}/Immediate
<!-- Move from "waiting to be sent" to "scheduled sending" queue (scheduled date and time is passed as POST parameter) -->
POST https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/Sendings/{id_Sending}/Deferred |
|
Reference | Go to automated doc (all operations) |
---|
JSON request (example) |
Expand |
---|
Request example for POST /Console/Sms/Sendings/{id_Sending}/Deferred
Code Block |
---|
| {
"Date":"2015-02-19 14:41:46Z"
} |
|
|
---|
JSON response (example) |
Expand |
---|
Code Block |
---|
language | xml |
---|
title | Immediate |
---|
| {"IsPaginated":false,"Items":[{"Id":74,"IdList":10,"IdMessage":41,"Notes":"","StartDate":"","State":"Running","Subject":"Welcome","Type":"Immediate"}],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":1} |
Code Block |
---|
| {"IsPaginated":false,"Items":[
{"Id":72,"IdList":10,"IdMessage":29,"Notes":"This is a test message","StartDate":"2015-02-12 17:00:00Z","State":"Queued","Subject":"Test #1","Type":"Deferred"},{"Id":73,"IdList":3,"IdMessage":19,"Notes":"","StartDate":"2015-03-02 15:00:00Z","State":"Queued","Subject":"Customer credentials","Type":"Deferred"}
],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":2} |
Code Block |
---|
| {"IsPaginated":false,"Items":[
{"Id":36,"IdList":8,"IdMessage":12,"Notes":"msg to be sent after 3 warnings", "StartDate":null,"State":"ToBePlanned","Subject":"Final notice", "Type":"Undefined"},
{"Id":44,"IdList":3,"IdMessage":4,"Notes":"","StartDate":null,"State":"ToBePlanned","Subject":"Valentine's day","Type":"Undefined"},{"Id":46,"IdList":2,"IdMessage":14,"Notes":"","StartDate":null,"State":"ToBePlanned","Subject":"Welcome","Type":"Undefined"},{"Id":52,"IdList":2,"IdMessage":18,"Notes":"","StartDate":null,"State":"ToBePlanned","Subject":"Happy birthday","Type":"Undefined"},{"Id":48,"IdList":2,"IdMessage":15,"Notes":"","StartDate":null,"State":"ToBePlanned","Subject":"Season greetings","Type":"Undefined"},{"Id":71,"IdList":10,"IdMessage":30,"Notes":"","StartDate":null,"State":"ToBePlanned","Subject":"Password reminder","Type":"Undefined"}
],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":6} |
Code Block |
---|
title | Earliest date and time |
---|
| "2015-02-09 14:41:46Z" |
Code Block |
---|
title | Moved from waiting to immedate |
---|
| {"Id":74,"IdList":10,"IdMessage":41,"Notes":"","StartDate":"","State":"Running","Subject":"Welcome","Type":"Immediate"} |
Code Block |
---|
title | Moved from waining to deferred |
---|
| {"Id":74,"IdList":10,"IdMessage":41,"Notes":"","StartDate":"2015-02-19 14:41:46Z","State":"Queued","Subject":"Welcome","Type":"Deferred"} |
|
|
---|
Paging and filtering (example) |
|
---|
SMS Statistics
Summary report
Description | Retrieve the SMS message sending report by specifying SMS ID. |
---|
HTTP Method | GET |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/{id_Message}/Sendings/Report |
|
---|
Reference | Go to automated doc |
---|
JSON request (example) | none |
---|
JSON response (example) |
Expand |
---|
StartDate = timestamp for mailing start EndDate = timestamp for mailing start Duration = mailing duration (from start to end dates) IsCompleted = true if mailing is finished TotalCost = number of spent credits TotalMessagesSent = number of messages that compose the mailing (a concatenated message is treated as a single message) TotalSmsSent = number of billed messages (a concatenated message is billed as a multiple message)
Code Block |
---|
| {
"Duration" : "00:00:06.4270000",
"EndDate" : "2014-11-27 10:35:49Z",
"IsCompleted" : true,
"StartDate" : "2014-11-27 10:35:43Z",
"TotalCost" : 2,
"TotalMessagesSent" : 1,
"TotalSmsSent" : 2
} |
|
|
---|
Paging and filtering (example) |
|
---|
Detailed report
Description | Retrieve the SMS message sending report details by specifying SMS ID. |
---|
HTTP Method | GET |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/Sms/{ID_MESSAGE}/Sendings/ReportDetails |
|
---|
Reference | Go to automated doc |
---|
JSON request (example) | none |
---|
JSON response (example) |
Expand |
---|
ErrorCode = operation result (FAILED, UNKNOWN, NACK, UNDELIV, REJECTD, EXPIRED) + specific error code Receiver = recipient's phone number, international prefix is specified uning neither '+' nor '00' SentDate = sent date and time (UTC time zone) Status = 0 (delivered), 1 (queued), 2 (error)
Code Block |
---|
{"IsPaginated":false,"Items":[
{"ErrorCode":"FAILED_AT_004","Receiver":"391111111111","SentDate":"2015-01-29 14:11:10Z","Status":2},
{"ErrorCode":"FAILED_AT_004","Receiver":"392222222222","SentDate":"2015-01-29 14:11:10Z","Status":2},
{"ErrorCode":"FAILED_AT_004","Receiver":"393333333333","SentDate":"2015-01-29 14:11:10Z","Status":2},
{"ErrorCode":"FAILED_AT_004","Receiver":"394444444444","SentDate":"2015-01-29 14:11:10Z","Status":2},
{"ErrorCode":"FAILED_AT_004","Receiver":"395555555555","SentDate":"2015-01-29 14:11:10Z","Status":2},
{"ErrorCode":"","Receiver":"396666666666","SentDate":"2015-01-29 14:11:10Z","Status":0},
{"ErrorCode":"","Receiver":"397777777777","SentDate":"2015-01-29 14:11:10Z","Status":0},
{"ErrorCode":"FAILED_AT_004","Receiver":"398888888888","SentDate":"2015-01-29 14:11:10Z","Status":2},
{"ErrorCode":"","Receiver":"399999999999","SentDate":"2015-01-29 14:11:10Z","Status":0}
],"PageNumber":0,"PageSize":0,"Skipped":0,"TotalElementsCount":0} |
|
|
---|
Paging and filtering (example) | Use this filter to extract the result of the latest message with ID=24 that was sent to number +3933512345678 GET /Console/Sms/24/Sendings/ReportDetails?filterby="Receiver=='3933512345678'"&orderby="SentDate+desc"&pageSize=1&pageNumber=0 If you used the sending method of the Transactional API for SMS you can also filter by the DeliveryId that was returned by that method. GET /Console/Sms/24/Sendings/ReportDetails?DeliveryId=1648 In this case, paging and further filtering is not required since no more than one result can be returned |
---|
SMS Credits
Summary report
Description | Retrieve several account details, including the number of available credits |
---|
HTTP Method | GET |
---|
URL |
Code Block |
---|
| https://services.mailup.com/API/v1.1/Rest/ConsoleService.svc/Console/ |
|
---|
List/{id_List}/Email/{id_Message}/SendHistoryJSON request (example) | none |
---|
JSON response (example) | Expand |
---|
An email message has been sent three times with different senders, here below the results Code Block |
---|
{"IsPaginated":false,"Items":[{"EndDate":"2014-04-01 13:53:06Z","Kb_transferred":6302,"Recipients":1,"SenderEmail":"marketing@example.com","SenderName":"Your Dealer","StartDate":"2014-04-01 13:52:35Z","idMessage":12},{"EndDate":"2014-04-01 13:54:32Z","Kb_transferred":12604,"Recipients":2,"SenderEmail":"brown@example.com","SenderName":"Mike Brown","StartDate":"2014-04-01 13:53:57Z","idMessage":12},{"EndDate":"2014-04-06 13:48:33Z","Kb_transferred":12604,"Recipients":2,"SenderEmail":"sales@example.com","SenderName":"Sales","StartDate":"2014-04-06 13:48:04Z","idMessage":12}],"PageNumber":0,"PageSize":20,"Skipped":0,"TotalElementsCount":3} |
|
|
---|
Paging and filtering (example) | N/A |
---|
...
|
Reference | Go to automated doc |
---|
JSON request (example) | none |
---|
JSON response (example) |
Expand |
---|
Company = String, Customer name IsTrial = Boolean, true in case of trial account UID = String, user ID Username = String, user name Version = String, MailUp account version Email = String, address used to activate the MailUp account TotalCredits = Float, number of available credits CreditsByList = Array of objects, number of available credits for each list (if credit's splitting by list is enabled) Plan = Int, ID of purchased plan ExpiryDate = Date Autorenewal = Int, 1 if renewal is automatic, otherwise false Lang = String, language
Code Block |
---|
| {
"Company":"String content",
"IsTrial":true,
"UID":"String content",
"Username":"String content",
"Version":"String content"
"Email":"String content"
"TotalCredits":400.50
"CreditsByList":[{"ListId":1,"Credit":10.3},{"ListId":2,"Credit":4.0}]
"Plan":1
"ExpiryDate":2025-02-20 00:00:00.000
"AutoRenewal":1
"Lang":"String content"
} |
|
|
---|
Paging and filtering (example) |
|
---|