Запрос истории сообщений получателя

Используйте этот метод, чтобы запросить историю сообщений получателя.

Метод получения истории сообщений

С помощью этого метода ПО пользователя запрашивает историю сообщений получателя. Запрос выполняется через публичный интерфейс API с авторизацией по API-ключу.

Если запрос выполнен успешно, метод возвращает ответ с кодом 200 и JSON-объект с текстом и информацией о сообщении. В случае неуспешного выполнения запроса метод возвращает сообщение с кодом ошибки.

URL-адрес подключения

Для отправки сообщения отправьте POST-запрос на URL-адрес https://app.edna.ru/api/messages/history.

Формат запроса

В теле запроса передаются идентификатор получателя и необходимые фильтры.

{
  "offset": 0,
  "limit": 0,
  "sort": [
    {
      "direction": "ASC",
      "property": "string"
    }
  ],
  "subscriberFilter": {
    "address": "string",
    "type": "EDNA_ID"
  },
  "dateFrom": "2023-07-20T11:57:02.074Z",
  "dateTo": "2023-07-20T11:57:02.074Z",
  "channelTypes": [
    "SMS"
  ],
  "direction": "IN",
  "trafficTypes": [
    "AD"
  ],
  "subjectId": 0
}

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

POST https://app.edna.ru/api/messages/history
x-api-key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Content-Type: application/json

{
  "subscriberFilter": {
    "address": "79000000000",
    "type": "PHONE"
  },
  "channelTypes": ["WHATSAPP"],
  "direction": "IN",
  "subjectId": 20526,
  "dateFrom": "2023-06-01T00:00:00Z",
  "dateTo": "2023-06-12T00:00:00Z",
  "limit": 12,
  "offset": 1,
  "sort": [{"property": "messageId", "direction":  "ASC"}]
}

Параметры запроса

ПараметрТип данныхОбяза
тельный
Описание
subscriberFilterobject даФильтр получателя
subscriberFilter.
address
string даАдрес получателя. Например, номер телефона.
subscriberFilter.
type
array of EnumsдаТип адреса получателя: PHONE, EMAIL, UTM, COOKIE_ID, INSTAGRAM_ID, FACEBOOK_ID, TELEGRAM_ID, GOOGLE_ID, APPLE_ID, YANDEX_ID, EXT_USER_ID
dateFromdatetimeВремя, с которого запрашиваются сообщения. По умолчанию —сообщения за последний год.
dateTodatetimeВремя, по которое запрашиваются сообщения. По умолчанию — без ограничений.
channelTypesarray of EnumsФильтр типа канала: WHATSAPP, SMS, VIBER, PUSH. Например если передано значение PUSH, возвращается контент сообщения только для пуш-канала. Можно передать несколько значений.
directionstringНаправление сообщения: от получателя (IN) или получателю (OUT).
trafficTypearray of EnumsТип трафика: AD, SERVICE, HSM, CHAT. Можно передать несколько значений.
subjectIDstringИдентификатор подписи.
offsetintegerКоличество сообщений, которые нужно пропустить после сортировки. По умолчанию — 0.
limitintegerМаксимальное количество сообщений в ответе. По умолчанию — 15. Максимум — 100.
sortstringПараметры сортировки.
sort.directionarray of EnumsНаправление сортировки: ASC или DESC. По умолчанию — DESC.
sort.propertystringПараметр для сортировки.

Формат ответа

Этот метод возвращает JSON-объект, содержащий все сообщения, отправленные пользователю или полученные от него, которые отвечают заданным условиям, а также дополнительную информацию об этих сообщениях.

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

{
    "content": [
        {
            "messageId": 2945744,
            "tenantId": 549,
            "channelType": "SMS",
            "direction": "OUT",
            "address": "79000000000",
            "content": "{\"text\": \"Hello. Glad o see\", \"type\": \"TEXT\"}",
            "deliveryStatus": "UNDELIVERED",
            "deliveryStatusAt": "2022-10-18T21:12:37Z",
            "deliveryStatusMessage": "unrouted",
            "sentOrReceivedAt": "2022-10-18T21:12:34.223452Z",
            "subjectId": 284,
            "subjectName": "subject_sms",
            "cascadeId": 427,
            "cascadeName": "New channel",
            "cascadeStageUuid": "37549bb8-b343-4a3b-99a5-a23ce83ec66a",
            "trafficType": "AD",
            "segments": 1,
            "subscriberId": 2399569
        },
        {
            "messageId": 2946294,
            "tenantId": 549,
            "channelType": "SMS",
            "direction": "OUT",
            "address": "79000000000",
            "content": "{\"text\": \"Hello. Glad o see\", \"type\": \"TEXT\"}",
            "deliveryStatus": "SENT",
            "deliveryStatusAt": "2022-10-18T21:14:18Z",
            "sentOrReceivedAt": "2022-10-18T21:14:15.358104Z",
            "subjectId": 284,
            "subjectName": "subject_sms",
            "cascadeId": 427,
            "cascadeName": "New channel",
            "cascadeStageUuid": "37549bb8-b343-4a3b-99a5-a23ce83ec66a",
            "trafficType": "AD",
            "segments": 1,
            "subscriberId": 2399569
        }
    ],
    "number": 0,
    "size": 15
}

Параметры ответа

ПараметрОписание
messageIdВнутренний идентификатор сообщения
tenantIdИдентификатор личного кабинета пользователя
channelTypeТип канала
directionНаправление сообщения, входящее или исходящее
addressАдрес отправителя для входящих и получателя для исходящих сообщений
contentТекст сообщения
deliveryStatusСтатус доставки сообщения
deliveryStatusAtДата и время статуса доставки
deliveryStatusMessageСообщение статуса доставки
sentOrReceivedAtДата и время отправки для исходящих и доставки для входящих сообщений
subjectIdИдентификатор подписи
subjectNameИмя подписи
cascadeIdИдентификатор каскада
cascadeNameИмя каскада
cascadeStageUuidНомер шага каскада
broadcastIdИдентификатор рассылки
broadcastNameИмя рассылки
trafficTypeТип трафика
segmentsКоличество сегментов сообщения
subscriberIdИдентификатор получателя в edna Pulse
commentПараметр comment можно передавать при отправке сообщений. Он может служить для уникальной индентификации сообщения или рассылки.

Список ошибок

Метод вернет сообщение об ошибке 400 Bad Request и JSON-объект с описанием в следующих случаях:

  • указан неверный API-ключ
  • не указан обязательный параметр address
  • указано значение limit больше 100
  • указана дата dateFrom более чем за 1 год до текущей

Получение событий для вызова авторассылки