Перейти к содержимому

API

The API allows you to automate activities related to collecting data in ExpertSender, including your customers’ purchasing behavior and orders.

What events can be handled by ExpertSender API?

With the help of ExpertSender API, you can automate:

  • Adding new customers to your database in the platform.
  • Modifying customer data that is already in your database in ExpertSender.
  • Registration of orders placed by customers.
  • Adding custom events in scenarios.

API server address

The address structure is the same for all endpoints: https://api.ecdp.app/xxx
where xxx is the name of a specific endpoint, e.g., orders, customers, scenariocustomevents.
You will find the exact addresses in the descriptions of each API method we use.

API key – authentication

The API key is used to authenticate calls and requests from external applications, through which you obtain additional data about the behavior of your customers. Then, you can send these to ExpertSender.

Each business unit created in ExpertSender has its own API key.

You will find it here: Settings > API. Just copy it to your clipboard and make it available in the application or client through which you send API requests.

If you support several business units within one organization, each business unit will be assigned its own unique API key.

How to use ExpertSender API?

You can use our API through dedicated applications (clients). Which application is the best? The one you already use.

All you need to do is add the API key of your business unit and send a query for the data you are interested in, i.e., the so-called API request. You must provide your API key in every request you send to ExpertSender API.

An API request is part of an API call, which also involves processing the request by the receiving server, e.g., the ExpertSender platform, and sending back the results in the form of the data set you are looking for.

API call

For your data query to be effective, the API request must have an appropriate address (endpoint), syntax, i.e., format, and must be implemented using the so-called methods.

Each method has a different syntax. Below you will find a list of methods with links to addresses and descriptions containing the above-mentioned syntaxes.

API methods

For each resource, we use the following methods:

  1. Customers:
    • POST – adding information about a new customer.
    • GET {id} – getting information about the client by the ID number assigned to him/her.
    • GET {email} – getting information about the customer by the email address assigned to him/her.
    • GET {phone} – getting information about the customer by the telephone number assigned to him/her.
    • GET {crmId} – getting information about the customer by the CRM ID number assigned to him/her.
  2. Orders:
    • POST – adding information about, e.g., a new order.
    • GET  – getting information about the order by order number.
    • PUT –  updating order status.
    • DELETE – changing the order status to Deleted (IsDeleted).
  3. Custom events in scenarios:
    • POST – adding information about a customer or order obtained through a non-standard event, e.g., purchase in a brick-and-mortar store using a loyalty card.
  4. Getting a list of customer attributes.
  5. Getting a consent list.
  6. Getting a list of order attributes.
  7. Getting a list of product attributes.

API response codes

When sending an API request using any method, you will receive a server response with a code number. The most common responses to an API request are:

CodeMessageDescription
200SuccessThe query was processed, the server returned a response.
201CreatedThe request has been created.
400Bad requestThe request was not processed. The reason is usually a missing or incorrect parameter, such as email, phone, etc.
401UnauthorizedThe request was missing an API key or you are requesting access to information that you do not have permission to access.
403ForbiddenThe query is correct, but you are asking for data which you are not permitted to access.
404Not foundThe data you are looking for is not on the server.
500Internal server errorUnexpected server error. No action is necessary – we’ll take care of it.

The response codes may be different for individual methods, so we include a set of codes appropriate for each method.