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
}