Документация 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": {},
"good": {
"id_goods": "number",
"id_group": "number",
"id_group_tax": "number",
"name_goods": "string",
"sort_order": "number | null",
"id_print_group": "number",
"type_goods": "number",
"active": "boolean",
"guid": "string",
"time_create": "string",
"time_change": "string",
"is_completed": "boolean",
"purchase_price": "number",
"sale_price": "number",
"goods_attrs": {
"id_goods": "number",
"control_rest": "boolean",
"permission_type": "number",
"extern_service_id": "number | null",
"print_name_goods": "string",
"free_price": "boolean",
"only_bar_code": "boolean",
"control_showcase": "boolean",
"min_order": "string",
"id_client": "number",
"use_series": "boolean",
"id_text": "number | null",
"id_image": "number",
"id_modificator_group": "number | null",
"weight_control": "boolean",
"guid": "string",
"time_create": "string",
"time_change": "string",
"id_excise_type": "number | null",
"forbidden_return": "boolean",
"vendor_code": "string | null",
"id_category": "number | null",
"marking": "number",
"allergen": "boolean",
"for_sale": "boolean",
"cooking_time": "number | null",
"id_cooking_place_type": "number | null",
"code_ucgfea": "string | null",
"id_country": "number",
"cooking_place_type": "string | null"
}
}
}
],
"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":"********@*******.com","password":"********"}'
Пример использования токена для запросов
Полученный access_token используется для дальнейших GET-запросов к API:
curl 'https://380*********.poskit.com.ua:8443/api/en/sales/checks?new_pagination=true&page[size]=1' --compressed \
-H 'Accept: application/json' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...'