Списание баллов участника
Описание
Списывает баллы со счёта участника программы лояльности с использован ием триггерной промоакции.
URL-адрес
Метод: POST
https://example.com/api/v1.1/loyalty/redeeme_points
Параметры запроса
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| token | string | "abc123def456" | Да | API-токен |
| loyalty_program_id | int | 123 | Да | Идентификатор программы лояльности |
| promotion_id | string | "PROMO123" | Нет | Идентификатор триггерной промоакции |
| points_currency_iid | int | 1 | Нет | Внутренний идентификатор типа баллов |
| points_currency_eid | string | "stars" | Нет | Внешний идентификатор типа баллов (например, "stars") |
| amount | string | "100.50" | Да | Количество списываемых баллов (строка, поддерживает дробные значения) |
| is_temp | boolean | false | Нет | Признак временной транзакции. Может быть отменена по таймауту или отдельным запросом |
| temp_timeout_sec | int | 123 | Нет | Время в секундах, после которого временная транзакция будет отменена при отсутствии подтверждения |
| created_at | string | "2024-09-01T12:34:56Z" | Нет | Дата и время создания транзакции (если не указано — текущее время) в формате RFC3339 |
| transaction_eid | string | "uiuiuiiu-ouiihfs-sdfsdf" | Нет | Внешний идентификатор транзакции |
| external_data | object | {"order_id": "123"} | Нет | Произвольные дополнительные данные транзакции (JSON-объект) |
| matching | string | "email" | Да | Способ поиска профиля: email, phone, profile_id, custom |
| field_name | string | "user_id" | Да, если matching = custom | Название пользовательского поля для поиска |
| field_value | string / int | 123456 | Да, если matching = custom | Значение пользовательского поля |
| string | "user@example.com" | Да, если matching = email | Email участника | |
| phone | string | "+1234567890" | Да, если matching = phone | Телефон участника в международном формате |
| profile_id | string | "profile123" | Да, если matching = profile_id | Идентификатор профиля |
Пример запроса
- JSON
- XML
{
"token": "abc123def456",
"loyalty_program_id": 123,
"promotion_id": "PROMO123",
"points_currency_eid": "stars",
"amount": "100.50",
"matching": "email",
"email": "user@example.com",
"is_temp": false,
"transaction_eid": "uiuiuiiu-ouiihfs-sdfsdf",
"external_data": {
"order_id": "ORDER-123"
}
}
<xml>
<token>abc123def456</token>
<loyalty_program_id>123</loyalty_program_id>
<promotion_id>PROMO123</promotion_id>
<points_currency_eid>stars</points_currency_eid>
<amount>100.50</amount>
<matching>email</matching>
<email>user@example.com</email>
<is_temp>false</is_temp>
<transaction_eid>uiuiuiiu-ouiihfs-sdfsdf</transaction_eid>
</xml>
Пример ответа
- JSON
- XML
{
"error": 0,
"error_text": "Successful operation",
"data": {
"transaction_id": "TRANS12345",
"balance_before": "500.00",
"balance_after": "399.50"
}
}
<xml>
<error>0</error>
<error_text>Successful operation</error_text>
<data>
<transaction_id>TRANS12345</transaction_id>
<balance_before>500.00</balance_before>
<balance_after>399.50</balance_after>
</data>
</xml>
Возвращаемые параметры
| Параметр | Тип | Описание |
|---|---|---|
| error | int | Код ошибки |
| error_text | string | Текст ошибки |
| transaction_id | string | Идентификатор т ранзакции списания баллов |
| balance_before | string | Баланс баллов до списания (строка) |
| balance_after | string | Баланс баллов после списания (строка) |