Pereiti prie turinio
DikoAPI
API raktai

Leidimai

Atverti Markdown

Trys leidimai (scopes), kuriuos pasirenkate kurdami raktą, ir ką kiekvienas atveria.

Leidimų lentelė

Leidimai (angl. scopes) nustato, kuriuos endpointus gali kviesti raktas. Juos pasirenkate kurdami raktą, o vėliau pakeisti negalima: reikia naujo rakto.

Leidimas Leidžia Įvykiai
meetings:read visus GET /meetings* endpointus meeting.*
library:read GET /library/transcripts* ir GET /library/imports* library.*
library:write POST /library/imports ir POST /library/imports/{import_id}/cancel. Apima library:read library.*

GET / ir GET /me veikia su bet kuriuo galiojančiu raktu. GET /me visada paslepia paskyros el. paštą, o kreditų likutį grąžina tik raktui su library:write. Programėlėje leidimai vadinami „Susitikimai – skaityti“, „Biblioteka – skaityti“ ir „Biblioteka – importuoti“.

Šablonai

Kurdami raktą galite pasirinkti šabloną arba pažymėti leidimus patys:

Šablonas Leidimai
Tik skaitymas meetings:read, library:read
Skaitymas ir importas meetings:read, library:write

Kuris endpointas ko reikalauja

Endpointas Leidimas
GET / rakto nereikia
GET /me bet kuris galiojantis raktas (credits tik su library:write)
GET /meetings, /meetings/{meeting_id}, /transcript, /minutes, /action-items meetings:read
GET /library/transcripts, /library/transcripts/{transcript_id}, /transcript library:read
GET /library/imports, /library/imports/{import_id} library:read
POST /library/imports, POST /library/imports/{import_id}/cancel library:write
GET /events, GET /events/{event_id} bet kuris raktas; rezultatai filtruojami pagal leidimus

Kaip pasirinkti

  • Duokite mažiausią reikalingą leidimą. Ataskaitų ar CRM sinchronizavimo integracijai pakanka „Tik skaitymas“.
  • Importams reikia library:write. Jis jau apima bibliotekos skaitymą, todėl importuotojas gali pats patikrinti importo būseną ir perskaityti rezultatą.
  • Vienas raktas vienai integracijai. Taip lengviau atšaukti tik tą raktą, kurio paslaptis nutekėjo, ir matyti, kuri sistema ką naudoja.

Trūkstamas leidimas

Jei raktas neturi endpointui reikalingo leidimo, API grąžina 403 insufficient_scope. Atsakyme nurodyta, ko reikia ir ką raktas turi (pavyzdys su Accept-Language: lt):

HTTP
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer realm="diko", error="insufficient_scope", scope="meetings:read"
JSON
{
  "type": "error",
  "error": {
    "type": "permission_error",
    "code": "insufficient_scope",
    "message": "API raktas neturi šiam endpointui reikalingo leidimo.",
    "doc_url": "https://diko.app/api-docs/klaidos#insufficient_scope",
    "details": {
      "required_scopes": ["meetings:read"],
      "granted_scopes": ["library:read"]
    }
  },
  "request_id": "req_QBPIQ5QTIWAUYTMDNCLD7CMKBE"
}

Sprendimas: sukurkite naują raktą su reikiamu leidimu ir atnaujinkite savo sistemą. Seną raktą, jei jis nebereikalingas, atšaukite.

Leidimai ir įvykių srautas

GET /events rodo tik tų šeimų įvykius, kurias raktas gali skaityti: meeting.* su meetings:read, library.* su library:read arba library:write. Jei raktas neskaito nė vienos šeimos, sąrašas tuščias, o ne 403.

Svetimi resursai

Raktas mato tik savo savininko duomenis. Svetimas, neegzistuojantis ar neteisingai užkoduotas ID visada grąžina 404 not_found, o ne 403, kad API neatskleistų, ar toks resursas egzistuoja.

Ieškokite temos, endpointo ar klaidos kodo.

Paieška visuose dokumentacijos puslapiuoseesc uždaryti