Skip to content

Список изменений подписок и событий

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

Метод используется для обратной синхронизации подписок и журналов событий из CDP в ваши системы.

GET https://api.rees46.ru/subscriptions/changes

Параметры

ПараметрОбязателен?Описание
shop_idДаAPI-ключ
shop_secretДаСекретный API-ключ
eventНетФильтр по событию
channelНетФильтр по источнику события
fromНетВыборка, начиная с указанной даты в формате YYYY-MM-DD. По умолчанию 1 день назад.
toНетВыборка, до указанной даты в формате YYYY-MM-DD. По умолчанию текущий день.
emailНетФильтровать по значению email
phoneНетФильтровать по номеру телефона
offsetНетСмещение выборки для постраничного вывода. Минимум 0.
limitНетКоличество событий в ответе. По-умолчанию и максимальное значение 20000

Запрос

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

shell
curl 'https://api.rees46.ru/subscriptions/changes?shop_id=...&shop_secret=...&email=...'

Ответ

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

json
[
  {
    "contact_type": "email",
    "contact": "email1@example.com",
    "campaign_type": "chain",
    "event": "subscribe",
    "channel": "popup",
    "datetime": "2020-09-24 14:42:36",
    "ip": "192.168.0.1"
  },
  {
    "contact_type": "email",
    "contact": "email2@example.com",
    "campaign_type": "bulk",
    "event": "unsubscribe",
    "channel": "unsubscribe_page",
    "datetime": "2020-09-23 14:43:36",
    "ip": "192.168.2.27"
  },
  {
    "contact_type": "email",
    "contact": "email3@example.com",
    "campaign_type": "bulk",
    "event": "hard_bounced",
    "channel": "email_processing",
    "datetime": "2020-09-23 14:43:36",
    "ip": "192.168.2.27"
  },
  {
    "contact_type": "sms",
    "contact": "+19990009999",
    "campaign_type": "transactional",
    "event": "subscribe",
    "channel": "crm",
    "datetime": "2020-09-25 14:43:36",
    "ip": "192.168.2.27"
  }
]

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

СвойствоТипОписание
contact_typeStringКанал (тип контакта): sms, email, mpush, wpush, whatsapp, telegram, max, wallet
contactStringЗначение контакта
campaign_typeStringТип рассылки: bulk, chain, transactional, everything
eventStringСобытие: subscribe, unsubscribe, hard_bounced, complained, blacklisted
channelStringИсточник, откуда пришло событие: api, js_sdk, unsubscribe_page, email_processing и пр
datetimeStringДата события в формате YYYY-MM-DD H:i:s
ipStringIP адрес, откуда пришло событие. Может быть пустым для некоторых каналов или источников

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

СобытиеОписание
subscribeПользователь подписался на рассылку
unsubscribeПользователь отписался от рассылки
hard_bouncedПопытка отправки сообщения на контакт завершилась ошибкой, что контакт не существует
complainedКлиент пожаловался на спам
blacklistedКлиент добавлен в черный список

Расшифровка источников событий:

ИсточникОписание
email_feedback_processingОбработка FBL. Только для email
apiЗапрос к subscriptions/manage
api_callbackЗапрос к subscriptions/callback
js_sdkИз JS SDK
mobile_sdkИз мобильных SDK
push_attributesЗапрос к API методу event/push_attributes. Устарело
auto_collectorЗапрос к сервису auto_collector
popupПодписка через попап
importПодписка через импорт аудитории
crmПодписка через карточку клиента в CRM
bulk_sendingАвтоматический баунс во время отправки массовой рассылки
transactional_sendingАвтоматический баунс во время отправки транзакционной рассылки
unsubscribe_pageКлиент кликнул ссылку "отписаться" в письме
resubscribe_pageКлиент кликнул ссылку "переподписаться" на странице подтверждения отписки

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

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