Получение транзакций по счёту профиля
Описание
Возвращает историю транзакций по балльному счёту участника программы лояльности. Поддерживает пагинацию и фильтрацию по валюте баллов.
URL-адрес
Метод: POST
https://example.com/api/v1.1/loyalty/account/transactions
Параметры запроса
| Параметр | Тип | Пример | Обязательный | Описание |
|---|---|---|---|---|
| loyalty_program_id | int | 123 | Да | Идентификатор программы лояльности |
| points_currency_eid | string | "bonus_points" | Да, если не передан points_currency_iid | Внешний идентификатор валюты баллов |
| points_currency_iid | int | 1 | Да, если не передан points_currency_eid | Внутренний идентификатор валюты баллов |
| from_id | string | "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8" | Нет | UUID последней транзакции для пагинации (записи с ID > from_id) |
| limit | int | 20 | Нет | Количество записей на страницу (1–100, по умолчанию 20) |
| matching | string | "email" | Да | Способ поиска профиля. Возможные значения: "email", "phone", "profile_id", "custom" |
| field_name | string | "user_id" | Да, если matching = custom | Название пользовательского поля |
| field_value | string / int | "12345" | Да, если matching = custom | Значение пользовательского поля |
| string | "user@example.com" | Да, если matching = email | Email участника | |
| phone | string | "+1234567890" | Да, если matching = phone | Телефон участника в международном формате |
| profile_id | string | "profile_123" | Да, если matching = profile_id | Идентификатор профиля |
Пример запроса
- JSON
- XML
{
"loyalty_program_id": 123,
"points_currency_eid": "bonus_points",
"matching": "email",
"email": "user@example.com",
"limit": 20
}
<xml>
<loyalty_program_id>123</loyalty_program_id>
<points_currency_eid>bonus_points</points_currency_eid>
<matching>email</matching>
<email>user@example.com</email>
<limit>20</limit>
</xml>
Пример ответа
- JSON
- XML
{
"data": [
{
"transaction_id": "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8",
"transaction_eid": "trans_12345",
"created_at": "2023-09-01T12:34:56Z",
"transaction_type": "accrual",
"amount": "100.1",
"balance_before": "500.5",
"balance_after": "600.6",
"promo_iid": 42,
"promo_eid": "promo_2023",
"description": "Начисление баллов за покупку",
"activation_date": "2023-09-01T12:34:56Z",
"expiration_date": "2023-12-31T23:59:59Z",
"source_type": "order",
"source_iid": 789,
"source_sid": "order_123",
"source_subiid": 1,
"is_temp": false,
"custom_json": {"key": "value"},
"product_eid": "prod_123",
"sku_eid": "sku_456",
"canceled": false
}
],
"next_from_id": "b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9",
"total_count": 150,
"error": 0,
"error_text": "Successful operation"
}
<xml>
<data>
<transaction_id>a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8</transaction_id>
<transaction_eid>trans_12345</transaction_eid>
<created_at>2023-09-01T12:34:56Z</created_at>
<transaction_type>accrual</transaction_type>
<amount>100.1</amount>
<balance_before>500.5</balance_before>
<balance_after>600.6</balance_after>
<promo_iid>42</promo_iid>
<promo_eid>promo_2023</promo_eid>
<description>Начисление баллов за покупку</description>
<activation_date>2023-09-01T12:34:56Z</activation_date>
<expiration_date>2023-12-31T23:59:59Z</expiration_date>
<source_type>order</source_type>
<source_iid>789</source_iid>
<source_sid>order_123</source_sid>
<source_subiid>1</source_subiid>
<is_temp>false</is_temp>
<custom_json>{"key": "value"}</custom_json>
<product_eid>prod_123</product_eid>
<sku_eid>sku_456</sku_eid>
<canceled>false</canceled>
</data>
<next_from_id>b2c3d4e5-f6g7-8901-h2i3-j4k5l6m7n8o9</next_from_id>
<total_count>150</total_count>
<error>0</error>
<error_text>Successful operation</error_text>
</xml>