Общий принцип обмена данными БИТ Аппетита с внешним сервером столовой
В данной схеме интеграции БИТ Аппетит выступает в качестве клиента, который инициирует обмен данными по средствам HTTP запросов к внешнему серверу столовой. Таким образом на стороне сервера должна быть реализована обработка запросов, по которым БИТ Аппетит периодически обращается к нему.
Формат HTTP запросов
Запросы, которые осуществляет БИТ Аппетит, представляют собой GET/POST запросы следующего вида:
http(s)://{host}:{port}/{page_prefix}{page}{page_suffix}?{parameter1}={value1}&{parameter2}={value2} ... {parameterN}={valueN}
Где параметры имеют следующие значения
- host - сетевой адрес
- port - порт tcp/ip порт соединения (80 по умолчанию)
- page_prefix - путь к странице
- page - наименование страницы (метод API)
- page_suffix - суффикс страницы (например расширение .php или .html)
- parameterN - имя параметра
- valueN - значение параметра.
Для передачи параметров содержащих XML структуру предварительно используется кодирование строки в BASE64.
Общий вид ответов
Взаимодействие сервера БИТ Аппетита(клиент) с внешним сервером происходит в виде серии GET/POST запросов.
Каждый метод для работы с API определяется URL (страницей на сервере), параметрами (соответствуют параметрам GET/POST) и ответом.
Ответ представляет собой текст, содержащий данные в формате XML.
Общий вид ответа в случае успеха:
<?xml version="1.0" encoding="UTF-8"?> <response> <result>ok</result> ...Данные... </response>
В случае ошибки на сервере:
<?xml version="1.0" encoding="UTF-8"?> <response> <result>error</result> <description>{Error description}</description> <error_code>{Error num}</error_code> </response>