Skip to content

API - общие положения

Общие положения

API предназначен для интеграции торговых систем клиента с сервисом HEADO и поддерживает JRPC 2.0-протокол вызова методов.

Методы API делятся на два раздела:

  • Device API - для взаимодействия с устройством;
  • Management API - для взаимодействия в рамках торговой сети.

Warning

Для взаимодействия с API HEADO на передающей стороне необходимо обеспечить доступность https://api.heado.ru и https://gamma.heado.ru по 80 и 443 портам

Протокол обмена данными

Запрос представляет собой JSON-сериализованный объект отправляемый с помощью POST-метода в виде RAW_POST_DATA

1
2
3
4
5
6
7
{
                        "jsonrpc":"2.0",
                        "id": "[Свободно-генерируемый идентификатор запроса]"
                        "method": "[Название вызываемого метода]",
                        "params":  [объект или массив аргументов вызываемого метода]
                       }
                    }

Ответ так же является JSON-сериализованным объектом

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

или отрицательный

1
2
3
4
5
6
7
8
{
                        "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;
  • диагностика ошибок с помощью программных средств контроля.