Dinedi.NET API

Материал из Gravity Defied Wiki
Версия от 20:44, 3 февраля 2013; Shevron (обсуждение | вклад) (Список ключей)

Перейти к: навигация, поиск

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. При указании недопустимого значения используется значение по умолчанию.

Ключ start используется при тех же условиях, что и ключ order. Значение startPosition является целым неотрицательным числом, указывающим позицию элемента массива, с которого начинается получение следующих элементов, исключая сам элемент, находящийся на этой позиции. Ключ является необязательным и имеет значение по умолчанию 0. При указании недопустимого значения используется значение по умолчанию.

Ключ limit используется при тех же условиях, что и ключ order. Значение loadLimit является целым положительным числом, указывающим количество выводимых элементов массива, начиная с позиции startPosition, исключая элемент позиции startPosition. Ключ является необязательным и имеет значение по умолчанию 10. При указании недопустимого значения используется значение по умолчанию.

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

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

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

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