Документация

Обобщение

API вызовы

У Game-Score API 2 разные входные точки - одна для тестирования (Sandbox) и одна для реального использования. Тестовая входная точка находится по адресу http://game-score.net/apisandbox/. Базы данных входной точки Sandbox режиме обнуляются ежедневно и каждый клиент может установить точное время для этой операции.
Входная точка для реального использования находится по адресу http://game-score.net/api/. Все данные, собранные с помощью этой точки сохраняются пока приложение активно, так что будьте осторожны при его использовании. Во время разработки и тестирования нужно использовать режим Sandbox и переключится в рабочий режим, как только приложение готово.

 

Game-Score API можно использовать через POST или GET запросы. API поддерживает как XML, так и JSON протоколы. Сервер автоматически разпознает тип и детали запросов и возвращенный ответ будет того же типа

POST JSON запрос

Метод Адрес
POST api/json/

GET JSON запрос

Метод Адрес
GET api/json/

URL структура

Структура адреса (URL )используется для форматирования и запросов к серверу. После api/ находится дескриптор протокола JSON /json/ или XML /xml/. Вслед за дескриптором находится имя API метода. В конце адреса находятся параметры метода, которые уникальны для каждого метода. При GET вызовах параметры передаются как URL_PARAM

Запрос

Метод Адрес
GET api/json/methodName

Methods

1. startSession

Инициализирует новую сессию. Ответ содержит идентификатор созданной сессии. Метод используется для того, чтобы отслеживать, сколько игр сыграно во время одной сессии. Метод нужно вызывать сразу после старта игры/инициализации приложения.

Запрос

Метод Адрес
GET/POST api/json/startSession/
api/xml/startSession/
Тип Параметры Величины
var appId string

appId
appId должен быть отправлен с каждым клиентским запросом. appId можно скопировать из административной панели в секции 'Приложения'. appId используется для валидации приложений и их статуса

Ответ

Статус Ответ
200 { "success": , "sessionid": }
403 {"error":"API key is missing."}
401 {"error":"Invalid API key."}
500 {"error":"Something went wrong. Please try again later."}

2. addScore

Записывает новый резултат в таблицу результатов. Если значение параметра highscore установить на true, в ответе будет присутствовать и список лучших результатов.

Вызов

Метод Адрес
GET/POST api/json/addScore/
api/xml/addScore/
Тип Параметры Величины
var appId string
var sessionid string
var score number
var nickname string [optional] [default “Player”]
var highscore boolean [optional] [default false]
var limit number [optional] [default 10]
var playerRank boolean [optional] [default false]

appID
appID доступен в административной панели для любого приложения

sessionid
sessionid - результат, возвращяемый методом startSession API /api/json/startSession

score
Результат, достигнутый игроком

nickname
Псевдоним игрока; Необязательный параметр; Значение по умолчанию - “Player”

highscore
Флаг, определяющий возвращать список лучших резултатов или нет; Необязательный параметр; Значение по умолчанию - false

limit
Ограничение списка лучших результатов; Необязательный параметр; Значение по умолчанию - 10

playerRank
Определяет нужно ли вернуть место игрока в данном списке игроков; Необязательный параметр; Значение по умолчанию - false

Ответ

Статус Ответ
200 Возвращенный результат - объект, содержащий список результатов.
{ "success": true,
"highscorelist": {
{"rank":1, "nickname":"Player", "score":1000},
{"rank":1, "nickname":"Player", "score":1000},
...
{"rank":1, "nickname":"Player", "score":1000}
}
}
400 {"error":"Missing parameter."}
401 {"error":"Invalid API key."}
500 {"error":"Something went wrong. Please try again later."}

3. getHighScore

Возвращает список результатов, разделенный на страницы. Количество результатов определяется параметром limit, параметр start определяет номер страницы.

Вызов

Метод Адрес
GET/POST api/json/getHighScore/
api/xml/getHighScore/
Тип Параметры Величины
var appId string
var limit number [optional] [default 10]
var start number [optional] [default 0]

appID
appID доступен в административной панели для любого приложения

limit
Лимит возвращенных лучших результатов; Необязательный параметр; Значение по умолчанию - 10

start
Определяет позицию первого результата в списке; Необязательный параметр; Значение по умолчанию - 0

Ответ

