API кешбеківAPI кешбеків

API кешбеків

Документація API кешбеків

Увага: Банк має надсилати інформацію про вибір cashback користувачем у додатку банку та скасування цього вибору.

Отримання списку кешбеків

Ендпоінт: /cashbacks

/cashbacks?name=nameofcashbacks
/cashbacks?sku=sku1, sku2...
/cashbacks?bankId=uuid

Метод: GET

Опис: Пошук cashbacks із необов’язковими параметрами фільтрації.

Параметри запиту

ПараметрТипОбов’язковийОпис
namestringНіФільтрувати cashbacks за назвою
sku /cashbacks?sku=1111zstring[]НіФільтрувати cashbacks за значеннями SKU (можна передати як рядок, розділений комами)
bankIduuidНіФільтрувати cashbacks за bankId
retailer_iduuidНіФільтрувати cashbacks за ідентифікатором ритейлера

Відповідь

ПолеТипОпис
cashbackIdUUIDУнікальний ідентифікатор cashback
retailerIdUUIDID ритейлера, що пропонує cashback
bankIdUUID[]Масив ідентифікаторів банків, пов’язаних із cashback
namestringНазва пропозиції cashback
descriptionstringНеобов’язковий опис cashback
bannerSmallstringНеобов’язкова URL-адреса зображення малого банера
bannerBigstringНеобов’язкова URL-адреса зображення великого банера
skustring[]Необов’язковий масив значень SKU
categoryIdstring[]Необов’язковий масив ідентифікаторів категорій
createdAtDateМітка часу створення
dateFromDateДата початку дії пропозиції cashback
dateToDateДата завершення дії пропозиції cashback

Помилки

HTTP-кодТип помилкиОпис
404NotFoundExceptionCashback не знайдено
500DatabaseExceptionПомилка запиту до бази даних

Отримання кешбеку за ID

Ендпоінт: /cashbacks/:cashbackId

Метод: GET

Опис: Отримати конкретний cashback за його ID.

Параметри шляху

ПараметрТипОбов’язковийОпис
cashbackIdUUIDТакID cashback для отримання

Відповідь

Те саме, що й відповідь на отримання списку кешбеків для одного елемента.

Помилки

HTTP-кодТип помилкиОпис
404NotFoundExceptionCashback не знайдено
500DatabaseExceptionПомилка запиту до бази даних

Створення кешбеку

Ендпоінт: /cashbacks

Метод: POST

Опис: Створити нову пропозицію cashback.

Тіло запиту

ПолеТипОбов’язковийОпис
bankIdUUID[]ТакМасив ідентифікаторів банків, пов’язаних із cashback
namestringТакНазва пропозиції cashback
descriptionstringНіОпис cashback
bannerSmallstringНіURL-адреса зображення малого банера
bannerBigstringНіURL-адреса зображення великого банера
skustring[]НіМасив значень SKU
categoryIdstring[]НіМасив ідентифікаторів категорій
dateFromISO8601 stringТакДата початку дії пропозиції cashback
dateToISO8601 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-кодТип помилкиОпис
400WrongRequestExceptionCashback із такими даними вже існує
500DatabaseExceptionПомилка бази даних

Оновлення кешбеку

Ендпоінт: /cashbacks/:cashbackId

Метод: PATCH

Опис: Оновити наявний cashback за його ID.

Параметри шляху

ПараметрТипОбов’язковийОпис
cashbackIdUUIDТакID cashback для оновлення

Тіло запиту

ПолеТипОбов’язковийОпис
bankIdUUID[]НіМасив ідентифікаторів банків, пов’язаних із cashback
namestringНіНазва пропозиції cashback
descriptionstringНіОпис cashback
bannerSmallstringНіURL-адреса зображення малого банера
bannerBigstringНіURL-адреса зображення великого банера
skustring[]НіМасив значень SKU
categoryIdstring[]НіМасив ідентифікаторів категорій
dateFromISO8601 stringНіДата початку дії пропозиції cashback
dateToISO8601 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-кодТип помилкиОпис
404NotFoundExceptionCashback не знайдено
400WrongRequestExceptionПов’язана сутність не існує
500DatabaseExceptionПомилка бази даних

Отримання назв категорій

Ендпоінт: /get-category-name

Метод: POST

Опис: Пошук назви категорії за ідентифікаторами.

Тіло запиту

ПараметрТипОбов’язковийОпис
categoryIdsarray [string]ТакІдентифікатори категорій для пошуку

Відповідь

Масив об’єктів:

ПолеТипОпис
idUUIDУнікальний ідентифікатор категорії
nameobjectНазва категорії

Помилки

HTTP-кодТип помилкиОпис
500DatabaseExceptionПомилка запиту до бази даних

Збереження кешбеків клієнта

Увага: Банк має надсилати інформацію про вибір cashback користувачем у додатку банку та скасування цього вибору.

Ендпоінт: /customer-cashbacks

Метод: POST

Опис: Зберегти cashbacks клієнтів.

Тіло запиту

ПараметрТипОбов’язковийОпис
customerIdstringТакІдентифікатор клієнта
cashbackIdarray [string]ТакІдентифікатори cashback для пошуку

cashbackId може бути ідентифікатором у системі банку або ідентифікатором Deeployalty, який ви отримали з системи Deeployalty.

Відповідь

Масив об’єктів:

ПолеТипОпис
idUUIDУнікальний ідентифікатор запису
customer_idobjectІдентифікатор клієнта
cashback_idobjectІдентифікатор cashback
bank_idobjectІдентифікатор банку
retailer_idobjectІдентифікатор ритейлера

Помилки

HTTP-кодТип помилкиОпис
500DatabaseExceptionПомилка запиту до бази даних