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

Импортировать профиль в RabbitMQ

Описание

Добавление или обновление профиля клиента через очередь RabbitMQ для больших объемов данных.

Очередь, куда должны попадать сообщения для импорта, – называется "database_import". Она должна быть доступна в виртуальном того же брокера сообщений, что и вся система.

Результаты будут отправляться в другую очередь – "database_import_result". По умолчанию устанавливается TTL сообщений на очереди - 24 часа. Можно указать свой TTL в конфигурации main.json: RABBITMQ_X_MESSAGE_TTL, в секундах.

Для идентификации запросов можно использовать дополнительное поле – "feedback_id".
Оно появится в ответе, и в случае ошибки, будет отображено в логе – "job_server.log".

Параметры сообщения

ПараметрТипПримерОбязательныйОписание
account_idint1ДаИдентификатор аккаунта
dataJSON object
{
   "_fname": "John",
   "_lname": "Doe"
}
ДаДанные о профиле
db_idint1ДаИдентификатор базы данных
feedback_idstring"abcdefghijklmnqrstuvwxyz"НетИдентификатор базы данных
skip_triggersbooltrueНетПропустить запуск триггеров
(по умолчанию – false)
update_onlybooltrueНетТолько обновление
(по умолчанию – false)
Поиск профиля подписчика
matchingstring"email"
"email_profile"
"email_sub"
"phone"
"phone_sub"
"profile_id"
"push_sub"
"custom"
"custom_sub"
"email_phone"
"email_phone_sub"
Нет, если поиск по 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

Пример сообщения

{
"account_id": 1,
"data": {
"_fname": "John",
"_lname": "Doe"
},
"db_id": 1,
"email": "john@example.com",
"feedback_id": "abcdefghijklmnqrstuvwxyz",
"update_only": true
}

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

{
"error": 0,
"error_text": "",
"feedback_id": "abcdefghijklmnqrstuvwxyz",
"matching_field": "email",
"profile_id": "abcdefghijklmnqrstuvwxyz"
}

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

ПараметрТипОписание
errorintКод ошибки
error_textstringТекст ошибки
feedback_idstringИдентификатор запроса
matching_fieldstringПоле для поиска
profile_idstringИдентификатор профиля