API dokumentatsioon

Loo Twitchi autoriseerimisvooge, vaata õigusi ja halda tokeneid v2 API kaudu.

Laadi OpenAPI alla

Autoriseerimisvoog

  1. Vaata õiguste kataloogi ja vali oma integratsioonile vajalike aktiivsete õiguste ID-d.
  2. Loo voog. Hoia selle pärimisvõti privaatsena ja ava authorization_url konto omaniku brauseris.
  3. Pärast autoriseerimist päri mandaadid üks kord. Salvesta pääsutoken ja uusim värskendustoken.

Vood aeguvad 24 tunni pärast. Edukas pärimine kulutab salvestatud mandaadid. Ootel autoriseerimise kontrollimiste vahel oota vähemalt viis sekundit.

Autentimine ja piirangud

Mandaatide pärimiseks kasutatakse voo privaatvõtit Bearer-mandaadina. Teised lõpp-punktid kasutavad alltoodud sisendeid. V2 API lubab 180 päringut minutis ühe IP kohta; HTTP 429 tähendab limiidi täitumist.

Lõpp-punktide teatmik

GET /api/v2/scopes

Tokeni saadaolevad õigused

Vaata praeguste õiguste ID-sid, nimesid, kirjeldusi ja saadavust. See päring ei vaja mandaate.

Parameetrid

include_sensitiveValikuline

boolean · päring

Lisa kataloogi tundlikuks märgitud õigused.

Vastus

HTTP 200
Edukas vastus
application/json
Näidisvastus
{
  "scopes": [
    {
      "active": true,
      "api_set": "helix",
      "description": "View live Stream Chat and Rooms messages.",
      "id": 28,
      "scope": "chat:read",
      "secret": false
    }
  ],
  "success": true
}
HTTP 429
Päringulimiit on täis
application/json
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 503
Teenus pole ajutiselt saadaval
application/json
Näidisvastus
{
  "message": "service temporarily unavailable",
  "success": false
}
Proovi lõpp-punkti
POST /api/v2/workflows

Loo autoriseerimisvoog

Loob 24-tunnise voo TTG jagatud Twitchi rakendusega. Vastuses on avalik autoriseerimise URL ja privaatne pärimisvõti eraldi.

Parameetrid

ai_agentValikuline

string · keha

Valikuline tehisintellekti kliendi nimi, kuni 64 UTF-8 baiti ilma juhtmärkideta. See on päritolu märkimiseks, mitte autentimiseks.

is_aiValikuline

boolean · keha

Märgi voog tehisintellekti abiga toimuvaks.

redirect_urlValikuline

string · keha

Valikuline täielik HTTP- või HTTPS-sihtaadress pärast autoriseerimist. URL ei tohi sisaldada mandaate.

scope_idsValikuline

array · keha

Kataloogi numbrilised ID-d. Vali aktiivsed õigused, kuni 150 erinevat õigust.

titleValikuline

string · keha

Rakenduse nimi, kuni 500 UTF-8 baiti.

Päringu JSON-keha

{
  "scope_ids": [
    28,
    29
  ],
  "title": "Example integration"
}

Vastus

HTTP 201
Loodud
application/json
Näidisvastus
{
  "authorization_url": "https://twitchtokengenerator.com/api/example0000000000000",
  "expires_at": "2030-01-01T12:00:00Z",
  "id": "example0000000000000",
  "retrieval_key": "example000000000000000000000000000000000",
  "status_url": "https://twitchtokengenerator.com/api/v2/workflows/example0000000000000",
  "success": true
}
HTTP 400
Vigane päring
application/json
Näidisvastus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Päringulimiit on täis
application/json
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Päringut ei saanud töödelda
application/json
Näidisvastus
{
  "message": "unable to process request",
  "success": false
}
Proovi lõpp-punkti
GET /api/v2/workflows/{id}

Päri voo mandaadid

Tagastab mandaadid ühe korra pärast autoriseerimist. Saada voo pärimisvõti Bearer-mandaadina. Edukas lugemine kulutab salvestatud mandaadid.

Parameetrid

idKohustuslik

string · tee

Voo loomisel tagastatud ID.

AuthorizationKohustuslik

Bearer · päis

Voo loomisel tagastatud privaatne pärimisvõti. Ära lisa seda avalikesse linkidesse.

Vastus

HTTP 200
Edukas vastus
application/json
Näidisvastus
{
  "access_token": "EXAMPLE_ACCESS_TOKEN",
  "client_id": "EXAMPLE_CLIENT_ID",
  "refresh_token": "EXAMPLE_REFRESH_TOKEN",
  "scopes": [
    "chat:read",
    "chat:edit"
  ],
  "status": "authorized",
  "success": true,
  "user_id": "123456789",
  "username": "exampleuser"
}
HTTP 202
Autoriseerimine on veel ootel
application/json
Näidisvastus
{
  "expires_at": "2030-01-01T12:00:00Z",
  "status": "pending",
  "success": false
}
HTTP 401
Vigane token või pärimisvõti
application/json
Näidisvastus
{
  "message": "invalid retrieval key",
  "success": false
}
HTTP 404
Voogu ei leitud
application/json
Näidisvastus
{
  "message": "workflow not found",
  "success": false
}
HTTP 410
Mandaadid on aegunud või juba päritud
application/json
Näidisvastus
{
  "message": "workflow credentials are no longer available",
  "status": "expired",
  "success": false
}
HTTP 429
Päringulimiit on täis
application/json
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Päringut ei saanud töödelda
application/json
Näidisvastus
{
  "message": "unable to process request",
  "success": false
}
HTTP 503
Teenus pole ajutiselt saadaval
application/json
Näidisvastus
{
  "message": "service temporarily unavailable",
  "success": false
}
Proovi lõpp-punkti
GET /api/v2/ai/workflows/create

