API HEADO
Общие положения
API предназначен для интеграции торговых систем клиента с сервисом HEADO и поддерживает JRPC 2.0-протокол вызова методов.
Методы API делятся на два раздела:
  • Device API - для взаимодействия с устройством;
  • Management API - для взаимодействия в рамках торговой сети.
ВАЖНО: Для взаимодействия с API HEADO на передающей стороне необходимо обеспечить доступность https://api.heado.ru и https://gamma.heado.ru по 80 и 443 портам
Протокол обмена данными
Запрос представляет собой JSON-сериализованный объект отправляемый с помощью POST-метода в виде RAW_POST_DATA

                      {
                        "jsonrpc":"2.0",
                        "id": "[Свободно-генерируемый идентификатор запроса]"
                        "method": "[Название вызываемого метода]",
                        "params":  [объект или массив аргументов вызываемого метода]
                       }
                    }
Ответ так же является JSON-сериализованным объектом

                      {
                        "jsonrpc":"2.0",
                        "id":"[Идентификатор запроса на который дан ответ]"
                        "result":[Любой тип данных - объект, массив, значение]
                      }
или отрицательный

                      {
                        "jsonrpc":"2.0",
                        "id":"[Идентификатор запроса на который дан ответ]"
                        "error": {
                        "code":"[Код ошибки]",
                        "message":"[Человекочитаемое пояснение ошибки]"
                        }
                      }
Список ошибок
КОД ОШИБКИПОЯСНЕНИЕ
-32000Неизвестный идентификатор сотрудника
-32500Ошибка клиента
-32600Неправильный формат запроса
-32601Неправильная операция
-32602Неправильные параметры операции
-32605Операция не удалась (повторить отправку)
-32606Слишком частое выполнение операции (повторить отправку)
-32610Ошибка БД (повторить отправку)
-32700Неправильный формат сообщения
-32800Неизвестный терминал
-32801Терминал заблокирован
-32802Невалидный секретный ключ
-32803Терминал с таким идентификатором уже существует
-33000Неизвестный пользователь
-33001Владелец POS не найден
-33100Отказ в авторизации
Требования к надежности потоков данных
Надежность потоков данных должна обеспечиваться комплексом организационно-технических мероприятий отладки, поиска и исключения ошибок, а также технологическими процедурами резервирования.
При реализации потоков данных должны обеспечиваться:
  • защита от потери данных в условиях возможных сбоев и отказов канала передачи данных, доступности API HEADO;
  • диагностика сбоев и отказа канала передачи данных и доступности API HEADO;
  • протоколирование событий при передаче данных с возможностью последующего анализа причин возникновения критических ситуаций.
В качестве мер по повышению надежности потоков данных должны быть предусмотрены:
  • мониторинг доступности API HEADO;
  • отложенная передача данных в случае недоступности API HEADO (прогрессивная задержка повторной передачи, например: 0, 3, 30, 60 сек, и.т.д.);
  • обработка ошибок, возвращаемых API HEADO;
  • повторная отправка данных в случае наличия ошибок API HEADO;
  • диагностика ошибок с помощью программных средств контроля.
Появился вопрос ?
При возникновении ошибки, предоставьте:
  • Полный URL по которому происходит JSON запрос
  • Тело JSON запроса
  • Ответ сервера HEADO на JSON запрос
Made on
Tilda