Массовая регистрация участников в программу лояльности
Описание
Добавляет нескольких участников в программу лояльности за один запрос. Перед добавлением каждый профиль ищется по выбранному способу сопоставления: email, телефон, идентификатор профиля или пользовательское поле.
предупреждение
В одном запросе не рекомендуется:
- передавать более 10 000 профилей;
- передавать более 10 Мб данных. Можно передавать больший объем в несколько потоков.
URL-адрес
Метод: POST
https://example.com/api/v1.1/loyalty/register_member_batch
Параметры запроса
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| loyalty_program_id | int | 123 | Да | Идентификатор программы лояльности |
| matching | string | "email" | Да | Способ поиска профиля: email, phone, profile_id, custom |
| data | array | [{"email": "user@example.com"}] | Да | Массив участников для добавления |
Массив data
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| string | "user@example.com" | Да, если matching = email | Email для поиска профиля | |
| phone | string | "+1234567890" | Да, если matching = phone | Телефон в международном формате |
| profile_id | string | "profile123" | Да, если matching = profile_id | Идентификатор профиля |
| field_name | string | "user_id" | Да, если matching = custom | Название пользовательского поля |
| field_value | string / int | "123456" | Да, если matching = custom | Значение пользовательского поля |
| registration_date | string | "2024-09-01T12:34:56Z" | Нет | Дата регистрации в формате RFC3339 |
Пример запроса
- JSON
- XML
{
"loyalty_program_id": 123,
"matching": "email",
"data": [
{
"email": "user1@example.com",
"registration_date": "2024-09-01T12:34:56Z"
},
{
"email": "user2@example.com"
}
]
}
<xml>
<loyalty_program_id>123</loyalty_program_id>
<matching>email</matching>
<data>
<item>
<email>user1@example.com</email>
<registration_date>2024-09-01T12:34:56Z</registration_date>
</item>
<item>
<email>user2@example.com</email>
</item>
</data>
</xml>
Пример ответа
- JSON
- XML
{
"error": 0,
"error_text": "Successful operation",
"result": [
{
"error": 0,
"error_text": "Successful operation",
"profile_id": "663a138cee44bb50a67115cd"
},
{
"error": 409,
"error_text": "Member already exists",
"profile_id": "69df4fd5ff232800e2d1e2d6"
},
{
"error": 404,
"error_text": "Profile not found",
"profile_id": null
}
]
}
<xml>
<error>0</error>
<error_text>Successful operation</error_text>
<result>
<item>
<error>0</error>
<error_text>Successful operation</error_text>
<profile_id>663a138cee44bb50a67115cd</profile_id>
</item>
<item>
<error>409</error>
<error_text>Member already exists</error_text>
<profile_id>69df4fd5ff232800e2d1e2d6</profile_id>
</item>
<item>
<error>404</error>
<error_text>Profile not found</error_text>
<profile_id />
</item>
</result>
</xml>
Возвращаемые параметры
| Параметр | Тип | Описание |
|---|---|---|
| error | int | Код ошибки (0 — успешная операция) |
| error_text | string | Текст ошибки |
| result | array | Массив результатов для каждого участника |
Параметры элемента result
| Параметр | Тип | Описание |
|---|---|---|
| error | int | Код ошибки для конкретного участника |
| error_text | string | Текст ошибки для конкретного участника |
| profile_id | string | Идентификатор профиля (null при ошибке) |
Коды ошибок в result
| Код | Описание |
|---|---|
| 0 | Успешное добавление |
| 404 | Профиль не найден |
| 409 | Участник уже существует в программе лояльности |