ChatToken
Получение токена чата для конкретного пользователя. Id-пользователя определяется из Access Token'a.
GET /chat/token
Требуется OAuth 2.0 аутентификация.
Scope: chat.token
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"user_id": "User Id",
"chat_token": "Chat Token",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/chat/token"
}
}
}
Donations
Список поддержки указанного канала.
GET /channel/:channel/donations
Требуется OAuth 2.0 аутентификация.
Scope: channel.donations
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| channel | Channel ID or Channel Key | YES | |
| page | Query-параметр, номер страницы при постраничном выводе. На одной странице выводится до 50 элементов. | NO | |
| from_timestamp | Query-параметр, timestamp, начиная с которого следует вернуть историю поддержки | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/:channel/donations?page=1"
},
"first": {
"href": "http://api2.goodgame.ru/channel/:channel/donations"
},
"last": {
"href": "http://api2.goodgame.ru/channel/:channel/donations?page=1"
}
},
"_embedded": {
"donations": [
{
"id": "User Id",
"username": "User Name",
"amount": "200.00 в рублях",
"paid_date": "1427301163 - timestamp, дата поступления поддержки",
"comment": "Комментарий",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/:channel/donations"
}
}
},
{
"id": "",
"username": "mail@example.com - email если анонимный пользователь",
"amount": "510.00в рублях",
"paid_date": "1406050589 - timestamp, дата поступления поддержки",
"comment": "Комментарий",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/5/donations"
}
}
},
...
]
},
"page_count": 1,
"page_size": 50,
"total_items": 4,
"page": 1
}
Games
Получение информации об зарегистрированных на Goodgame.ru играх.
GET /games
Получение коллекции игр
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| page | Query-параметр, номер страницы при постраничном выводе. На одной странице выводится до 50 элементов. | NO | |
| filter | Query-параметр, фильтр по названию игры. | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_links": {
"self": {
"href": "http://api2.goodgame.ru/games?page=1"
},
"first": {
"href": "http://api2.goodgame.ru/games"
},
"last": {
"href": "http://api2.goodgame.ru/games?page=895"
},
"next": {
"href": "http://api2.goodgame.ru/games?page=2"
}
},
"_embedded": {
"games": [
{
"id": "44674",
"title": " Battle Brothers",
"url": " Battle-Brothers",
"short": " Battle Brothers",
"poster": "https://goodgame.ru/files/logotypes/gm_44674_LgBG.jpg",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/games/%20Battle-Brothers"
}
}
},
...
]
},
"page_count": 895,
"page_size": 50,
"total_items": 44705,
"page": 1
}
GET /games[/:game]
Получение информации по игре, зная ее url
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| page | Query-параметр, номер страницы при постраничном выводе. На одной странице выводится до 50 элементов. | NO | |
| filter | Query-параметр, фильтр по названию игры. | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"id": "44674",
"title": " Battle Brothers",
"url": " Battle-Brothers",
"short": " Battle Brothers",
"poster": "https://goodgame.ru/files/logotypes/gm_44674_LgBG.jpg",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/games/%20Battle-Brothers"
}
}
}
Info
Получение информации по Access Token'у
GET /info
Access Token указывается в запросе как описано в документации
Невалидный Access Token'a обрабатывается по общим правилам (Код ответа не 200)
Если Access Token не указан будет выведен список сервисов.
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"token": {
"scopes": [
"channel.subscribers",
"chat.token"
],
"expires": "Unix Timestamp"
},
"user": {
"user_id": "User ID",
"username": "User Name"
},
"channel": {
"channel": "Channel Key",
"channel_id": "Channel ID",
"src": "Player key (src)"
},
"apis": {
"Player": "http://api2.goodgame.ru/player/:src",
"Streams": "http://api2.goodgame.ru/streams[/:channel]",
"Subscribers": "http://api2.goodgame.ru/channel/:channel/subscribers",
"Premiums": "http://api2.goodgame.ru/channel/:channel/premiums",
"Donations": "http://api2.goodgame.ru/channel/:channel/donations",
"ChatToken": "http://api2.goodgame.ru/chat/token",
"Games": "http://api2.goodgame.ru/games[/:game]",
"Info": "http://api2.goodgame.ru/info"
},
"_links": {
"self": {
"href": "http://api2.goodgame.ru/info"
}
}
}
Player
Получение информации о плеере
GET /player/:src
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| src | Player source | YES |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"channel_id": "5",
"channel_key": "Miker",
"channel_title": "Бобер-дуэлист и полсотни регретов. ",
"channel_status": "online",
"channel_poster": "https://goodgame.ru/files/logotypes/ch_5_U3KZ.jpg",
"channel_premium": true,
"streamer_avatar": "https://goodgame.ru/files/avatars/av_1_y1Yt.jpg",
"premium_only":false,
"premium_prices":{"1":79,"2":229,"3":499,"4":899,"5":1690},
"broadcast": {
"broadcast_title": "Broadcast title",
"broadcast_description":"Broadcast description",
"broadcast_start":"1445526000",
"broadcast_games":"Warcraft III: The Frozen Throne",
"broadcast_logo":"https://goodgame.ru/images/channel-logo.jpg"
},
"user": {
"user_id": "goodgame user id",
"email": "user email",
"payments": false,
"subscribed": true,
"subscribed_stream": true,
"subscribed_anons": true,
"days_left": 3,
"expire": 1485246911,
"test": false
"premium_channel": "all | single",
"premium_key": "asdfasdfasdfasdf",
"wallet": 0
},
"_links": {
"self": {
"href": "http://api2.goodgame.ru/player/6"
}
}
}
Premiums
Список премиум подписчиков указанного канала
GET /channel/:channel/premiums
Требуется OAuth 2.0 аутентификация.
Scope: channel.premiums
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| channel | Channel ID or Channel Key | YES | |
| page | Query-параметр, номер страницы. На странице выводится до 50 подписчиков. | NO | |
| from_timestamp | Query-параметр, timestamp, начиная с которого выводить премиум подписчиков | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/:channel/premiums?page=1"
},
"first": {
"href": "http://api2.goodgame.ru/channel/:channel/premiums"
},
"last": {
"href": "http://api2.goodgame.ru/channel/:channel/premiums?page=3"
},
"next": {
"href": "http://api2.goodgame.ru/channel/:channel/premiums?page=2"
}
},
"_embedded": {
"premiums": [
{
"id": "user id",
"username": "user name",
"started_at": "1445186899 timestamp",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/:channnel/premiums"
}
}
},
...
]
},
"page_count": 3,
"page_size": 50,
"total_items": 150,
"page": 1
}
Smiles
Получение коллекции смайлов.
GET /smiles[/:channel_id]
Получение коллекции смайлов. Если не указан channel_id, то вернется список всех смайлов.
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| channel_id | ID-канала, для которого нужно получить смайлы. | NO | |
| page | Query-параметр, номер страницы при постраничном выводе. На одной странице выводится до 50 смайлов. | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_links": {
"self": {
"href": "http://api2.goodgame.ru/smiles?page=1"
},
"first": {
"href": "http://api2.goodgame.ru/smiles"
},
"last": {
"href": "http://api2.goodgame.ru/smiles?page=3"
},
"next": {
"href": "http://api2.goodgame.ru/smiles?page=2"
}
},
"_embedded": {
"smiles": [
{
"key": "bender",
"donate_lvl": 4,
"is_premium": false,
"is_paid": false,
"channel_id": "0",
"urls": {
"img": "https://goodgame.ru/images/smiles/bender.png",
"big": "https://goodgame.ru/images/smiles/bender-big.png",
"gif": "https://goodgame.ru/images/anismiles/bender-gif.gif"
},
"_links": {
"self": {
"href": "http://api2.goodgame.ru/smiles/0"
}
}
},
...
]
},
"page_count": 3,
"page_size": 50,
"total_items": 101,
"page": 1
}
Streams
Получение информации о трансляциях. Текущая версия 2. Базовый url http://api2.goodgame.ru/v2/
GET /streams
Получение информации обо всех онлайн стримах на Goodgame. Можно использовать query-параметры.
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| channel | Идентификатор стрима, может быть как символьным ключем канала (Пример: http://api2.goodgame.ru/streams/Miker), так и числовым id (Пример: http://api2.goodgame.ru/streams/5). Если указан, то информация вернется только для этого стрима. | NO | |
| ids | Query-параметр, список идентификаторов стримов через запятую, информацию о которых требуется получить. Допускается до 50 идентификаторов за один запрос. | NO | |
| page | Query-параметр, номер страницы при постраничном выводе. На одной странице выводится 25 стримов. | NO | |
| only_gg | Query-параметр, флаг, указывающий на то, что выбирать только стримы с онлайн плеером Goodgame | NO | |
| adult | Query-параметр, флаг, выбирать ли каналы с ограничениями (по умолчанию такие каналы не выбираются) | NO | |
| game | Query-параметр. Фильтровать стримы по конкретной игре. В качестве значения используется url игры (см. API Games) | NO | |
| hidden | Query-параметр, флаг, выбирать ли скрытые каналы(по умолчанию такие каналы не выбираются) | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_links": {
"self": {
"href": "http://api2.goodgame.ru/v2/streams?page=1"
},
"first": {
"href": "http://api2.goodgame.ru/v2/streams"
},
"last": {
"href": "http://api2.goodgame.ru/v2/streams?page=11"
},
"next": {
"href": "http://api2.goodgame.ru/v2/streams?page=2"
}
},
"_embedded": {
"streams": [
{
"request_key": "pomi",
"id": 1644,
"key": "Pomi",
"is_broadcast": true,
"broadcast_started": "1445515200",
"broadcast_end": "1445556000",
"url": "https://goodgame.ru/channel/Pomi/458/",
"status": "Live",
"viewers": "348",
"player_viewers": "350",
"users_in_chat": "167",
"channel": {
"id": 1644,
"key": "Pomi",
"premium": "true",
"title": "FP Lotv, 17.00 Бобролига 1/8 ",
"max_viewers": "2130",
"player_type": "Premium",
"gg_player_src": "pomi",
"embed": "<iframe frameborder=\"0\" width=\"100%\" height=\"100%\" src=\"https://goodgame.ru/player?pomi\"></iframe>",
"img": "1644_oRqp.jpg",
"thumb": "http://hls.goodgame.ru/previews/pomi_240.jpg",
"description": "html descripton",
"adult": false,
"games": [
{
"title": "StarCraft II: Heart of the Swarm",
"url": "starcraft-ii-heart-of-the-swarm"
}
],
"url": "https://goodgame.ru/channel/Pomi/"
},
"_links": {
"self": {
"href": "http://api2.goodgame.ru/v2/streams/Pomi"
}
}
},
...
]
},
"page_count": 11,
"page_size": 25,
"total_items": 251,
"page": 1
}
GET /streams[/:channel]
Получение информации о конкретном стриме. Query-параметры не работают.
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| channel | Идентификатор стрима, может быть как символьным ключем канала (Пример: http://api2.goodgame.ru/streams/Miker), так и числовым id (Пример: http://api2.goodgame.ru/streams/5). Если указан, то информация вернется только для этого стрима. | NO | |
| ids | Query-параметр, список идентификаторов стримов через запятую, информацию о которых требуется получить. Допускается до 50 идентификаторов за один запрос. | NO | |
| page | Query-параметр, номер страницы при постраничном выводе. На одной странице выводится 25 стримов. | NO | |
| only_gg | Query-параметр, флаг, указывающий на то, что выбирать только стримы с онлайн плеером Goodgame | NO | |
| adult | Query-параметр, флаг, выбирать ли каналы с ограничениями (по умолчанию такие каналы не выбираются) | NO | |
| game | Query-параметр. Фильтровать стримы по конкретной игре. В качестве значения используется url игры (см. API Games) | NO | |
| hidden | Query-параметр, флаг, выбирать ли скрытые каналы(по умолчанию такие каналы не выбираются) | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"request_key": "miker",
"id": 5,
"key": "Miker",
"is_broadcast": false,
"broadcast_started": 0,
"broadcast_end": 0,
"url": "https://goodgame.ru/channel/Miker/",
"status": "Dead",
"viewers": "1104",
"player_viewers": "31",
"users_in_chat": "70",
"channel": {
"id": 5,
"key": "Miker",
"premium": "true",
"title": "Немного FFA",
"max_viewers": "3754",
"player_type": "Premium",
"gg_player_src": "6",
"embed": "<iframe frameborder=\"0\" width=\"100%\" height=\"100%\" src=\"https://goodgame.ru/player?6\"></iframe>",
"img": "https://goodgame.ru/images/channel-logo.jpg",
"thumb": "http://hls.goodgame.ru/previews/6_240.jpg",
"description": "",
"adult": false,
"games": [
{
"title": "Warcraft III: The Frozen Throne",
"url": "warcraft-iii-the-frozen-throne"
}
],
"url": "https://goodgame.ru/channel/Miker/"
},
"_links": {
"self": {
"href": "http://api2.goodgame.ru/v2/streams/Miker"
}
}
}
Subscribers
Список подписчиков указанного канала
GET /channel/:channel/subscribers
Требуется OAuth 2.0 аутентификация.
Scope: channel.subscribers
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| channel | Channel ID or Channel Key | YES | |
| page | Query-параметр, номер страницы при постраничном выводе. На одной странице выводится до 50 подписчиков. | NO | |
| from_timestamp | Query-параметр, timestamp, начиная с которого следует вернуть подписчиков канала. | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.goodgame.v2+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/:channel/subscribers?page=1"
},
"first": {
"href": "http://api2.goodgame.ru/channel/:channel/subscribers"
},
"last": {
"href": "http://api2.goodgame.ru/channel/:channel/subscribers?page=1"
}
},
"_embedded": {
"subscribers": [
{
"id": "User ID",
"username": "User Name",
"created_at": "unix timestamp",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/:channel/subscribers"
}
}
},
{
"id": "",
"username": "user_email@mail.com",
"created_at": "1447166302",
"_links": {
"self": {
"href": "http://api2.goodgame.ru/channel/:channel/subscribers"
}
}
}
]
},
"page_count": 1,
"page_size": 50,
"total_items": 2,
"page": 1
}