Описание
Добавление или обновление нескольких профилей с последующей отправкой триггерной кампании.
Данный запрос является batch-версией запроса Импорт профиля + Отправка триггера.
Возвращает ответ с id таска, не дожидаясь выполнения.
Тело запроса ограничено по умолчанию до 10мб, исключение: файлы - 100мб
URL-адрес
Метод: POST
http://example.com/api/v1.1/campaigns/triggers/import_and_start_batch_task
Параметры запроса
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
Импорт профиля клиента | ||||
token | string | "abcdefghijklmnqrstuvwxyz" | Да | API токен |
data | array | [ { "data": { "_fname": "John", "_lname": "Lambert", "email": "profile4@example.com", "phones": "+790000000000" } }, { "data" : { "_fname": "Tom", "_lname": "Hard", "email": "profile3@example.com", "phones": "+790000000001" } } ] | Да | Данные об импортируемых профилях. Каждый профиль - это отдельный JSON-объект "data". |
skip_triggers | bool | true | Нет | Пропустить запуск триггеров по умолчанию – false |
skip_invalid_subscriptions | bool | true | Нет | Пропустить невалидные подписки по умолчанию – false |
detect_geo | bool | true | Нет | Включает автоопределение geo данных по полю _regip или _ip в data |
Настройки поиска профиля | ||||
matching | string | "email" | Нет, если поиск по email из профиля или подписок | Режим поиска подписчика. |
string | "john@example.com" | "matching":"email" - по профилю и подпискам "matching":"email_profile" - только по профилю | Email-адрес | |
phone | string | "+79000000000" | "matching":"phone" | Номер телефона |
profile_id | string | "abcdefghijklmnqrstuvwxyz" | "matching":"profile_id" | Идентификатор профиля |
field_name | string | "CRM_ID" | "matching":"custom" | Название кастомного поля профиля для поиска. |
field_value | int/string | "12345" | "matching":"custom" | Значение кастомного поля для поиска. Доступен поиск по сочетанию значений поля с типом "тэги". Тэги передаются в строке черз запятую: "тэг_1, тэг_2". |
resource_id | int | 24 | Нет | Идентификатор ресурса для |
Запуск триггера | ||||
trigger_id | int | 8 | Да | Идентификатор триггерной кампании для запуска |
custom_data | JSON object | {"sending_time": "12:31:12"} | Нет | Данные для Захвата событий (Action hooks) |
content | JSON object | {"page": "registration_form"} | Нет | Дополнительные данные для подстановки в шаблон сообщения переменной {apicontent.fieldname} |
attach | JSON objects array | { "data": "data:text/csv;base64,SEVMTE8K", "name": "Attach.txt" } | Нет | Файл для прикрепления к Email сообщению (только для Email триггеров) |
Возвращаемые параметры
Параметр | Тип | Описание |
---|---|---|
error_text | string | Текст ошибки |
error | int | Код ошибки |
task_id | string | Идентификатор задачи |
Пример запроса с матчингом по email
{ "token": "abcdefghijklmnqrstuvwxyz", "matching": "email", "data": [ { "data": { "_fname": "John", "_lname": "Lambert", "email": "profile4@example.com", "phones": "+790000000000", "subscriptions": [ { "channel": "email", "email": "example@example.com", "resource_id": 1 }, { "channel": "phone", "phone": "+790000000000", "resource_id": 1 } ] } }, { "data": { "_fname": "Tom", "_lname": "Hard", "email": "profile3@example.com", "phones": "+790000000001", "subscriptions": [ { "channel": "email", "email": "example@example.com", "resource_id": 1 }, { "channel": "phone", "phone": "+790000000000", "resource_id": 1 } ] } } ], "trigger_id": 13, "content": { "page": "registration_form" }, "attach": [ { "data": "data:text/csv;base64,5LuK5pel44GvCg==", "name": "Attach.txt" } ] }
Пример запроса с матчингом по custom-полю
{ "token": "abcdefghijklmnqrstuvwxyz", "trigger_id": 455, "format": "json", "skip_triggers": false, "detect_geo": true, "matching": "custom", "field_name": "New_field_1", "data": [ { "data": { "_fname": "NUMBER1", "_lname": "Lambert", "email": "profile01@example.com", "phones": "+790000000000", "New_field_1" : "0002" } }, { "data" : { "_fname": "NUMBER2", "_lname": "Hard", "email": "profile02@example.com", "phones": "+790000000001", "New_field_1" : "0001" } } ] }
Пример ответа
{ "error": 0, "error_text": "Successful operation", "task_id": "30421978-7f6d-4f39-913f-fb6cad8e2477" }
Пример ответа при срабатывании ограничения запроса
{ "error":400, "error_debug":"http: request body too large", "error_text":"Invalid request" }
Проверка статуса задания
URL-адрес
Метод: POST
https://example.com/api/v1.1/tasks/status
Параметры запроса
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Да | API токен |
task_id | string | "task_b2f9fk6a-2479-4a63-b592-f15d4e3b69c5" | Да | Идентификатор задания |
Пример запроса
{ "token": "abcdefghijklmnqrstuvwxyz", "task_id": "task_b2f9fk6a-2479-4a63-b592-f15d4e3b69c5" }
Пример ответа
{ "data": { "status": "completed", "progress": 100, "result": { "error": 0, "error_text": "", "result": [ { "profile_id": "61e947333f62fc26d384452c" }, { "profile_id": "61e947333f62fc26d384452e" } ] } }, "error": 0, "error_text": "Successful operation" }