Skip to content

Список всех сообщений, отправленных клиенту

Метод возвращает список сообщений, отправленных клиенту в указанный период и статусы взаимодействия с каждым из них (просмотр, клик, жалоба, отписка и пр.).

GET https://api.rees46.ru/notifications

Параметры

ПараметрТип данныхОбязателен?Описание
shop_idStringДаAPI-ключ
shop_secretStringДаСекретный API-ключ
phone*StringДаТелефон клиента
email*StringДаEmail клиента
loyalty_id*StringДаИдентификатор участника программы лояльности
external_id*StringДаВнешний идентификатор клиента
date_fromStringНетDEPRECATED. Дата в формате YYYY-MM-DD. Если указана, то выбираются сообщения, начиная с этой даты до текущего времени. Указывайте интервал не более 2 недель, иначе запрос будет выполняться очень долго
typeStringНетСписок типов рассылок через запятую, по которым нужно получить сообщения: bulk, trigger, transactional, chain. Типы chain и trigger идентичны. Обязательно указывайте только нужные вам типы рассылок: чем больше типов выбрано, тем дольше будет выполняться запрос
channelStringНетСписок каналов через запятую: email, sms, web_push, mobile_push, telegram, whatsapp, max, wallet. Обязательно указывайте только нужные вам каналы рассылок: чем больше каналов выбрано, тем дольше будет выполняться запрос
pageIntegerНетНомер страницы для пагинации. По умолчанию: 1. Минимум: 1.
limitIntegerНетКоличество строк в ответе на страницу. По умолчанию: 20. Минимум: 1. Максимум: 50.

Идентификаторы

Параметры, отмеченные [*] — обязателен хотя бы один из них.

Внимание

Не используйте очень старый параметр date_from, т.к. он значительно увеличивает нагрузку на базу данных и запрос может выполняться очень долго.

Запрос

Пример запроса:

shell
curl 'https://api.rees46.ru/notifications?shop_id=...&shop_secret=...&email=...&channel=email&type=bulk'
javascript
// Не поддерживается в целях безопасности
swift
sdk.getAllNotifications(
  type: String,
  phone: String?,
  email: String?,
  userExternalId: String?,
  userLoyaltyId: String?,
  channel: String?,
  limit: Int?,
  page: Int?,
  dateFrom: String?
) {
  Result<UserPayloadResponse, SDKError> in // Result response
}
kotlin
// Пока не реализовано
javascript
// Пока не реализовано

Ответ

Пример ответа сервера:

json
{
  "status": "success",
  "payload": {
    "messages": [
      {
        "type": "trigger",
        "campaign_id": ...,
        "code": "...",
        "date": "2023-07-06",
        "sent_at": "2023-07-06T14:25:21.000Z",
        "subject": "...",
        "body": "...",
        "url": "...",
        "icon": "...",
        "picture": "...",
        "statistics": {
          "opened": true,
          "clicked": false,
          "hard_bounced": false,
          "soft_bounced": false,
          "complained": false,
          "unsubscribed": false,
          "purchased": false
        }
      }, ...
    ]
  }
}

Расшифровка свойств ответа:

СвойствоТипОписание
statusStringТекстовый статус результата обработки запроса
payloadObjectОбъект с ответом
payload.messages[]ArrayМассив отправленных сообщений
payload.messages[].typeStringТип рассылки
payload.messages[].campaign_idIntegerИдентификатор рассылки
payload.messages[].codeStringУникальный код сообщения
payload.messages[].dateStringДата отправки в формате YYYY-MM-DD
payload.messages[].sent_atStringДата и время отправки в формате YYYY-MM-DDTHH:mm:ss.SSSZ
payload.messages[].subjectStringТема сообщения (для email и некоторых видов push рассылок)
payload.messages[].bodyStringТело сообщения (для коротких рассылок типа push или sms)
payload.messages[].urlStringСсылка на целевую страницу для каналов типа push или wallet
payload.messages[].iconStringСсылка на иконку для push рассылок
payload.messages[].pictureStringСсылка на дополнительную картинку для push рассылок
payload.messages[].statisticsObjectОбъект с результатами взаимодействия клиента с сообщением
payload.messages[].statistics.openedBooleanСообщение было открыто?
payload.messages[].statistics.clickedBooleanБыл ли переход из сообщения по ссылке?
payload.messages[].statistics.hard_bouncedBooleanБыл ли hard bounce при отправке сообщения
payload.messages[].statistics.soft_bouncedBooleanБыл ли soft bounce при отправке сообщения
payload.messages[].statistics.complainedBooleanБыла ли жалоба от получателя (для канала email)
payload.messages[].statistics.unsubscribedBooleanБыла ли отписка клиентом по ссылке из рассылки?
payload.messages[].statistics.purchasedBooleanБыла ли покупка, атрибуцированная на это сообщение?

В случае ошибки ответ будет в формате:

json
{
  "status": "error",
  "payload": {
    "message": "Invalid secret key"
  }
}