Документація API
1. Отримання чеків продажу
Метод: GET
URL:
{{domain}}/api/{{lang}}/sales/checks?new_pagination=true&page[num]=1
Запит
Для отримання даних про чеки продажу необхідно виконати GET-запит за вказаною URL-адресою. Для аутентифікації використовуйте токен доступу access_token, отриманий при авторизації (див. секцію “Авторизація”).
Пагінація
Для навігації між сторінками результатів API підтримує нову пагінацію. Основні параметри:
- new_pagination=true – увімкнення нової пагінації.
- page[num]=1 – номер сторінки, починаючи з 1.
- page[size]=10 – кількість записів на сторінку.
Сортування
API дозволяє сортувати результати за вказаною колонкою у порядку зростання або спадання. Для цього використовуються параметри:
- sort[column] – назва поля для сортування (наприклад, id_check).
- sort[order] – порядок сортування (ascending або descending).
Приклад сортування:
- sort[column]=id_check&sort[order]=ascending – сортує результати за ідентифікатором чеку (id_check) у зростаючому порядку.
Фільтрація
API дозволяє використовувати спеціальні умови для фільтрів за допомогою ключа term. Цей параметр визначає, як саме слід інтерпретувати значення фільтра.
Основні умови:
- Без term (default) – Використовується точне порівняння. Приклад: filters[id_check][value]=323
- term: like – Використовується для пошуку значень, що частково збігаються із вказаним.
Приклад: filters[id_check][value]=323&filters[id_check][term]=like У цьому випадку повертаються записи, де id_check містить підрядок 323. - term: not – Використовується для виключення записів, які відповідають значенню.
Приклад: filters[id_check][value]=323&filters[id_check][term]=not У цьому випадку повертаються всі записи, де id_check не дорівнює 323.
Приклад фільтрації за діапазоном дат:
- filters[time_check][value][from]=2023-12-31T22:00:00.000Z – включає записи, створені після або рівно 31 грудня 2023 року о 22:00 (за UTC).
- filters[time_check][value][to]=2024-12-30T08:54:26.564Z – включає записи, створені до або рівно 30 грудня 2024 року о 08:54:26 (за UTC).
- filters[time_check][type]=date_range – обов’язковий параметр при фільтрації по діапазону дат, що вказує на тип діапазон дат для фільтрації
- filters[time_check][type]=date_time – обов’язковий параметр при фільтрації по даті, що вказує на тип дати початку, або дати кінця для фільтрації
Фільтри можуть комбінуватися для звуження результатів:
filters[time_check][value][from]=2023-12-31T22:00:00.000Z&filters[time_check][value][to]=2024-12-30T08:54:26.564Z&filters[time_check][type]=date_range
Відповідь
У разі успішного запиту API повертає JSON-об’єкт із даними чеків продажу. Нижче наведено структуру відповіді:
{
"data": [
{
"id_check": 0,
"id_registrar": "string",
"guid": "string",
"id_workplace": 0,
"id_session": 0,
"id_scheck": 0,
"time_check": "string",
"id_employee": 0,
"sum_discount": 0,
"sum_check": 0,
"type_payment": 0,
"id_discount_card": 0,
"attrs": {},
"time_create": "string",
"time_change": "string",
"id_printer": 0,
"print_mode": "string",
"fiscal_number": "string",
"sync": "string",
"lines": [
{
"id_check_line": 0,
"id_check": 0,
"guid": "string",
"id_workplace": 0,
"id_goods": 0,
"id_unit": 0,
"id_series": "string",
"search_key": "string",
"quantity": 0,
"price": 0,
"discount": 0,
"summ": 0,
"time_create": "string",
"time_change": "string",
"attrs": {}
}
],
"workplace": {},
"outlet": {}
}
],
"links": {
"first": "string",
"last": "string",
"prev": "string",
"next": "string"
},
"meta": {
"current_page": 0,
"from": 0,
"last_page": 0,
"path": "string",
"per_page": 0,
"to": 0,
"total": 0
}
}
Опис полів у відповіді
- data: Масив об’єктів, кожен з яких представляє окремий чек.
- id_check: Ідентифікатор чеку.
- guid: Унікальний ідентифікатор чеку.
- time_check: Час створення чеку.
- sum_check: Загальна сума чеку.
- lines: Масив позицій у чеку з детальною інформацією про товари (наприклад, quantity, price, discount).
- links: Навігаційні посилання для пагінації.
- meta: Мета-інформація, яка включає дані про поточну сторінку, кількість сторінок, кількість елементів тощо.
2. Авторизація
Метод: POST
URL: https://admin-api.poskit.com.ua/auth/login
Параметри запиту
Передайте такі дані для авторизації:
- email: електронна адреса користувача.
- password: пароль користувача.
Приклад запиту
curl -s –globoff –compressed -X POST \
-H ‘Accept: application/json’ -H ‘Accept-Encoding: gzip, deflate, br, zstd’ \
-H ‘Content-Type: application/json;’ \
–data-raw ‘{“email”:”[email protected]”,”password”:”Ridne222″}’
Приклад використання токена для запитів
Отриманий access_token використовується для подальших GET-запитів до API:
curl ‘https://380678899000.poskit.com.ua:8443/api/en/sales/checks?new_pagination=true&page[size]=1’ –compressed \
-H ‘Accept: application/json’ \
-H ‘Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9…’