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":"Сохранено!"} 

Параметры 

 

ПараметрФорматПрименениеОписание
tokenStringОбязательныйтокен - секретный ключ доступа к API.
См. в личном кабинете ( Кабинет > Настройки > Профиль)
appStringОбязательныйкод виртуальной кассы (# кассы) к которой привязан фискальный регистратор.
См. его тут ( Магазины > Список онлайн-касс)
operationStringОбязательныйОбращения к кассе на выполнение операции. Команды:
print - проведение товара,
status - запрос состояния
и т.д.Более подробно об этом тут
siteStringНеобязательныйНазвание сайта интернет-магазина или его адрес в сети.
emailStringОбязательныйE-mail плательщика на который будет отправлена квитанция об оплате
cellphoneStringНеобязательныйМобильный номер плательщика.
commentStringНеобязательныйКомментарий оплаты.
contentsJsonОбязательный для
"operation":"print",
"operation":"refund"
Данные о покупке состоящий из одного и более массивов.
Поля:
productName (String) - наименование товара,
code (String) - код (артикул или штрих-код) товара,
price (Numeric) - цена товара (в руб.),
quantity (Numeric) - количество,
discount (Numeric) - скидка (в руб.),
nds (String) - Ставка налога(по умолчанию - без НДС) . Возможные значения:

  • ' '  - без НДС
  • '0' - НДС 0%
  • '10' - НДС 10%
  • '18' - НДС 18%
  • '110' - НДС 10/110
  • '118' - НДС 18/118

Более подробно об этом тут
nc_sumNumericОбязательныйNon-cash sum - сумма всех позиций.
priorityNumericНеобязательныйПриоритет выполнения из очереди, от 0 до 100000. Чем больше число, тем выше приоритет.
exterNumStringНеобязательныйИдентификатор операции в вашей системе. Возвращается в ответе для контроля.