Dinedi.NET API

Материал из Gravity Defied Wiki
Версия от 15:32, 3 февраля 2013; Shevron (обсуждение | вклад) (Защищена страница «Dinedi.NET API»: служебная информация ([edit=sysop] (бессрочно) [move=sysop] (бессрочно)) [каскадная])
Перейти к навигации Перейти к поиску

Dinedi.NET API — сервис для быстрой и удобной автоматизированной работы с базой сайта Dinedi.NET.

Описание

Все запросы к API принимаются и обрабатываются файлом api.php. Запрос передаётся в виде GET строки вида «?key1=value1&key2=value2&...». Результат обработки передаётся в теле ответа с HTTP кодом состояния 200 в виде JSON строки. Ответ имеет кодировку «windows-1251». Каждый ответ содержит в себе код ошибки errcode, описание ошибки errtext и блок данных data.

Структура запроса

Ниже перечислены ключи запроса и схематично представлены возможные значения. Символом «*» помечены ещё не реализованные значения.

Список ключей

action=[read|*write]

Ключ action позволяет указать тип выполняемой операции. Значение read используется для чтения данных из базы, write для записи данных. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки 1.

action=[read|*write]&type=[tracks|*skins]

Ключ type используется при любом допустимом значении action и позволяет указать, с каким разделом предстоит работать. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки 2.

action=[read]&type=[tracks|*skins]&view=[list|*id]

Ключ view используется только при значении action=read и при любом допустимом значении type. Значение list используется для получения списка элементов базы, id для работы с конкретным элементом базы. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки 3.

~&view=[list]&order=[enum asc|desc = desc]&start=[int startPosition = 0]&limit=[int loadLimit = 10]

Ключ order используется только при значении view=list и при любом допустимом наборе значений ключей для использования ключа view. Значение asc используется для сортировки по возрастанию ID, desc для сортировки по убыванию ID. Ключ является необязательным и имеет значение по умолчанию desc.

Структура ответа

Каждый ответ имеет вид:

{"errcode":[int errcode],"errtext":[string errtext],"data":[variative data]}

где errcode - целочисленное значение кода ошибки, errtext - строковое значение текста ошибки, data - вариативное значение блока данных.