Dinedi.NET API

Материал из Gravity Defied Wiki
Версия от 15:56, 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

action=[read|*write]

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

type

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

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

view

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

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

order, start, limit

~&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 - вариативное значение блока данных.

Коды ошибок

Код Текстовое сообщение Описание
0 Request successful Возвращается при успешном запросе
1 Unknown request action Возвращается при некорректном значении ключа action
2 Unknown request type Возвращается при некорректном значении ключа type
3 Unknown view type Возвращается при некорректном значении ключа view