ENG  РУС
>

API

Описание протокола

URL : https://www.corezoid.com/api/1/json/{API_LOGIN}/{GMT_UNIXTIME}/{SIGNATURE}

Где идентификаторы в фигурных скобках обозначают следующие параметры:

  • {API_LOGIN} - логин авторизации к API, получаете от сервиса, обязательный параметр.
  • {GMT_UNIXTIME} - время запроса, в формате unix time в секундах (epoch time), по Гринвичу (GMT+0), целое число, обязательный параметр.
  • {SIGNATURE} - подпись запроса, обязательный параметр, регистр букв не важен, считается по формуле: hex( sha1({GMT_UNIXTIME} + {API_SECRET} + {CONTENT} + {API_SECRET}) ), где
    • hex() - функция, которая приводит бинарные данные к шестнадцатеричному формату
    • sha1() - стандартная хеш-функция SHA-1, должна возвращать бинарные данные
    • + - конкатенация текстовой строки
    • {API_SECRET} - секретный ключ который выдается вместе с логином {API_LOGIN}
    • {CONTENT} - тело запроса

Весь запрос находится в http-теле, он же описывался раньше в формуле подписи как {CONTENT}.

Кодировка текста utf-8. Это полностью соответствует стандарту, и посылается вместе с следующим http заголовком:

  • Для "json" формата протокола: Content-type: application/json; charset=utf8

Формат запроса/ответа

Запрос посылается в виде списка операций:

{
  "ops": [
    {
      "type": "create",
      "obj": "conv"/*…*/
    },
    {
      "type": "modify",
      "obj": "node",
      "obj_id": "n1234"/*…*/
    }
  ]
}
  • type - тип операции.
  • obj - тип объекта над которым выполняется операция.
  • obj_id - идентификатор объекта над которым происходит операция.

Ответ присылается в виде списка операций соответствующих операциям запроса:

{
  "request_proc": "ok",
  "ops": [
    {
      "obj": "conv",
      "obj_id": "1234",
      "proc": "ok"
    },
    {
      "obj": "node",
      "obj_id": "n1234",
      "proc": "obj_id_not_found"
    }/*…*/
  ]
}
  • request_proc - глобальный статус обработки всего пакета, если "ok" - то пакет в целом нормальный, иначе ошибка.
  • proc - статус обработки операции, если "ok" - то удачное выполнение, иначе ошибка (или есть специальные статусы отложенных операций).

Ответ когда происходит ошибка по всему пакету:

{
  "request_proc": "format_error",
  "ops": [

  ]
}

В этом случае список операций в ответе пуст поскольку ни одна из операций запроса не была выполнена.

comments powered by HyperComments