Публичное пространство
SetLoyalty ◾️ Экспорт анкетных данных покупателей через топик Kafka
Включение и настройка функциональности производится сотрудниками CSI и только по запросу. По умолчанию выгрузка данных выключена.
https://crystals.atlassian.net/browse/SLS-3355
https://crystals.atlassian.net/browse/CR-10605
Описание
В Set Loyalty реализована возможность передачи информации о покупателях в топик брокера сообщений Kafka для чтения внешними системами. В соответствующий топик будут выгружаться сообщения в JSON-формате при создании и редактировании анкет в Set Loyalty.
Настройка
Топик Kafka создает DevOps CSI через запрос менеджеру проекта.
Ограничения
Срок хранения сообщений в Kafka: 7 дней по умолчанию.
Данные начнут выгружаться с момента включения топика. Изменения, внесенные ранее, не попадут в Kafka.
Данные по бонусным операциям, уровневой программе лояльности и другая информация, не относящаяся к анкетным данным, передаваться в сообщении не будет.
Список выгружаемых данных
Поле | Описание | |||
|---|---|---|---|---|
id | Код (ID) покупателя | |||
type | Тип сообщения:
| |||
data | id | Код (ID) покупателя | ||
firstName | Имя | |||
lastName | Фамилия | |||
middleName | Отчество | |||
phone | Номер телефона | |||
Адрес электронной почты | ||||
createdDate | Дата регистрации покупателя | |||
activatedDate | Дата активации (для случаев, когда профиль изначально был анонимным) | |||
updatedDate | Дата последнего изменения профиля | |||
shop | Магазин, где был зарегистрирован покупатель ("0", если регистрация произведена через UI или API) | |||
registrationPlace | Канал регистрации | |||
agreeEmail | Согласие на коммуникацию по e-mail | |||
agreeSMS | Согласие на коммуникацию по SMS | |||
children | name | Имя ребенка | ||
birthDate | Дата рождения ребенка | |||
gender | Пол ребенка | |||
customFields | id | ID поля
| ||
value | Значение | |||
cards | number | Номер карты лояльности | ||
category | id | Идентификатор категории карты | ||
name | Название категории | |||
createDate | Дата создания категории | |||
status | Статус карты:
| |||
statusReason | Причина смены статуса | |||
createDate | Дата создания карты | |||
updateDate | Дата последнего обновления карты | |||
shop | Идентификатор магазина, где карта была выдана | |||
completed | Признак заполненности анкеты | |||
deleted | Признак архивации покупателя | |||
Пример сообщений
Пример сообщения при создании анкеты покупателя:
{
"id": "6",
"type": "CREATE",
"data": {
"id": "6",
"firstName": "Иван",
"lastName": "Иванов",
"middleName": null,
"phone": "79173332486",
"email": "ivanov_ivan1254@hotmail.com",
"createdDate": "2024-03-13T16:10:37.27163+03:00",
"activatedDate": "2024-03-15T11:49:35.292411594+03:00",
"updatedDate": "2024-03-15T11:49:35.292411594+03:00",
"shop": "0",
"registrationPlace": "INFO_STAND",
"agreeEmail": true,
"agreeSMS": true,
"children": [
{
"name": "Петр",
"birthDate": "2024-03-12",
"gender": "UNKNOWN"
}
],
"customFields": [
{
"id": "birthday",
"value": "2024-03-06"
},
{
"id": "comments",
"value": "qwe"
},
{
"id": "family_status",
"value": "married"
},
{
"id": "gender",
"value": "male"
},
{
"id": "city",
"value": "СПБ"
},
{
"id": "field_1",
"value": "123"
},
{
"id": "mobile_registration",
"value": "true"
},
{
"id": "house",
"value": "1"
},
{
"id": "building",
"value": "1"
},
{
"id": "automobile",
"value": "true"
},
{
"id": "street",
"value": "Невский"
},
{
"id": "socialLevel",
"value": "1"
},
{
"id": "animals",
"value": "FISH,DOG"
},
{
"id": "region",
"value": "РФ"
},
{
"id": "apartment",
"value": "1"
},
{
"id": "refuse_receipt",
"value": "true"
}
],
"cards": [
{
"number": "0000123456789",
"category": {
"id": 1,
"name": "Карты лояльности",
"createDate": "2020-02-02T10:10:10.000"
},
"status": "CREATED",
"statusReason": null,
"createDate": "2020-02-02T10:10:10.000",
"updateDate": "2020-02-02T10:10:10.000",
"shop": "91"
}
],
"completed": true,
"deleted": false
}
}
Пример сообщения при внесении изменений в анкетные данные покупателя:
{
"id": "6",
"type": "UPDATE",
"data": {
"id": "6",
"firstName": "Иван",
"lastName": "Иванов",
"middleName": null,
"phone": "79173332486",
"email": "ivanov_ivan_new@hotmail.com",
"createdDate": "2024-03-13T16:10:37.27163+03:00",
"activatedDate": "2024-03-15T11:49:35.292411594+03:00",
"updatedDate": "2024-03-15T11:49:35.292411594+03:00",
"shop": "0",
"registrationPlace": "INFO_STAND",
"agreeEmail": true,
"agreeSMS": true,
"children": [
{
"name": "Петр",
"birthDate": "2024-03-12",
"gender": "UNKNOWN"
}
],
"customFields": [
{
"id": "birthday",
"value": "2024-03-06"
},
{
"id": "comments",
"value": "qwe"
},
{
"id": "family_status",
"value": "married"
},
{
"id": "gender",
"value": "male"
},
{
"id": "city",
"value": "СПБ"
},
{
"id": "field_1",
"value": "123"
},
{
"id": "mobile_registration",
"value": "true"
},
{
"id": "house",
"value": "1"
},
{
"id": "building",
"value": "1"
},
{
"id": "automobile",
"value": "true"
},
{
"id": "street",
"value": "Невский"
},
{
"id": "socialLevel",
"value": "1"
},
{
"id": "animals",
"value": "FISH,DOG"
},
{
"id": "region",
"value": "РФ"
},
{
"id": "apartment",
"value": "1"
},
{
"id": "refuse_receipt",
"value": "true"
}
],
"cards": [
{
"number": "0000123456789",
"category": {
"id": 1,
"name": "Карты лояльности",
"createDate": "2020-02-02T10:10:10.000"
},
"status": "CREATED",
"statusReason": null,
"createDate": "2020-02-02T10:10:10.000",
"updateDate": "2020-02-02T10:10:10.000",
"shop": "91"
}
],
"completed": true,
"deleted": false
}
}