Dinedi.NET API: различия между версиями

Материал из Gravity Defied Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
 
Строка 7: Строка 7:
Ниже перечислены ключи запроса и схематично представлены возможные значения. Символом «*» помечены ещё не реализованные значения.
Ниже перечислены ключи запроса и схематично представлены возможные значения. Символом «*» помечены ещё не реализованные значения.


===Список ключей===
===action===
  '''action=[read|*write]'''
  '''action=[read|*write]'''
Ключ '''action''' позволяет указать тип выполняемой операции. Значение ''read'' используется для чтения данных из базы, ''write'' для записи данных. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки ''1''.<br /><br />
Ключ '''action''' позволяет указать тип выполняемой операции. Значение ''read'' используется для чтения данных из базы, ''write'' для записи данных. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки ''1''.<br />


===type===
  action=[read|*write]&'''type=[tracks|*skins]'''
  action=[read|*write]&'''type=[tracks|*skins]'''
Ключ '''type''' используется при любом допустимом значении '''action''' и позволяет указать, с каким разделом предстоит работать. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки ''2''.<br /><br />
Ключ '''type''' используется при любом допустимом значении '''action''' и позволяет указать, с каким разделом предстоит работать. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки ''2''.<br />


===view===
  action=[read]&type=[tracks|*skins]&'''view=[list|*id]'''
  action=[read]&type=[tracks|*skins]&'''view=[list|*id]'''
Ключ '''view''' используется только при значении '''action'''=''read'' и при любом допустимом значении '''type'''. Значение ''list'' используется для получения массива элементов базы, ''id'' для работы с конкретным элементом базы. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки ''3''.<br /><br />
Ключ '''view''' используется только при значении '''action'''=''read'' и при любом допустимом значении '''type'''. Значение ''list'' используется для получения массива элементов базы, ''id'' для работы с конкретным элементом базы. Отсутствие этого ключа или его недопустимое значение вернёт код ошибки ''3''.<br />


===order, start, limit===
  ~&view=[list]&'''order=[''enum'' asc|desc = desc]&start=[''int'' startPosition = 0]&limit=[''int'' loadLimit = 10]'''
  ~&view=[list]&'''order=[''enum'' asc|desc = desc]&start=[''int'' startPosition = 0]&limit=[''int'' loadLimit = 10]'''
Ключ '''order''' используется только при значении '''view'''=''list'' и при любом допустимом наборе значений ключей для использования ключа '''view'''. Значение ''asc'' используется для сортировки элементов массива по возрастанию ID, ''desc'' для сортировки по убыванию ID. Ключ является необязательным и имеет значение по умолчанию ''desc''. При указании недопустимого значения используется значение по умолчанию.<br />
Ключ '''order''' используется только при значении '''view'''=''list'' и при любом допустимом наборе значений ключей для использования ключа '''view'''. Значение ''asc'' используется для сортировки элементов массива по возрастанию ID, ''desc'' для сортировки по убыванию ID. Ключ является необязательным и имеет значение по умолчанию ''desc''. При указании недопустимого значения используется значение по умолчанию.<br />
Строка 28: Строка 31:
  {"errcode":[int ''errcode''],"errtext":[string ''errtext''],"data":[variative ''data'']}
  {"errcode":[int ''errcode''],"errtext":[string ''errtext''],"data":[variative ''data'']}
где ''errcode'' - целочисленное значение кода ошибки, ''errtext'' - строковое значение текста ошибки, ''data'' - вариативное значение блока данных.
где ''errcode'' - целочисленное значение кода ошибки, ''errtext'' - строковое значение текста ошибки, ''data'' - вариативное значение блока данных.
===Коды ошибок===
{| class="wikitable"
|-
! Код !! Текстовое сообщение !! Описание
|-
| 0 || Request successful || Возвращается при успешном запросе
|-
| 1 || Unknown request action || Возвращается при некорректном значении ключа '''[[#action|action]]'''
|-
| 2 || Unknown request type || Возвращается при некорректном значении ключа '''[[#type|type]]'''
|-
| 3 || Unknown view type || Возвращается при некорректном значении ключа '''[[#view|view]]'''
|}

Текущая версия от 15:56, 3 февраля 2013

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