API

Взаимодействия реализуются как HTTP обращения методом POST на определенные URL, для каждого типа запроса - свой адрес.

Параметры передаются как параметры POST запроса. Все текстовые поля должны иметь кодировку Юникод (UTF-8).

Для авторизации обращения к системе, в любом запросе со стороны клиента должен быть указан адрес электронной почты и использован API key, которые указаны в профиле клиента.

В качестве параметра в POST передаётся массив из трех элементов: {email, body, crc} .

email - адрес электронной почты клиента, указанный в профиле

body - параметры выполняемого запроса

crc - параметр вычисленный как хеш-значение sha1 (body + APIkey)  (Secure Hash Algorithm 1 — алгоритм криптографического хеширования.)  Параметр необходим для обеспечения авторизации и безопасности выполнения запроса. Значение передаваемое для расчета sha1 не должно содержать пробелов и символов переноса строки.

 

Результат обработки запроса возвращается в виде XML объекта. Например:

<?xml version="1.0" encoding="utf-8"?>
<Результат>
 <Успешно>1</Успешно>
 <Описание>Заказ успешно добавлен</Описание>
</Результат>


В случае если при выполеннии запроса произошла ошибка, то в ответ приходит XML объект с описанием ошибки

<Результат>
 <Ошибка>1</Ошибка>
 <Описание>Описание ошибки</Описание>
</Результат>


Создание нового заказа

/api/orders/add

В качестве параметра body передается XML с заказом. Структура и содержание полностью совпадет с файлом загрузки.


Редактирование существующего заказа

/api/orders/add

Для редактирования заказа используется та же функция что и для создания нового. В случае если заказ в системе с номер отсутствует, он заменяется на новый, иначе создается новый.


Удаление заказа

/api/orders/remove/

В качестве body необходимо указать номер заказа


Проверка состояния заказа (чтение заказа)

/api/orders/check/

В качестве body необходимо указать номер заказа.

В качестве ответа приходит XML-объект.
В данных в том числе присутствует информация:
- состоянии заказа; { 0 - Заказ в работе; 1 - Заказ доставлен; 2 - Заказ отклонен }
- гео-данные курьера; <Координаты>...</Координаты>
- гео-данные места доставки; <Координаты_заказа>...</Координаты_заказа>
- уникальная ссылка для просмотра информации о заказе, которая может быть отправлена клиенту. <Ссылка>...</Ссылка>

<Результат>
 <Завершен>0, 1 или 2</Завершен>
 <Удален>1</Удален>
 <Описание>Заказ доставлен</Описание>
 <Причина>Нет дома</Описание>
 <Ссылка>https://…</Ссылка>
 <Курьер>1</Курьер>
 <Доставляется>1</Доставляется>
 <Местоположение>1</Местоположение>
 <Координаты>
  <x>...</x>
  <y>...</y>
  <Время>...</Время>
 </Координаты>
 <Координаты_заказа>
  <x>...</x>
  <y>...</y>
 </Координаты_заказа>
</Результат>

 


Читать далее:

г.Екатеринбург, e-mail: info@e-couriers.ru

Справочная информация