Loo tehisintellekti voog GET-päringuga

GET-alternatiiv klientidele, mis saavad ainult URL-e lugeda. Loob voo õiguste nimede põhjal ja tagastab privaatse pärimis-URL-i. JSON-vastus antakse kujul text/plain.

Parameetrid

scopesKohustuslik

string · päring

Komadega eraldatud õiguste nimed. Parameeter peab olema olemas; tühi väärtus ei taotle õigusi.

ai_agentValikuline

string · päring

Valikuline tehisintellekti kliendi nimi, kuni 64 UTF-8 baiti ilma juhtmärkideta. See on päritolu märkimiseks, mitte autentimiseks.

nonceValikuline

string · päring

Valikuline vahemälust möödumise väärtus, kuni 128 UTF-8 baiti. See pole idempotentsusvõti.

Vastus

HTTP 200
Edukas vastus
text/plain
Näidisvastus
{
  "authorization_url": "https://twitchtokengenerator.com/api/example0000000000000",
  "expires_at": "2030-01-01T12:00:00Z",
  "id": "example0000000000000",
  "retrieval_notice": "Keep retrieval_url private: it grants one-time access to the generated credentials. Give the user only authorization_url. Retrieve after they finish authorizing.",
  "retrieval_url": "https://twitchtokengenerator.com/api/v2/ai/workflows/example0000000000000/example000000000000000000000000000000000",
  "success": true
}
HTTP 400
Vigane päring
text/plain
Näidisvastus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Päringulimiit on täis
text/plain
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Päringut ei saanud töödelda
text/plain
Näidisvastus
{
  "message": "unable to process request",
  "success": false
}
Proovi lõpp-punkti
GET /api/v2/ai/workflows/{id}/{key}

Päri tehisintellekti mandaadid GET-päringuga

GET-alternatiiv, mille pärimisvõti asub URL-is. JSON-vastus antakse kujul text/plain. Edukas lugemine kulutab salvestatud mandaadid.

Parameetrid

idKohustuslik

string · tee

Voo loomisel tagastatud ID.

keyKohustuslik

string · tee

Voo loomisel tagastatud privaatne pärimisvõti. Ära lisa seda avalikesse linkidesse.

Vastus

HTTP 200
Edukas vastus
text/plain
Näidisvastus
{
  "access_token": "EXAMPLE_ACCESS_TOKEN",
  "client_id": "EXAMPLE_CLIENT_ID",
  "refresh_token": "EXAMPLE_REFRESH_TOKEN",
  "scopes": [
    "chat:read",
    "chat:edit"
  ],
  "status": "authorized",
  "success": true,
  "user_id": "123456789",
  "username": "exampleuser"
}
HTTP 202
Autoriseerimine on veel ootel
text/plain
Näidisvastus
{
  "expires_at": "2030-01-01T12:00:00Z",
  "status": "pending",
  "success": false
}
HTTP 401
Vigane token või pärimisvõti
text/plain
Näidisvastus
{
  "message": "invalid retrieval key",
  "success": false
}
HTTP 404
Voogu ei leitud
text/plain
Näidisvastus
{
  "message": "workflow not found",
  "success": false
}
HTTP 410
Mandaadid on aegunud või juba päritud
text/plain
Näidisvastus
{
  "message": "workflow credentials are no longer available",
  "status": "expired",
  "success": false
}
HTTP 429
Päringulimiit on täis
text/plain
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Päringut ei saanud töödelda
text/plain
Näidisvastus
{
  "message": "unable to process request",
  "success": false
}
HTTP 503
Teenus pole ajutiselt saadaval
text/plain
Näidisvastus
{
  "message": "service temporarily unavailable",
  "success": false
}
Proovi lõpp-punkti
POST /api/v2/tokens/refresh

Värskenda pääsutokenit

Uuendab pääsutokenit värskendustokeni abil. Oma Twitchi rakenduse tokeni puhul anna nii client_id kui ka client_secret.

Parameetrid

client_idValikuline

string · keha

Twitchi rakenduse kliendi-ID. TTG jagatud rakenduse kasutamiseks jäta see välja.

client_secretValikuline

string · keha

Twitchi rakenduse kliendisaladus. Värskendamisel anna see koos client_id väärtusega.

refresh_tokenKohustuslik

string · keha

Konto ja Twitchi rakenduse uusim värskendustoken.

Päringu JSON-keha

