Pereiti prie turinio
DikoAPI
API raktai

DUK

Atverti Markdown

Dažniausi klausimai: tušti sąrašai, ką mato raktas, IP apribojimas, importai ir kita.

Kodėl sąrašas tuščias?

Tuščias data dažniausiai reiškia, kad filtrai ar leidimai atmeta viską, o ne kad API sugedo. Patikrinkite:

  • Užarchyvuoti elementai paslėpti. GET /meetings ir GET /library/transcripts pagal numatymą grąžina tik neužarchyvuotus. Pridėkite archived=all.
  • Filtrai. status, q, created_after, source_type ir kiti parametrai siaurina rezultatą. Pabandykite be jų.
  • Kitas naudotojas. Raktas mato tik savo savininko duomenis. Kvieskite GET /me ir patikrinkite paslėptą user.email (pavyzdžiui, j***@example.com; pilnas adresas raktui niekada negrąžinamas): ar tai paskyra, kurioje yra jūsų susitikimai?
  • Leidimai. GET /events rodo tik tų šeimų įvykius, kuriuos raktas gali skaityti, o jei neskaito nė vienos, grąžina tuščią sąrašą, o ne 403. Patikrinkite rakto scopes.
  • cursor=latest. Pirmas GET /events su latest visada grąžina tuščią puslapį: tai tik atskaitos taškas. Naudokite grąžintą next_cursor.
  • Įvykiai iš laikotarpio prieš pirmą raktą. Diko užfiksuoja įvykius tik tada, kai paskyra turi neatšauktą raktą arba įjungtą webhook endpointą. Anksčiau pasibaigę susitikimai įvykių nesukuria, todėl pirmas paleidimas jų neatkuria. Juos nuskaitykite per GET /meetings.
  • Puslapiavimas. Puslapis gali būti trumpas, bet has_more vis tiek true. Žr. Puslapiavimas.

Ką mato raktas?

Raktas mato tik savo savininko susitikimus ir biblioteką (YouTube vaizdo įrašus ir įkeltus failus). Komandos nedalija duomenų, todėl komandos kolegos susitikimų jūsų raktas nemato. Svetimas ar neegzistuojantis ID grąžina 404 not_found, o ne 403. Kuriuos endpointus raktas gali kviesti, nustato leidimai.

Kas nutinka raktams paliekant komandą?

Raktai priklauso asmeniškai jums, todėl jie nepašalinami. Bet kiekviena užklausa iš naujo tikrina planą: jei nebeturite „Verslas“ plano, gausite 403 plan_required. Komandos savininkas ar administratorius buvusio nario raktų metaduomenų nebemato, nes jis nebe dabartinis narys. Daugiau: Saugumo gairės.

Kodėl ip_not_allowed?

Raktas turi IP apribojimą, o jūsų užklausos IP nėra sąraše arba Diko juo netiki (raktas su sąrašu priimamas tik iš patikimai nustatyto IP). Dažniausios priežastys:

  • kreipiatės į https://studio.diko.app/api/v1. Tame domene Diko kliento IP netiki niekada, todėl raktas su sąrašu ten visada atmetamas. Naudokite https://api.diko.app/api/v1;
  • jūsų serveris kreipiasi kitu išeinančiu adresu (NAT, debesies platforma, kitas regionas);
  • užklausa pateikiama IPv6, o sąraše yra tik IPv4 (ar atvirkščiai);
  • adresas pasikeitė po perdiegimo.

Sprendimas: iškvieskite GET /me su raktu be IP apribojimo ir pažiūrėkite į request.ip bei request.ip_trusted. Jei ip_trusted yra false, patikrinkite bazinį adresą. Jei true, atnaujinkite sąrašą programėlėje. Žr. IP apribojimas.

Kodėl gaunu 403 plan_required arba 402 subscription_required?

API prieinamas tik „Verslas“ plane (required_plans išvardija verslas). subscription_required reiškia, kad paskyra apskritai neturi apmokėtos prieigos, o plan_required – kad planas neapima API. GET /me plano netikrina ir parodo access.allowed bei access.reason, todėl tinka diagnostikai.

Kodėl importas ilgai lieka queued?

Importas palaukia vidinėje apdorojimo eilėje. Jei eilė užimta, importas lieka queued ir bus bandomas vėliau. Tai ne klaida. Patikrinkite queue_position ir stage (GET /library/imports/{import_id}). Importas, kuris queued būsenoje užsibuvo ilgiau nei 24 val., arba processing ilgiau nei 6 val., baigiamas kaip failed su transcription_timeout. Vietoj nuolatinio tikrinimo naudokite webhooks. Visos būsenos, etapai ir nesėkmių kodai aprašyti greitoje pradžioje.

Ar importas kainuoja kreditų?

Jei transkripcija jau yra jūsų bibliotekoje arba bendroje talpykloje, importas iškart baigiasi su reused: true ir kreditai nenaudojami. Kitais atvejais prieš pradedant tikrinamas kreditų likutis: jei jų nepakanka, gaunate 402 insufficient_credits. Likutį raktui su leidimu library:write rodo GET /me (credits.available); kitiems raktams credits yra null. Skaitymo užklausos kreditų nenaudoja. Kreditų įkainiai pateikti kainų puslapyje.

Ar galiu naudoti raktą naršyklėje?

Ne. API nesiunčia Access-Control-* antraščių, o OPTIONS grąžina 405. Be to, raktas naršyklės kode yra matomas visiems. Kvieskite API iš savo serverio ir klientui perduokite tik tai, ko reikia.

Kaip gauti SRT arba VTT?

GET /meetings/{meeting_id}/transcript?format=srt (arba vtt, text). Tą patį galite daryti ir bibliotekos transkripcijoms: GET /library/transcripts/{transcript_id}/transcript. Šie formatai grąžina visą transkriptą ir naudoja griežtesnę export ribą.

Kodėl gaunu transcript_changed?

Transkriptas pasikeitė tarp jūsų puslapių užklausų (pavyzdžiui, kažkas patvirtino gramatikos pataisas). Skaitykite iš naujo be cursor arba naudokite format=text. Žr. Puslapiavimas.

Kodėl gaunu resource_not_ready?

Susitikimo transkripto dar nėra, nes susitikimas vis dar apdorojamas. Palaukite įvykio meeting.ready arba patikrinkite transcript.status susitikimo objekte.

Kodėl route_not_found, nors kelias teisingas?

Pasvirasis brūkšnys / kelio gale laikomas kitu keliu: /api/v1/me/ grąžina 404. Taip pat patikrinkite, ar bazinis URL yra https://api.diko.app/api/v1.

Ar galiu kurti webhooks per API?

Ne. Webhook endpointus valdote tik Diko programėlėje, skiltyje Nustatymai → API → Webhooks (/settings/api/webhooks). Vienai paskyrai galima turėti daugiausia 10 endpointų. Tai daroma tyčia: nutekėjęs raktas negali nukreipti jūsų duomenų į svetimą adresą. Webhooks valdymą per API planuojame ateityje, žr. Pakeitimai.

Ar yra smėlio dėžė?

Ne. dk_test_ raktai rezervuoti ateičiai, o v1 raktas visada veikia su tikrais duomenimis. Bandymui galite susikurti raktą su šablonu „Tik skaitymas“ ir trumpu galiojimu.

Ką nurodyti kreipiantis į pagalbą?

Nurodykite atsakymo request_id (req_...) arba antraštę Request-Id, užklausos laiką ir endpointą. Niekada nesiųskite paties rakto.

Ieškokite temos, endpointo ar klaidos kodo.

Paieška visuose dokumentacijos puslapiuoseesc uždaryti