API для взаимодействия Интернет-магазина с онлайн-кассой.
Архитектура API касcы
API для касcы — программный интерфейс системы для взаимодействия с онлайн-кассой.
API использует REST архитектуру. Параметры передаются методом POST в формате JSON, кодировке UTF-8 с обязательным указанием заголовка Content-Type: application/json.
https://kassa.shop-ctrl.ru/api/1/api.php - адрес для отправки запросов.
Запрос состояния можно также получать в виде GET запроса. Более подробно об это см. в Получения информации о формировании чека платежа
Пример данных (Формирование кассового чека):
data: { "token":"862df162a3c25c339f26a97c462dd", "app":"39464", "comment":"интернет заказ", "operation":"print", "cashier":"Иванов В.В.", "site":"www.internet-mag.ru", "priority":1000, "email":"customer@mail.ru", "contents": [ { "productName":"Супер товар", "code":"1b12152", "price":34, "quantity":1, "discount":0, "nds":"" }, { "productName":"Классный товар", "code":"1b123152", "price":3100, "quantity":3, "discount":50, "nds":"18" } ],
"nc_sum":9334,
"exterNum":"34789" }
Ответ система выдает в JSON формате, который как минимум включает в себя три параметра: result, code и info:
{"result":"ok","code":"007","info":"Сохранено!"}
Параметры
Параметр | Формат | Применение | Описание |
---|---|---|---|
token | String | Обязательный | токен - секретный ключ доступа к API. См. в личном кабинете ( Кабинет > Настройки > Профиль) |
app | String | Обязательный | код виртуальной кассы (# кассы) к которой привязан фискальный регистратор. См. его тут ( Магазины > Список онлайн-касс) |
operation | String | Обязательный | Обращения к кассе на выполнение операции. Команды: print - проведение товара, status - запрос состояния и т.д.Более подробно об этом тут |
site | String | Необязательный | Название сайта интернет-магазина или его адрес в сети. |
String | Обязательный | E-mail плательщика на который будет отправлена квитанция об оплате | |
cellphone | String | Необязательный | Мобильный номер плательщика. |
comment | String | Необязательный | Комментарий оплаты. |
contents | Json | Обязательный для "operation":"print", "operation":"refund" | Данные о покупке состоящий из одного и более массивов. Поля: productName (String) - наименование товара, code (String) - код (артикул или штрих-код) товара, price (Numeric) - цена товара (в руб.), quantity (Numeric) - количество, discount (Numeric) - скидка (в руб.), nds (String) - Ставка налога(по умолчанию - без НДС) . Возможные значения:
Более подробно об этом тут |
nc_sum | Numeric | Обязательный | Non-cash sum - сумма всех позиций. |
priority | Numeric | Необязательный | Приоритет выполнения из очереди, от 0 до 100000. Чем больше число, тем выше приоритет. |
exterNum | String | Необязательный | Идентификатор операции в вашей системе. Возвращается в ответе для контроля. |