{
  "refresh_token": "EXAMPLE_REFRESH_TOKEN"
}

Vastus

HTTP 200
Edukas vastus
application/json
Näidisvastus
{
  "access_token": "EXAMPLE_ACCESS_TOKEN",
  "client_id": "EXAMPLE_CLIENT_ID",
  "expires_in": 3600,
  "refresh_token": "EXAMPLE_REFRESH_TOKEN",
  "scopes": [
    "chat:read",
    "chat:edit"
  ],
  "success": true
}
HTTP 400
Vigane päring
application/json
Näidisvastus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Päringulimiit on täis
application/json
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 502
Twitchi päring ebaõnnestus
application/json
Näidisvastus
{
  "message": "Twitch request failed",
  "success": false
}
Proovi lõpp-punkti
POST /api/v2/tokens/revoke

Tühista oma pääsutoken

Muudab antud pääsutokeni kehtetuks. Anna selle rakenduse client_id, kui tegemist pole TTG jagatud rakendusega.

Parameetrid

access_tokenKohustuslik

string · keha

Kontrollitav või tühistatav Twitchi pääsutoken ilma oauth: eesliiteta.

client_idValikuline

string · keha

Twitchi rakenduse kliendi-ID. TTG jagatud rakenduse kasutamiseks jäta see välja.

Päringu JSON-keha

{
  "access_token": "EXAMPLE_ACCESS_TOKEN"
}

Vastus

HTTP 200
Edukas vastus
application/json
Näidisvastus
{
  "success": true
}
HTTP 400
Vigane päring
application/json
Näidisvastus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Päringulimiit on täis
application/json
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 502
Twitchi päring ebaõnnestus
application/json
Näidisvastus
{
  "message": "Twitch request failed",
  "success": false
}
Proovi lõpp-punkti
POST /api/v2/tokens/validate

Kontrolli tokenit

Näitab tokeni kontot, rakendust, antud õigusi ja järelejäänud kehtivusaega.

Parameetrid

access_tokenKohustuslik

string · keha

Kontrollitav või tühistatav Twitchi pääsutoken ilma oauth: eesliiteta.

Päringu JSON-keha

{
  "access_token": "EXAMPLE_ACCESS_TOKEN"
}

Vastus

HTTP 200
Edukas vastus
application/json
Näidisvastus
{
  "client_id": "EXAMPLE_CLIENT_ID",
  "expires_in": 3600,
  "scope_details": [
    {
      "active": true,
      "api_set": "helix",
      "description": "View live Stream Chat and Rooms messages.",
      "id": 28,
      "scope": "chat:read",
      "secret": false
    }
  ],
  "scopes": [
    "chat:read"
  ],
  "success": true,
  "user_id": "123456789",
  "username": "exampleuser"
}
HTTP 400
Vigane päring
application/json
Näidisvastus
{
  "message": "invalid request",
  "success": false
}
HTTP 401
Vigane token või pärimisvõti
application/json
Näidisvastus
{
  "message": "invalid retrieval key",
  "success": false
}
HTTP 429
Päringulimiit on täis
application/json
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 502
Twitchi päring ebaõnnestus
application/json
Näidisvastus
{
  "message": "Twitch request failed",
  "success": false
}
Proovi lõpp-punkti
POST /api/v2/token-requests

Taotle kasutajalt tokenit

Loob autoriseerimistaotluse lingi. Pärast konto omaniku autoriseerimist saadetakse mandaadid aadressile my_email.

Parameetrid

my_emailKohustuslik

string · keha

E-posti aadress, kuhu mandaadid saadetakse pärast taotluse täitmist.

my_nameKohustuslik

string · keha

Taotleja nimi, kuni 128 UTF-8 baiti.

scope_idsValikuline

array · keha

Kataloogi numbrilised ID-d. Vali aktiivsed õigused, kuni 150 erinevat õigust.

Päringu JSON-keha

{
  "my_email": "developer@example.com",
  "my_name": "Example developer",
  "scope_ids": [
    28,
    29
  ]
}

Vastus

HTTP 201
Loodud
application/json
Näidisvastus
{
  "id": "example-request",
  "success": true,
  "url": "https://twitchtokengenerator.com/request/example-request"
}
HTTP 400
Vigane päring
application/json
Näidisvastus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Päringulimiit on täis
application/json
Näidisvastus
{
  "message": "rate limit exceeded",
  "success": false
}
Proovi lõpp-punkti

Ühilduvus varasema API-ga

Olemasolevad /api/ marsruudid on jätkuvalt toetatud. Uute integratsioonide jaoks kasuta v2 lõpp-punkte; vastuste vormingud ja mandaatide pärimise autentimine erinevad.

Varasem marsruutV2 asendus
GET /api/scopes/{type}GET /api/v2/scopes
GET /api/create/{title}/{scopes}POST /api/v2/workflows
GET /api/status/{id}GET /api/v2/workflows/{id}
GET /api/forgot/{token}POST /api/v2/tokens/validate
GET /api/refresh/{token}POST /api/v2/tokens/refresh
GET /api/revoke/{token}POST /api/v2/tokens/revoke