После того, как Вы выполнили запрос на формирование чека, в ответ система выдает в формате JSON следующие параметры:
{"result":"ok","code":"007","info":"Сохранено!","data":{"id":"0000000144","exterNum":"454533"}}
где:
result - статус выполнения запроса("ок", "err");
code - код результата (Об ошибках см. тут );
info - текстовое описание (Подробнее см. тут);
и массив данных data, где:
id - уникальный номер в сервисе "Shop control Касса!";
exterNum - номер заказа которой был передан интернет-магазином;
Обработка ответа (пример на PHP):
/*-------См. пример формирования чека------- $response = curl_exec($curl);//Получаем данные curl_close($curl); // закрытие сеанса ---------См. пример формирования чека--------*/ $resp =json_decode($response); // Превращаем строку в объект // Отлавливаем ошибки возникшие при превращении switch (json_last_error()) { case JSON_ERROR_NONE: $data_error = ''; break; case JSON_ERROR_DEPTH: $data_error = 'Достигнута максимальная глубина стека'; break; case JSON_ERROR_STATE_MISMATCH: $data_error = 'Неверный или не корректный JSON'; break; case JSON_ERROR_CTRL_CHAR: $data_error = 'Ошибка управляющего символа, возможно верная кодировка'; break; case JSON_ERROR_SYNTAX: $data_error = 'Синтаксическая ошибка'; break; case JSON_ERROR_UTF8: $data_error = 'Некорректные символы UTF-8, возможно неверная кодировка'; break; default: $data_error = 'Неизвестная ошибка'; break; } // Если ошибки есть, то выводим их или как то обрабатываем if($data_error !='') echo $data_error; // Присваиваим данные переменным $result = $resp->result; $code = $resp->code; $exterNum = $resp->data->exterNum;
$id = $resp->data->id;
Проверка состояния выполнения задания (пример на PHP):
Получив $id или $exterNum можно контролировать состояние выполнения задания. Преоритет отдается $id. Если номер операции будет не указан ($id='' и $exterNum=''), проверка состояния будет выполнена по последней добавленной позиции.
$order = array( "token" => '862df162a3c25c339f26a97c462dd', "app" => '32322444', "id" => $id, "operation" => "status" ); $json = json_encode($order, JSON_UNESCAPED_UNICODE); $url ='https://kassa.shop-ctrl.ru/api/1/api.php'; $curl = curl_init(); curl_setopt($curl,CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($json))); curl_setopt($curl, CURLOPT_POSTFIELDS, $json); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); echo $response;
Если вы контролируете состояние по идентификатору операции $exterNum интернет-магазина, то в примере выше будет:
$order = array( "token" => '862df162a3c25c339f26a97c462dd', "app" => '32322444', "exterNum" => $exterNum, "operation" => "status" );
Пример проверки состояния выполнения задания в виде GET-запроса:
https://kassa.shop-ctrl.ru/api/1/api.php?action=1&token=862df162a3c25c339f26a97c462dd&app=32322444&operation=status&id=00000000144