Общий контракт постановки задачи экспорта описан здесь
Контракт экспорта действий клиентов
Пример запроса
JSON
POST https://api.mindbox.ru/v3/operations/sync?endpointId={endpointId}&operation={operation}Accept: application/jsonContent-Type: application/jsonAuthorization: SecretKey {Секретный ключ}{ "sinceDateTimeUtc": "<Дата и время самого раннего действия (UTC, YYYY-MM-DD hh:mm)>", "tillDateTimeUtc": "<Дата и время самого позднего действия невключительно (UTC, YYYY-MM-DD hh:mm)>", "segment": { "ids": { "externalId": "<Внешний идентификатор сегмента по действиям>" } }}
Во входных параметрах можно указать:
Дату "от" (sinceDateTimeUtc) в формате UTC. Тогда в выгрузку попадут только действия созданные в системе после этой даты
Дату "до" (tillDateTimeUtc) в формате UTC. Тогда в выгрузку попадут только действия созданные в системе до этой даты
externalID сегмента действий, если таковой не был выбран в настройках шага операции.
"Дата создания действия в системе" - это дата, когда Mindbox обработал это действие, фактически, действие могло быть совершено клиентом в другое время. Это важно учитывать, когда оперируете периодом в запросе выгружаемых данных.
Проверка попадания действия в запрошенный период происходит следующим образом:
Дата "от" <= дата создания действия в системе < даты "до"
Формат выгружаемого файла
Описание базовых полей действий
JSON
{ "customerActions": [ { "ids": { "mindboxId": "<Идентификатор Mindbox>", "<transactionId>": "<ID транзакции>" }, "customFields": { "<Кастом поле действия>": "<Значение поля>", "<Множественное поле действия>": "<Значение поля>", }, "actionTemplate": { "ids": { "systemName": "<Системное имя шаблона действия>" }, "name": "<Имя шаблона действия>" }, "dateTimeUtc": "<Дата совершения действия в UTC>", "creationDateTimeUtc": "<Дата создания действия в системе в UTC>", "brand": { "ids": { "systemName": "<Системное имя бренда>" } }, "channel": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор точки контакта>", "systemName": "<Системное имя точки контакта>", }, "utmCampaign": "<Значение метки utm_campaign>", "utmSource": "<Значение метки utm_source>", "utmMedium": "<Значение метки utm_medium>", "utmContent": "<Значение метки utm_content>", "utmTerm": "<Значение метки utm_term>" }, "customer": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "<Внешний идентификатор клиента>": "<Значение идентификатора>" } } } ]}
Помимо базовых полей, в настройках шага можно выбрать дополнительные сущности, которые могут попасть в выгрузку, если действие имеет связанные данные. Например, действие оформления заказа связано с заказом, а клик по письму из рассылки с сущностью рассылки.
Рассылка
Для выгрузки взаимодействий с рассылками используйте экспорт статусов.
JSON
{ "customerActions": [ { <Базовые поля>, "rootAction": { "ids": { "mindboxId": <Идентификатор Mindbox> }, "actionTemplate": { "ids": { "systemName": "<Системное имя шаблона действия>" }, "name": "<Имя шаблона действия>" }, }, "mailing": { "name": "<Название рассылки>", "ids": { "systemName": "<Системное имя рассылки>", "id": "<Идентификатор Mindbox>", "variantNum": "<Номер варианта рассылки>" }, "action": "<Событие в рассылке>", "notSentReason": { "ids": { "systemName": "<Системное имя статуса, почему рассылка не отправилась>" }, "name": "<Описание статуса, почему рассылка не отправилась>" }, "notDeliveredReason": { "ids": { "systemName": "<Системное имя статуса, почему рассылка не доставилась>" }, "name": "<Описание статуса, почему рассылка не доставилась>" }, "link": "<Ссылка>", "viewEmailMessageUrl": "<Ссылка на просмотр отправленного сообщения>" } } ]}
Действия по рассылке:
Dispatch - Рассылка
MailingSend - Рассылка отправлена
MailingOpen - Рассылка открыта
MailingNotSent - Рассылка не отправлялась
MailingNotDelivered - Рассылка не доставлена
MailingClick - Клик по ссылке в рассылке
WaitingForDispatch - Участие в рассылке
MailingUnsubscribe - Запрос отписки от рассылок
Статусы, почему рассылка не отправилась:
ContactMissing - Отсутствует контакт
InvalidContact - Невалидный контакт
WaitingForConfirmationSubscriptionStatusRequried - Статус подписки потребителя должен быть "Требует подтверждения"
CustomerUnsubscribed - Клиент отписан от рассылок
CustomerInGlobalControlGroup - Клиент в глобальной контрольной группе
CustomerInMailingControlGroup - Клиент в контрольной группе рассылки
Статусы, почему рассылка не доставилась:
EmailBlackList - [Email]: Отклонено, т.к. адрес в "черном" списке
EmailConnectionFailureOnSending - [Email]: Произошел обрыв соединения при отправке
EmailInactiveAccount - [Email]: Ящик неактивен или отключен