Статус Ответ
200 Ответ - объект, содержащий список всех результатов.
{ "success": true,
"highscorelist": {
{"rank":1, "nickname":"Player", "score":1000},
{"rank":1, "nickname":"Player", "score":1000},
...
{"rank":1, "nickname":"Player", "score":1000}
}
}
400 {"error":"Missing parameter."}
401 {"error":"Invalid API key."}
500 {"error":"Something went wrong. Please try again later."}

4. registerWithScore *

Записывает результаты игрока с возможностью сохранить имя и фамилию, e-mail и телефон.
Информация о потребителе не является обязательной, потребитель сам решает хочет ли он ее оставить в системе. Информация не будет использована GameScore.
* метод доступен в пакете “simple game +”

Вызов

Метод Адрес
GET/POST api/json/registerWithScore /
api/xml/registerWithScore /
Тип Параметры Величины
var appId string
var sessionid string
var score number
var nickname string [optional] [default “Player”]
var firstname string [optional]
var lastname string [optional]
var email string [optional]
var phone string [optional]
var highscore boolean [optional] [default false]
var limit number [optional] [default 10]
var playerRank boolean [optional] [default false]

appID
appID доступен в административной панели для любого приложения

sessionid
sessionid - результат, возвращяемый методом startSession API /api/json/startSession

score
Результат игрока

nickname
Псевдоним игрока; Необязательный параметр; Default value will be “Player”

firstname
Имя игрока; Необязательный параметр; First name of the player

lastname
Фамилия игрока; Необязательный параметр; Last name of the player

email
E-mail игрока; Необязательный параметр; Email of the player

phone
Телефон игрока; Необязательный параметр; Phone of the player

highscore
Определяет нужно ли вернуть место игрока в данном списке игроков; Необязательный параметр; Значение по умолчанию - false

limit
Лимит возвращенных лучших результатов; Необязательный параметр; Значение по умолчанию - 10

playerRank
Boolean, определяет следует ли включить текущее место игрока в список лучших результатов; Необязательный параметр; Значение по умолчанию - false

Ответ

Статус Ответ
200 Ответ - объект, содержащий список всех лучших результатов.
{ "success": true,
"highscorelist": {
{"rank":1, "nickname":"Player", "score":1000},
{"rank":1, "nickname":"Player", "score":1000},
...
{"rank":1, "nickname":"Player", "score":1000}
}
}
400 {"error":"Missing parameter."}
401 {"error":"Invalid API key."}
500 {"error":"Something went wrong. Please try again later."}

5. endSession

Закрывает текущую сессию. Метод используется по окончании игры.

Вызов

Метод Адрес
GET/POST api/json/endSession/
api/xml/endSession/
Тип Параметры Величины
var appId string
var sessionId string

appId
appId должен быть отправлен с каждым клиентским запросом. appId можно скопировать из административной панели в секции 'Приложения'. appId используется для валидации приложений и их статуса

sessionId
sessionid - результат, возвращяемый методом startSession API /api/json/startSession

Ответ

Статус Ответ
200 { "success": , "sessionid": }
400 {"error":"Missing parameter."}
401 {"error":"Invalid API key."}
500 {"error":"Something went wrong. Please try again later."}

Глоссарий

Все примеры используют протокол JSON из-за лучшей наглядности.

Конвенции

  • Клиент - Клиентское приложение.
  • Статус - HTTP статус код ответа.
  • Все ответы записаны в ‘Ответах’ для каждого метода. Только один из них вызывается.
  • Все ответы получены в JSON формате.
  • Все параметры обязательны, если нет отметки [необязательно]
  • Тип значения для параметра вызова записаны в столбце 'значение' в виде[10|<число>] .Символ | обозначает союз 'Или'. Если параметр [необязателен], значение необязательных параметров обозначено утолщенным текстом, так как 10 записана в [10|<число>].

Статус коды

Все статус коды - стандартныв HTTP статус коды. Ниже записаны коды, используемые в данном API.

2XX - Успех
4XX - Ошибка клиента
5XX - Ошибка сервера

Статус код Описание
200 OK
201 Created
202 Accepted (Request accepted, and queued for execution)
400 Bad request
401 Authentication failure
403 Forbidden
404 Resource not found
405 Method Not Allowed
409 Conflict
412 Precondition Failed
413 Request Entity Too Large
500 Internal Server Error
501 Not Implemented
503 Service Unavailable
Scroll to top