API кешбеків
Документація API кешбеків
Увага: Банк має надсилати інформацію про вибір cashback користувачем у додатку банку та скасування цього вибору.
Отримання списку кешбеків
Ендпоінт: /cashbacks
/cashbacks?name=nameofcashbacks
/cashbacks?sku=sku1, sku2...
/cashbacks?bankId=uuidМетод: GET
Опис: Пошук cashbacks із необов’язковими параметрами фільтрації.
Параметри запиту
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
name | string | Ні | Фільтрувати cashbacks за назвою |
sku /cashbacks?sku=1111z | string[] | Ні | Фільтрувати cashbacks за значеннями SKU (можна передати як рядок, розділений комами) |
bankId | uuid | Ні | Фільтрувати cashbacks за bankId |
retailer_id | uuid | Ні | Фільтрувати cashbacks за ідентифікатором ритейлера |
Відповідь
| Поле | Тип | Опис |
|---|---|---|
cashbackId | UUID | Унікальний ідентифікатор cashback |
retailerId | UUID | ID ритейлера, що пропонує cashback |
bankId | UUID[] | Масив ідентифікаторів банків, пов’язаних із cashback |
name | string | Назва пропозиції cashback |
description | string | Необов’язковий опис cashback |
bannerSmall | string | Необов’язкова URL-адреса зображення малого банера |
bannerBig | string | Необов’язкова URL-адреса зображення великого банера |
sku | string[] | Необов’язковий масив значень SKU |
categoryId | string[] | Необов’язковий масив ідентифікаторів категорій |
createdAt | Date | Мітка часу створення |
dateFrom | Date | Дата початку дії пропозиції cashback |
dateTo | Date | Дата завершення дії пропозиції cashback |
Помилки
| HTTP-код | Тип помилки | Опис |
|---|---|---|
| 404 | NotFoundException | Cashback не знайдено |
| 500 | DatabaseException | Помилка запиту до бази даних |
Отримання кешбеку за ID
Ендпоінт: /cashbacks/:cashbackId
Метод: GET
Опис: Отримати конкретний cashback за його ID.
Параметри шляху
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
cashbackId | UUID | Так | ID cashback для отримання |
Відповідь
Те саме, що й відповідь на отримання списку кешбеків для одного елемента.
Помилки
| HTTP-код | Тип помилки | Опис |
|---|---|---|
| 404 | NotFoundException | Cashback не знайдено |
| 500 | DatabaseException | Помилка запиту до бази даних |
Створення кешбеку
Ендпоінт: /cashbacks
Метод: POST
Опис: Створити нову пропозицію cashback.
Тіло запиту
| Поле | Тип | Обов’язковий | Опис |
|---|---|---|---|
bankId | UUID[] | Так | Масив ідентифікаторів банків, пов’язаних із cashback |
name | string | Так | Назва пропозиції cashback |
description | string | Ні | Опис cashback |
bannerSmall | string | Ні | URL-адреса зображення малого банера |
bannerBig | string | Ні | URL-адреса зображення великого банера |
sku | string[] | Ні | Масив значень SKU |
categoryId | string[] | Ні | Масив ідентифікаторів категорій |
dateFrom | ISO8601 string | Так | Дата початку дії пропозиції cashback |
dateTo | ISO8601 string | Так | Дата завершення дії пропозиції cashback |
{
"retailerId": "bfdff92f-3dd1-4eea-aa67-3f60c3839a97",
"bankId": ["5aec26a8-d2da-49a3-96be-b9da2448f426"],
"name": "test240301",
"description": "test cashback",
"bannerSmall": "http://test.com",
"bannerBig": "http://test.com",
"sku": ["1111", "2222", "3333"],
"categoryId": ["12"],
"dateFrom": "2025-03-24",
"dateTo": "2025-03-30"
}Відповідь
Ті самі поля, що й у відповіді на отримання списку кешбеків для щойно створеного елемента.
Помилки
| HTTP-код | Тип помилки | Опис |
|---|---|---|
| 400 | WrongRequestException | Cashback із такими даними вже існує |
| 500 | DatabaseException | Помилка бази даних |
Оновлення кешбеку
Ендпоінт: /cashbacks/:cashbackId
Метод: PATCH
Опис: Оновити наявний cashback за його ID.
Параметри шляху
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
cashbackId | UUID | Так | ID cashback для оновлення |
Тіло запиту
| Поле | Тип | Обов’язковий | Опис |
|---|---|---|---|
bankId | UUID[] | Ні | Масив ідентифікаторів банків, пов’язаних із cashback |
name | string | Ні | Назва пропозиції cashback |
description | string | Ні | Опис cashback |
bannerSmall | string | Ні | URL-адреса зображення малого банера |
bannerBig | string | Ні | URL-адреса зображення великого банера |
sku | string[] | Ні | Масив значень SKU |
categoryId | string[] | Ні | Масив ідентифікаторів категорій |
dateFrom | ISO8601 string | Ні | Дата початку дії пропозиції cashback |
dateTo | ISO8601 string | Ні | Дата завершення дії пропозиції cashback |
{
"retailerId": "bfdff92f-3dd1-4eea-aa67-3f60c3839a97",
"bankId": ["5aec26a8-d2da-49a3-96be-b9da2448f426"],
"name": "test240301",
"description": "test cashback",
"bannerSmall": "http://test.com",
"bannerBig": "http://test.com",
"sku": ["1111", "2222", "3333"],
"categoryId": ["12"],
"dateFrom": "2025-03-24",
"dateTo": "2025-03-30"
}Відповідь
Ті самі поля, що й у відповіді на отримання списку кешбеків для оновленого елемента.
Помилки
| HTTP-код | Тип помилки | Опис |
|---|---|---|
| 404 | NotFoundException | Cashback не знайдено |
| 400 | WrongRequestException | Пов’язана сутність не існує |
| 500 | DatabaseException | Помилка бази даних |
Отримання назв категорій
Ендпоінт: /get-category-name
Метод: POST
Опис: Пошук назви категорії за ідентифікаторами.
Тіло запиту
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
categoryIds | array [string] | Так | Ідентифікатори категорій для пошуку |
Відповідь
Масив об’єктів:
| Поле | Тип | Опис |
|---|---|---|
id | UUID | Унікальний ідентифікатор категорії |
name | object | Назва категорії |
Помилки
| HTTP-код | Тип помилки | Опис |
|---|---|---|
| 500 | DatabaseException | Помилка запиту до бази даних |
Збереження кешбеків клієнта
Увага: Банк має надсилати інформацію про вибір cashback користувачем у додатку банку та скасування цього вибору.
Ендпоінт: /customer-cashbacks
Метод: POST
Опис: Зберегти cashbacks клієнтів.
Тіло запиту
| Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
customerId | string | Так | Ідентифікатор клієнта |
cashbackId | array [string] | Так | Ідентифікатори cashback для пошуку |
cashbackId може бути ідентифікатором у системі банку або ідентифікатором Deeployalty, який ви отримали з системи Deeployalty.
Відповідь
Масив об’єктів:
| Поле | Тип | Опис |
|---|---|---|
id | UUID | Унікальний ідентифікатор запису |
customer_id | object | Ідентифікатор клієнта |
cashback_id | object | Ідентифікатор cashback |
bank_id | object | Ідентифікатор банку |
retailer_id | object | Ідентифікатор ритейлера |
Помилки
| HTTP-код | Тип помилки | Опис |
|---|---|---|
| 500 | DatabaseException | Помилка запиту до бази даних |