Импортировать профиль в RabbitMQ
Описание
Добавление или обновление профиля клиента через очередь RabbitMQ для больших объемов данных.
Очередь, куда должны попадать сообщения для импорта, – называется "database_import". Она должна быть доступна в виртуальном того же брокера сообщений, что и вся система.
Результаты будут отправляться в другую очередь – "database_import_result". По умолчанию устанавливается TTL сообщений на очереди - 24 часа. Можно указать свой TTL в конфигурации main.json: RABBITMQ_X_MESSAGE_TTL
, в секундах.
Для идентификации запросов можно использовать дополнительное поле – "feedback_id".
Оно появится в ответе, и в случае ошибки, будет отображено в логе – "job_server.log".
Параметры сообщения
Параметр | Тип | Пример | Обязательный | Описание |
---|---|---|---|---|
account_id | int | 1 | Да | Идентификатор аккаунта |
data | JSON object | { | Да | Данные о профиле |
db_id | int | 1 | Да | Идентификатор базы данных |
feedback_id | string | "abcdefghijklmnqrstuvwxyz" | Нет | Идентификатор базы данных |
skip_triggers | bool | true | Нет | Пропустить запуск триггеров (по умолчанию – false) |
update_only | bool | true | Нет | Только обновление (по умолчанию – false) |
Поиск профиля подписчика | ||||
matching | string | "email" "email_profile" "email_sub" "phone" "phone_sub" "profile_id" "push_sub" "custom" "custom_sub" "email_phone" "email_phone_sub" | Нет, если поиск по 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 | Нет | Идентификатор ресурса для поиска по 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"
}
Возвращаемые параметры
Параметр | Тип | Описание |
---|---|---|
error | int | Код ошибки |
error_text | string | Текст ошибки |
feedback_id | string | Идентификатор запроса |
matching_field | string | Поле для поиска |
profile_id | string | Идентификатор профиля |