ICOMM MAIN API (0.1)

Download OpenAPI specification:Download

Introduction

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.

Input and Output

The inputs and outputs are currently supported by the JSON format.

Authentication

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.

Contacts

This endpoint is solely responsible for Contacts related data management.

List Contacts

List Profile Contacts

Authorizations:
ApiKey
Request Body schema: application/json
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).

Responses

Request samples

Content type
application/json
{
  • "Filters": { },
  • "ProfileKey": "string"
}

Response samples

Content type
application/json
{
  • "SaveContactJsonResult": {
    }
}

List Full Contacts

List Full Profile Contacts

Authorizations:
ApiKey
Request Body schema: application/json
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).

Responses

Request samples

Content type
application/json
{
  • "Filters": { },
  • "ProfileKey": "string"
}

Response samples

Content type
application/json
{
  • "ListContactsFullJsonResult": [
    ]
}

Add/Update a Contact.

Add/Update a Contact.

Authorizations:
ApiKey
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "ProfileKey": "string",
  • "Contact": {
    }
}

Response samples

Content type
application/json
{
  • "SaveContactJsonResult": {
    }
}

Add/Update Multiple Contacts.

Add/Update Multiple Contacts.

Authorizations:
ApiKey
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "ProfileKey": "string",
  • "ContactList": [
    ]
}

Response samples

Content type
application/json
{
  • "SaveMultiContactJsonResult": {
    }
}

Delete Contact from a Profile

Delete Contact from a Profile

Authorizations:
ApiKey
Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "ProfileKey": "string",
  • "Contact": {
    }
}

Response samples

Content type
application/json
{
  • "RemoveContactJsonResult": {
    }
}

Unsubscribe Contact

Unsubscribe Contact

Authorizations:
ApiKey
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "Email": {
    }
}

Response samples

Content type
application/json
{
  • "UnsubscribeContactJsonResult": {
    }
}

Activate Contact

Activate Contact

Authorizations:
ApiKey
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "Email": {
    }
}

Response samples

Content type
application/json
{
  • "ActivateContactJsonResult": {
    }
}

Customers

This endpoint is solely responsible for Customers related data management.

List Users

Authorizations:
ApiKey

Responses

Request samples

curl --location --request GET 'https://api.icommarketing.com/Customers/Users/' \
--header 'Authorization: ApiKey'

Response samples

Content type
application/json
{
  • "ListUsersResult": [
    ]
}

Profiles

This endpoint is solely responsible for Profiles related data management.

List Profiles

List Profiles

Authorizations:
ApiKey
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "Filters": {
    }
}

Response samples

Content type
application/json
{
  • "ListProfilesJsonResult": [
    ]
}

Create a Profile

Create a Profile

Authorizations:
ApiKey
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "Profile": {
    }
}

Response samples

Content type
application/json
{
  • "SaveProfileJsonResult": {
    }
}

List Profile Fields

List Profile Fields

Authorizations:
ApiKey
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "ProfileKey": {
    }
}

Response samples

Content type
application/json
{
  • "ListProfileFieldsJsonResult": [
    ]
}

Add Profile Fields

Add Profile Fields

Authorizations:
ApiKey
Request Body schema: application/json
ProfileKey
required
string
required
Array of objects (Field)

Responses

Request samples

Content type
application/json
{
  • "ProfileKey": "string",
  • "Fields": [
    ]
}

Response samples

Content type
application/json
{
  • "AddProfileFieldsJsonResult": {
    }
}

Remove Profile Fields

Remove Profile Fields

Authorizations:
ApiKey
Request Body schema: application/json
ProfileKey
required
string
required
Array of objects (RemoveField)

Responses

Request samples

Content type
application/json
{
  • "ProfileKey": "string",
  • "Fields": [
    ]
}

Response samples

Content type
application/json
{
  • "RemoveProfileFieldsJsonResult": {
    }
}

Results

This endpoint is solely responsible for Surveys related data management.

List Campaign Results

List Campaign Results. To obtain a UserKey, it’s necessary to previously use the “ListUsers” method of the “Customers” section.

Authorizations:
ApiKey
path Parameters
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.

query Parameters
dateFrom
string

Start Date – search range (YYYYMMDD).

dateTo
string

End Date – search range (YYYYMMDD).

Responses

Request samples

curl --location -g --request GET 'https://api.icommarketing.com/Deliveries/Results/{{userKey}}' \
--header 'Authorization: apiKey' \

Response samples

Content type
application/json
{
  • "ListResultsResult": [
    ]
}

List Specific Campaign Results

List an Specific Campaign Results. To obtain a UserKey, it’s necessary to previously use the “ListUsers” method of the “Customers” section.

Authorizations:
ApiKey
path Parameters
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.

query Parameters
dateFrom
string

Start Date – search range (YYYYMMDD).

dateTo
string

End Date – search range (YYYYMMDD).

Responses

Request samples

curl --location -g --request GET 'https://api.icommarketing.com/Deliveries/Results/{{userKey}}/{{campaignKey}}/{{deliveryKey}}' \
--header 'Authorization: apiKey' \

Response samples

Content type
application/json
{
  • "ListResultsResult": [
    ]
}

Email Scoring

This endpoint is solely responsible for Email Scoring related data management.

Verify Email

This method is used to validate and email and determine if the account exists and its score as a marketing recipient.

Authorizations:
ApiKey
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "Email": {
    }
}

Response samples

Content type
application/json
{
  • "VerifyEmailJsonResult": {
    }
}