Описание
Добавление или обновление профиля клиента через очередь 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 | { "_fname": "John", "_lname": "Doe" } | Да | Данные о профиле |
db_id | int | 1 | Да | Идентификатор базы данных |
feedback_id | string | "abcdefghijklmnqrstuvwxyz" | Нет | |
skip_triggers | bool | true | Нет | Пропустить запуск триггеров по умолчанию – false |
update_only | bool | true | Нет | Только обновление по умолчанию – false |
Поиск профиля подписчика | ||||
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 | Нет | Идентификатор ресурса для |
Пример сообщения
{ "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 | Идентификатор профиля |