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

https://api.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": [

  ]
}

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

Найдено совпадений ""

    Не найдено ""

    Вы бы порекомендовали Вашим коллегам документацию Corezoid.com для изучения?
    Введите, пожалуйста, Ваш email для обратной связи
    Спасибо!