Перейти к основному содержимому

Задание на массовый импорт профилей + отправка триггера

Описание

Добавление или обновление нескольких профилей с последующей отправкой триггерной кампании.

Данный запрос является batch-версией запроса Импорт профиля + Отправка триггера.

Возвращает ответ с id таска, не дожидаясь выполнения.

примечание

Тело запроса ограничено по умолчанию до 10мб, исключение: файлы — 100мб.

URL-адрес

Метод: POST

http://example.com/api/v1.1/campaigns/triggers/import_and_start_batch_task

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

ПараметрТипПримерОбязательныйОписание
Импорт профиля клиента
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
dataarray
[
   {
      "data": {
         "_fname": "John",
         "_lname": "Lambert",
         "email": "profile4@example.com",
         "phones": "+79000000000"
      }
   },
   {
      "data": {
         "_fname": "Tom",
         "_lname": "Hard",
         "email": "profile3@example.com",
         "phones": "+790000000001"
      }
   }
]
нетДанные о профиле, в том числе подписки.

Каждый профиль — это отдельный JSON-объект "data".
skip_triggersbooltrueНетПропустить запуск триггеров.
По умолчанию – false.
skip_invalid_subscriptionsbooltrueНетПропустить невалидные подписки.
По умолчанию – false.
detect_geobooltrueНетВключает автоопределение geo данных по полю _regip или _ip в data
Настройки поиска профиля
matchingstring"email"
"email_profile"
"phone"
"profile_id"
"custom"
Нет, если поиск по email из профиля или подписокРежим поиска подписчика.
по умолчанию - email.
emailstring"john@example.com""matching":"email" - по профилю и подпискам

"matching":"email_profile" - только по профилю
Email-адрес
phonestring"+79000000000""matching":"phone"Номер телефона
profile_idstring"abcdefghijklmnqrstuvwxyz""matching":"profile_id"Идентификатор профиля
field_namestring"CRM_ID""matching":"custom"Название кастомного поля профиля для поиска.
field_valueint/string"12345""matching":"custom"

Значение кастомного поля для поиска.

подсказка

Доступен поиск по сочетанию значений поля с типом "теги". Теги передаются в строке черз запятую: "тег_1, тег_2".

resource_idint24ДаИдентификатор ресурса для поиска по email и phone
Запуск триггера
trigger_idint13ДаИдентификатор триггерной кампании для запуска
timeoutJSON object
{
"days": 0,
"hours": 0,
"minutes": 5
}
НетЗадержка перед запуском триггера. Указываются дни, часы и минуты.
custom_dataJSON object
{
"sending_time": "12:31:12"
}
НетДанные для Захвата событий (Action hooks)
contentJSON object
{
"page": "registration_form"
}
НетДополнительные данные для подстановки в шаблон сообщения переменной {apicontent.fieldname}
attachJSON objects array
{
"data": "data:text/csv;base64,SEVMTE8K",
"name": "Attach.txt"
}
НетФайл для прикрепления к email сообщению (только для email триггеров)

Возвращаемые параметры

ПараметрТипОписание
error_textstringТекст ошибки
errorintКод ошибки
task_idstringИдентификатор задачи

Пример запроса с матчингом по email

{
"token": "abcdefghijklmnqrstuvwxyz",
"matching": "email",
"data": [
{
"data": {
"_fname": "Victoria",
"_lname": " Beckham",
"email": "example1@yopmail.com",
"phones": "+79000000000",
"subscriptions": [
{
"channel": "email",
"email": "example2@yopmail.com",
"resource_id": 21
},
{
"channel": "phone",
"phone": "+79000005478",
"resource_id": 20
}
]
}
},
{
"data": {
"_fname": "David",
"_lname": " Beckham",
"email": "example3@yopmail.com",
"phones": "+79000000001",
"subscriptions": [
{
"channel": "email",
"email": "example14@yopmail.com",
"resource_id": 21
},
{
"channel": "phone",
"phone": "+79000000000",
"resource_id": 20
}
]
}
}
],
"trigger_id": 96,
"timeout": {
"days": 0,
"hours": 0,
"minutes": 5
},
"content": {
"page": "registration_form"
},
"attach": [
{
"data": "data:text/csv;base64,5LuK5pel44GvCg==",
"name": "Attach.txt"
}
]
}

Пример запроса с матчингом по custom-полю

{
"token": "abcdefghijklmnqrstuvwxyz",
"trigger_id": 96,
"format": "json",
"skip_triggers": false,
"detect_geo": true,
"matching": "custom",
"field_name": "Custom_id",
"data": [
{
"data": {
"_fname": "Tom",
"_lname": "Cruise",
"email": "example@example.com",
"phones": "+79000000000",
"Custom_id": "0002"
}
},
{
"data": {
"_fname": "Lili",
"_lname": "Hard",
"email": "example@example.com",
"phones": "+79000000001",
"Custom_id": "0001"
}
}
]
}

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

{
"error": 0,
"error_text": "Successful operation",
"task_id": "1c1a5861-6d4c-4d6f-bd6a-3ca4f46b217d"
}

Пример ответа при срабатывании ограничения запроса

{
"error":400,
"error_debug":"http: request body too large",
"error_text":"Invalid request"
}

Проверка статуса задания

URL-адрес

Метод: POST

https://example.com/api/v1.1/tasks/status

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

ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
task_idstring"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"
}