Download OpenAPI specification:Download
This document will provide instructions on how to quickly how to quickly work with contacts, profiles and results by using HTTP application programming interface (HTTP API).
API is based on REST standards, enabling you to use your browser for accessing URLs. In order to interact with our API, any HTTP client in any programming language can be used.
The ICOMMKT API’s service requires an individual key for your instance (API Key). It can be obtained inside your ICOMMKT instance in the Settings section -> My Account.
ICOMMKT’s API uses the basic authentication method over HTTPS to validate the authenticity of the received requests. When requisitions are made to the API, it should be provided as the user’s name, the API KEY obtained, leaving the password field blank (or using a random value) given that it’s not used by the authentication method of the API.
List Profile Contacts
Filters | object |
ProfileKey | string key of the profile that’s expected to store the contacts. This key is obtained from the platform in the profile’s grid (My Contacts). |
{- "Filters": { },
- "ProfileKey": "string"
}
{- "SaveContactJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "Email": "string",
- "Status": "A"
}, - "StatusCode": "string"
}
}
List Full Profile Contacts
Filters | object |
ProfileKey | string key of the profile that’s expected to store the contacts. This key is obtained from the platform in the profile’s grid (My Contacts). |
{- "Filters": { },
- "ProfileKey": "string"
}
{- "ListContactsFullJsonResult": [
- {
- "Email": "string",
- "Status": "A",
- "CustomFields": [
- {
- "Key": "string",
- "Value": "string"
}
]
}
]
}
Add/Update a Contact.
ProfileKey | string key of the profile that’s expected to store the contacts. This key is obtained from the platform in the profile’s grid (My Contacts). |
object |
{- "ProfileKey": "string",
- "Contact": {
- "Email": "string",
- "CustomFields": [
- {
- "Key": "string",
- "Value": "string"
}
]
}
}
{- "SaveContactJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "Email": "string",
- "Status": "A"
}, - "StatusCode": "string"
}
}
Add/Update Multiple Contacts.
ProfileKey | string key of the profile that’s expected to store the contacts. This key is obtained from the platform in the profile’s grid (My Contacts). |
Array of objects |
{- "ProfileKey": "string",
- "ContactList": [
- {
- "Email": "string",
- "CustomFields": [
- {
- "Key": "string",
- "Value": "string"
}
]
}
]
}
{- "SaveMultiContactJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Responses": [
- {
- "Email": "string",
- "Status": "A",
- "Message": "string",
- "MessageDetail": "string",
- "StatusCode": "string"
}
], - "StatusCode": "string"
}
}
Delete Contact from a Profile
ProfileKey | string key of the profile that’s expected to store the contacts. This key is obtained from the platform in the profile’s grid (My Contacts). |
object |
{- "ProfileKey": "string",
- "Contact": {
- "Email": "string"
}
}
{- "RemoveContactJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "Email": "string",
- "Status": "string"
}, - "StatusCode": "string"
}
}
Unsubscribe Contact
object |
{- "Email": {
- "Email": "string"
}
}
{- "UnsubscribeContactJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "Email": "string",
- "Status": "string"
}, - "StatusCode": "string"
}
}
Activate Contact
object |
{- "Email": {
- "Email": "string"
}
}
{- "ActivateContactJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "Email": "string",
- "Status": "string"
}, - "StatusCode": "string"
}
}
curl --location --request GET 'https://api.icommarketing.com/Customers/Users/' \ --header 'Authorization: ApiKey'
{- "ListUsersResult": [
- {
- "LastName": "string",
- "Name": "string",
- "Role": "string",
- "UserKey": "string",
- "UserName": "string"
}
]
}
List Profiles
object |
{- "Filters": {
- "Name": "string"
}
}
{- "ListProfilesJsonResult": [
- {
- "Name": "string",
- "Description": "string",
- "ProfileKey": "string",
- "ProfileType": "V"
}
]
}
Create a Profile
object |
{- "Profile": {
- "UserKey": "string",
- "Name": "string",
- "Description": "string",
- "Fields": [
- {
- "Name": "string",
- "Type": 1
}
]
}
}
{- "SaveProfileJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "ProfileKey": "string"
}, - "StatusCode": "string"
}
}
List Profile Fields
object |
{- "ProfileKey": {
- "ProfileKey": "string"
}
}
{- "ListProfileFieldsJsonResult": [
- {
- "Name": "string"
}
]
}
Add Profile Fields
ProfileKey required | string |
required | Array of objects (Field) |
{- "ProfileKey": "string",
- "Fields": [
- {
- "Name": "string",
- "Type": 1
}
]
}
{- "AddProfileFieldsJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "ProfileKey": "string",
- "Description": "string",
- "IsMobileOnly": "string",
- "Name": "string",
- "ProfileType": "string",
- "UserKey": "string"
}, - "StatusCode": "string"
}
}
Remove Profile Fields
ProfileKey required | string |
required | Array of objects (RemoveField) |
{- "ProfileKey": "string",
- "Fields": [
- {
- "Name": "string"
}
]
}
{- "RemoveProfileFieldsJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "ProfileKey": "string",
- "Description": "string",
- "IsMobileOnly": "string",
- "Name": "string",
- "ProfileType": "string",
- "UserKey": "string"
}, - "StatusCode": "string"
}
}
List Campaign Results. To obtain a UserKey, it’s necessary to previously use the “ListUsers” method of the “Customers” section.
UserKey required | string key of the user of which we want to obtain deliveries. To obtain a UserKey, it’s necessary to previously use the “ListUsers” method of the “Clients” section. |
dateFrom | string Start Date – search range (YYYYMMDD). |
dateTo | string End Date – search range (YYYYMMDD). |
curl --location -g --request GET 'https://api.icommarketing.com/Deliveries/Results/{{userKey}}' \ --header 'Authorization: apiKey' \
{- "ListResultsResult": [
- {
- "Adqs": 0,
- "Bounced": 0,
- "CampaignKey": "[CampaignKey]",
- "CampaignName": "Campaign Name",
- "Clicks": 0,
- "DeliveryKey": "[DeliveryKey]",
- "DeliveryName": "DeliveryName",
- "Effective": 110528,
- "FromEmail": "from@email.com",
- "FromName": "From Name",
- "Leads": 0,
- "NewsletterKey": "[NewsletterKey]",
- "NewsletterName": "Newsletter Name",
- "Removed": 0,
- "ReplyToEmail": "reply-to@email.com",
- "Sent": 110528,
- "StartDate": "20191217 12:50:00",
- "Subject": "*Test Subject",
- "UniqueBounced": 0,
- "UniqueClicks": 0,
- "UniqueEffective": 110528,
- "UniqueSent": 110528,
- "UniqueViews": 0,
- "UserKey": "[UserKey]",
- "UserName": "UserName",
- "Views": 0
}
]
}
List an Specific Campaign Results. To obtain a UserKey, it’s necessary to previously use the “ListUsers” method of the “Customers” section.
UserKey required | string key of the user of which we want to obtain deliveries. To obtain a UserKey, it’s necessary to previously use the “ListUsers” method of the “Clients” section. |
CampaignKey required | string Key of the Campaign related to the Delivery/ies. |
DeliveryKey required | string Key of a specific Delivery Configuration. |
dateFrom | string Start Date – search range (YYYYMMDD). |
dateTo | string End Date – search range (YYYYMMDD). |
curl --location -g --request GET 'https://api.icommarketing.com/Deliveries/Results/{{userKey}}/{{campaignKey}}/{{deliveryKey}}' \ --header 'Authorization: apiKey' \
{- "ListResultsResult": [
- {
- "Adqs": 0,
- "Bounced": 0,
- "CampaignKey": "[CampaignKey]",
- "CampaignName": "Campaign Name",
- "Clicks": 0,
- "DeliveryKey": "[DeliveryKey]",
- "DeliveryName": "DeliveryName",
- "Effective": 110528,
- "FromEmail": "from@email.com",
- "FromName": "From Name",
- "Leads": 0,
- "NewsletterKey": "[NewsletterKey]",
- "NewsletterName": "Newsletter Name",
- "Removed": 0,
- "ReplyToEmail": "reply-to@email.com",
- "Sent": 110528,
- "StartDate": "20191217 12:50:00",
- "Subject": "*Test Subject",
- "UniqueBounced": 0,
- "UniqueClicks": 0,
- "UniqueEffective": 110528,
- "UniqueSent": 110528,
- "UniqueViews": 0,
- "UserKey": "[UserKey]",
- "UserName": "UserName",
- "Views": 0
}
]
}
This method is used to validate and email and determine if the account exists and its score as a marketing recipient.
object |
{- "Email": {
- "Email": "string"
}
}
{- "VerifyEmailJsonResult": {
- "Message": "string",
- "MessageDetail": "string",
- "Data": {
- "response": {
- "result": "string",
- "reason": "string",
- "free": "string",
- "disposable": "string",
- "accept_all": "string",
- "did_you_mean": "string",
- "sendex": "string",
- "email": "string",
- "user": "string",
- "domain": "string",
- "success": "string",
- "message": "string"
}
}, - "StatusCode": "string"
}
}