Vodiči
Naloge
Naloga z enim agentom pokliče seznam prejemnikov po pravilih, ki jih določite vnaprej - proračun, klicno okno, število poskusov. Nič se ne kliče, dokler nalogo sami ne zaženete.
Kaj je naloga
Naloga (task_...) je odhodna kampanja: en agent na motorju volai, seznam prejemnikov s telefonsko številko in neobveznimi spremenljivkami za sistemski prompt ter pravila (proračun, klicno okno, največje število poskusov in trajanje klica). Trije tipi glede na namen - invoice (opomnik za plačilo), appointment (potrditev termina) in custom (karkoli drugega) - pri prvih dveh pa, kadar je source enak integration, vsak prejemnik nosi sklic na dokument ali dogodek (externalRefs), ki ga agent v klicu omeni.
Agent mora biti na lastnem motorju volai (useForOutboundTasks: true ob ustvarjanju, glej POST /v1/agents), ne na ElevenLabs - motor podpira spremenljivke za sistemski prompt, omejitve trajanja klica in preverjanje, da se med potekom kampanje njegova konfiguracija ni spremenila. Osnutek agenta mora biti OBJAVLJEN (PATCH /v1/agents/{id} ali POST /v1/agents/{id}/draft/publish) IN objavljena različica mora biti PREIZKUŠENA (POST /v1/agents/{id}/simulate) - če manjka kateri koli korak, zagon vrne agent_not_ready.
Stanja in prehodi
V praksi naloga vedno preide iz `draft` neposredno v `running` (`start`); brisanje (`DELETE`) je mogoče le v označenih stanjih.
draftstart še ni bil izveden. Urejljiva (PATCH), izbrisljiva.readydraft in running, ki ga start sprejme kot izhodišče - noben javni končni točki (REST ali MCP) pa naloge danes ne prestavi vanj, zato ga v praksi ne boste srečali. Če bi nastopilo, je urejljivo in izbrisljivo enako kot draft.runningPATCH brez izjeme vrne task_not_editable. Kdor mora spremeniti spremenljivke, mora nalogo najprej ustaviti (POST .../pause) in jo urediti šele v stanju paused - in le, dokler še noben prejemnik ni bil poklican; po prvem poskusu recipients (in s tem spremenljivk) ni več mogoče zamenjati (items_immutable) in ostane le ustvarjanje nove naloge. Brisanje ni mogoče. Ko naleti na omejitev klicev (rate_limited - omejitev odhodnih minut lastnega motorja, zgornja meja njegovih sočasnih odhodnih klicev, privzeto 10 klicev na minuto ali 1000 na dan), ostane running: nastavi lastError: "rate_limited", poskus se ne všteje, čakajoči stiki pa dobijo items[].nextAttemptAt ob koncu omejitve (po Retry-After, sicer čez 5 minut; pri zgornji meji sočasnih klicev motorja motor pošlje Retry-After: 30). Po njegovem izteku nadaljuje sama. Enako čaka ob polni kvoti sočasnih klicev agenta na račun (relay_lease_limit, privzeto 2 tekoča klica): lastError: "relay_lease_limit", naslednji poskus čez minuto, poskus se ne všteje. Zasedena številka (destination_busy - na isto številko trenutno teče drug klic, na primer iz druge naloge ali ročnega klica, ali pa je po negotovem klicanju 15 minut zaklenjena) čaka le prizadeti stik, ne cela naloga: items[].lastError: "destination_busy", items[].nextAttemptAt glede na preostali čas zaklepa številke (najmanj 30 s, največ 16 min, brez zaklepa 90 s), poskus se ne všteje (countsAsAttempt: false), ostali stiki pa se kličejo naprej. Po 6. zaporedni zasedenosti (torej po 5 čakanjih) stik preide v review z reviewReason: "dial:destination_busy". Trajna ovira pri številki (on_dnc, destination_auto_blocked, cannot_call_own_number, cannot_call_volai_number, invalid_number, unsupported_country, blocked_destination) naloge prav tako ne ustavi: stik preide v review z reviewReason: "dial:<code>" (klic ni nastal, zato ima poskus countsAsAttempt: false in ne črpa maxAttempts), naloga ostane running, kliče ostale stike in v needs_attention preide šele, ko drugega dela ni več. Kadar upravljavec volai agenta naloge ročno zaustavi, naloga ostane running in ničesar ne kliče; po obnovitvi nadaljuje sama. Zaustavljenega agenta prepoznate po suspended: true v GET /v1/agents/{id}.pausedPOST .../pause); že začeti klic se dokonča. Urejljiva, izbrisljiva, start jo obnovi. Premor sredi klica pusti reviewReason: "dispatch_in_flight", dokler reconcile (razporejevalnik ga zažene v nekaj minutah) tega klica ne obračuna, do takrat pa start zavrne z task_needs_attention; nato naloga z delom ostane paused, tudi če drugi stiki čakajo v review. Premor, ki zadene tik pred samim klicanjem (klic še ni nastal), dispatch_in_flight ne pusti: razporejevalnik stik vrne med čakajoče in naloga je takoj paused brez razloga. Stik, katerega obdelavo je prekinil sesutje, preden je nastal klic, reconcile sprosti najprej 15 minut po začetku klicanja (claim 10 minut plus rezerva 5 minut) in ga vrne med čakajoče; naloga, ki jo je medtem ustavil potekli claim (dispatch_claim_expired), nato preide v paused. Če se začeti klic konča brez znane cene, naloga najprej preide v needs_attention z reviewReason: "billing_unknown" in se v paused vrne, ko cena prispe (reconcile jo dopolni). Če medtem znižate maxAttempts tako, da noben stik, ki čaka na naslednji poskus, nima več prostega poskusa, naloga ostane paused (tak stik se šteje kot delo), vendar jo start zavrne z task_not_startable, dokler maxAttempts ne zvišate.completedneeds_attentionagent_version_changed), motor je bil začasno nedosegljiv (engine_contract_unavailable) ali pa cena že opravljenega klica še ni znana (billing_unknown). POST .../reconcile uskladi stanje; izbrisljiva, dokler noben element ne ostane v in_progress. Stik v stanju review rešite prek POST .../items/{itemId}/resolve (retry/skip); stik s trajno oviro pri številki (dial:on_dnc, dial:destination_auto_blocked, dial:cannot_call_own_number, dial:cannot_call_volai_number, dial:invalid_number, dial:unsupported_country, dial:blocked_destination ali dial:destination_busy po 6. zaporedni zasedenosti) nalogo ustavi šele, ko se ostali stiki zaključijo. Negotov izid klicanja (npr. dial:engine_unavailable) pošlje nalogo v needs_attention takoj in ostali stiki se ne pokličejo. Ko se klic za takšno prekinitvijo (ali neznano ceno) obračuna prek reconcile, naloga preide v paused, dokler kateri stik čaka na naslednji poskus, tudi če so drugi v review; v needs_attention le, kadar ne ostane nič za klicanje razen stika v review, v completed pa, kadar ne ostane nič. Klicanje, katerega izid ostaja negotov (klica ni mogoče najti), drži nalogo v needs_attention, dokler o stiku ne odločite. Pri običajnem razlogu po zadnji odločitvi naloga preide v paused, če dela še ostaja, ali v completed, če so vsi stiki opravljeni ali preskočeni. Razlog na ravni cele naloge ostane v needs_attention do rešitve; izjema je budget_exceeded, kjer preskok vseh stikov, ki čakajo na naslednji poskus, nalogo dokonča, če ne čaka nobeno stanje ponudnika. Poseben postopek za billing_unknown je spodaj.Natančen pogoj za brisanje: stanje je eno od zgoraj označenih IN NOBEN element nima status: "in_progress" (začet klic, ki se še ni končal) - sicer task_not_deletable.
Uvoz prejemnikov (CSV)
POST /v1/tasks/csv-preview razčleni CSV in ga vrne nazaj z napakami pri posameznih vrsticah - NIČ se ne shrani, gre le za predogled pred ustvarjanjem ali urejanjem naloge. Isto funkcijo kliče tudi obrazec nove naloge v portalu.
- Ločilo se prepozna samodejno (vejica ali podpičje) po prvi vrstici.
- Obstajati mora stolpec
phone- velikost črk, presledki okoli imena in dvopičje za njim ne vplivajo, veljajo pa tuditelefon,telalimobil; v predogledu se stolpec vedno vrne kotphone. Veljaven je tudi sam seznam številk brez glave (ena na vrstico, en sam stolpec). Sicer celoten CSV pade na eno samo napakophonepri glavi. - Vsak nadaljnji stolpec je spremenljivka za sistemski prompt agenta (
{{column_name}}) - največ 20 stolpcev, ime do 64 znakov, vrednost do 512 znakov. - Telefonska številka se normalizira enako kot povsod v API (
normalizePhone) - neveljavna ali prazna številka je napaka le v TEJ vrstici, ostanek CSV se obdela naprej. - Celica, ki izgleda kot formula preglednice (začne se z
=,+,-ali@), se zavrne - zaščita pred vbrizgavanjem v CSV ob odpiranju v Excelu. - Največ 1000 vrstic na en CSV (enaka zgornja meja kot število prejemnikov naloge) in 1 MB surovega besedila; cela naloga z gradivi se mora prilegati v 2 MB, sicer ustvarjanje vrne
validation.
Odgovor vsebuje headers, delimiter, rows (vsaka vrstica s svojimi napakami), validRows (samo brezhibne, natanko v obliki, ki jo recipients v POST /v1/tasks pričakuje) in zbirne errors. validRows pošljite kar kot recipients pri ustvarjanju ali urejanju naloge.
Proračun in klicno okno
Proračun
budgetHal je ZGORNJA MEJA porabe v stotinih (halerjih) za celotno nalogo. Ob ustvarjanju mora pokriti vsaj en poskus v največji dolžini (sicer budget_too_low); ob zagonu se pred VSAKIM klicanjem rezervira najvišja možna cena poskusa (reservedBudgetHal), šele sprejeti klic jo prenese v spentHal. Rezervacija je cena klica natanko v dolžini maxDurationSecs (krak klica in krak agenta, vsak zaokrožen navzgor na stotin kot pri obračunavanju), klic, končan z omejitvijo trajanja, pa se obračuna največ za maxDurationSecs, tudi če se konča delček sekunde pozneje. Naloga nikoli ne porabi več, kot ji daste v budgetHal.
Klicno okno
callingWindow je {timezone: "Europe/Prague", start, end, days} - danes je edino podprto časovno območje praško, start/end v obliki HH:MM (konec vključno s celo minuto: okno 09:00-18:00 spusti zadnji klic ob 18:00:59, okno do 23:59 pokriva cel dan) in days števila 0-6 (0 = nedelja). Brez vnosa veljajo delovni dnevi 9:00-18:00. Zunaj okna start vrne window_closed - počakajte, da se okno odpre, ali pa okno uredite prek PATCH. Neobvezni expiresAt je konec kampanje kot pozitivno varno celo število v Unix milisekundah. Preverja se ob zagonu in pred vsakim klicanjem, vključno s prvim. Od tega trenutka nov klic ne začne in poskus se ne porabi; tekoči klic se dokonča. Obzorje ponavljanja politike lorela_enterprise (retryMaxAgeDays, privzeto 5) se nasprotno šteje kot N × 24 ur od prvega všetega poskusa, ne od ustvarjanja naloge.
Poskusi in trajanje klica
maxAttempts je brez politike 1-3 (privzeto 1), s retryPolicy: "lorela_enterprise" 1-4 (ob ustvarjanju privzeto 4). Določa najvišje število samodejnih klicanj enega stika, vključno s prvim (1 = brez ponavljanja). Šteje se vsak poskus, pri katerem je klic lahko potekel, torej tudi neodgovorjen ali zavrnjen s strani klicanega in poskus z negotovim izidom. Ne šteje se poskus, ki ga je volai zavrnil še pred klicanjem (na primer blokirana, lastna ali neveljavna številka, seznam ne kliči, številka, na katero trenutno teče drug klic, omejitve klicev); tak poskus ima items[].attempts[].countsAsAttempt: false. Ne šteje se niti klic, pri katerem operater cilja ni pravočasno prejel, zato telefon klicanega sploh ni zazvonil (poskus ima errorCode: "relay_not_routed", klic endReason: "rejected"): stik dobi nov poskus najprej čez minuto (s politiko lorela_enterprise po njenem razporedu), po tretjem takem zaporednem poskusu pa gre v pregled z reviewReason: "call:relay_not_routed". Ne šteje se niti klic, o katerem naš glasovni motor nikoli ni sporočil in ki smo ga po dveh urah brez poročila zaprli kot nepoklican in brez cene (poskus ima errorCode: "no_provider_report"): stik se vrne med čakajoče in dobi nov poskus najprej čez minuto (s politiko lorela_enterprise po njenem razporedu). Trije neštevni poskusi zapored, tudi pomešani s poskusi relay_not_routed, pošljejo stik v pregled z reviewReason po zadnjem od njih, torej call:no_provider_report; stikov, ki jih je tak klic prej poslal v pregled (call:failed, s politiko call:unknown), se samodejno ne obnavlja. Brez politike omejitev velja le za samodejna klicanja: stik, ki mu po izčrpanju poskusov date resolve z action: "retry", dobi še eno dodatno klicanje. maxDurationSecs (30-300) je zgornja meja trajanja ENEGA klica, po kateri se samodejno konča - privzeto trajanje je 120 sekund. Neobvezna politika lorela_enterprise se vklopi prek API ali MCP pred prvim poskusom; obstoječe naloge se same ne spreminjajo. Drugi poskus je najprej 8 minut od začetka prvega dejanskega poskusa v času 08:00-22:00 Europe/Prague. Tretji gre v naslednje drugačno okno 08:00-09:00 ali 17:00-19:00, četrti v nasprotno okno naslednji koledarski dan. Vedno veljata tudi callingWindow in njegovi dnevi; po obzorju ponavljanja politika ne kliče več: neobvezni retryMaxAgeDays je celo število dni 1-30 (brez vnosa 5) in velja le s politiko. Obzorje se konča N × 24 ur od prvega všetega poskusa stika (stalni 24-urni dnevi, zato se ob spremembi časa lokalni čas konca premakne za uro). Spremeniti ga je mogoče prek PATCH tudi po začetku poskusov (ne pri nalogi running ali completed, te urejati ni mogoče): zvišanje pri ustavljeni nalogi vrne stike, ki so propadli le zaradi obzorja (reviewReason: "retry_age_expired"), nazaj v stanje failed (čakajo na naslednji poskus) z novim nextAttemptAt, če imajo še prost poskus in najbližja reža razporeda pade v novo obzorje in pred expiresAt; znižanje ničesar ne odpre. Ponovno odpira samo PATCH, ki obzorje zvišuje, zato retryMaxAgeDays in podaljšani expiresAt pošljite v isti zahtevi. Ponavlja le no_answer, missed, busy, dokončan odzivnik in sprejet klic, v katerem klicani ni ničesar rekel (vse brez stika s človekom). Stik s človekom, zavrnitev in napaka motorja samodejno ponavljanje ustavijo; nejasen izid gre v pregled. Zadnji dovoljeni poskus (maxAttempts), ki se konča z takim ponovljivim izidom (neodgovorjeno, zasedeno, odzivnik ali sprejet klic, v katerem klicani ni ničesar rekel), stik zapre kot skipped z reviewReason: "retry_policy_exhausted" (kot retry_age_expired po izteku obzorja): ni kaj pregledovati ali ponavljati. Nejasen izid zadnjega poskusa ostane v review z istim razlogom. Brez politike se nič ne spremeni: zadnji neodgovorjeni poskus je še naprej review. Preverjen človeški povratni klic po izčrpanju poskusov stik prestavi na completed. DNC, proračun in omejitve ostanejo v veljavi: samodejna blokada po 3 neuspehih v 24 urah lahko ustavi tudi četrti poskus. Pri PATCH brez maxAttempts ostane dosedanja omejitev. S politiko ročni resolve z action: "retry" vrne napako validation; dovoljeni so samo njeni samodejno načrtovani poskusi. Izjema je obnova dokazljivo nepoklicanega poteklega claima pred prvim dejanskim poskusom: brez aktivnega delavca, namena razpošiljanja, ID-ja klica pri ponudniku, rezervacije, cene ali povratnega klica in samo z dokazanimi zavrnitvami pred klicanjem v zgodovini. Obnova ohrani zgodovino in omejitve ter vrne stik med čakajoče v ustavljeni nalogi; sama ne kliče. Opomnikov na ta način ni mogoče znova odpreti. Ročno ponavljanje torej ne zaobide štirih poskusov, obzorja ponavljanja ali končanja po stiku s človekom.
Globalna prepustnost
Klicanje vseh nalog na CELOTNI platformi (ne le vašega računa) poteka prek enega crona, ki teče vsaki 2 minuti in obdela največ 20 elementov na zagon - VENDAR se ta zgornja meja deli med sočasno tekoče naloge, ne more je porabiti ena sama naloga: iz VSAKE aktivne naloge se na zagon pokliče natanko ENEGA prejemnika. Tudi na povsem prazni platformi zato ena naloga nikoli ne pokliče več kot enega prejemnika na 2 minuti - sto prejemnikov se tako ne obdela v ~20 minutah, temveč v približno 200 minutah (100 x 2 minuti). Temu primerno načrtujte klicno okno pri časovno občutljivih kampanjah (npr. appointment dan pred terminom).
Postopek za agenta
Tipičen potek, v tem vrstnem redu:
- Agent naloge mora biti OBJAVLJEN in objavljena različica PREIZKUŠENA (
POST /v1/agents/{id}/draft/publish, natoPOST /v1/agents/{id}/simulate) - sicer poznejšistartvrneagent_not_ready. - Neobvezno
POST /v1/tasks/csv-preview- preveri CSV prejemnikov, preden se naloga ustvari. POST /v1/tasks- ustvari nalogo v stanjudraft. Nič se ne kliče.GET /v1/tasks/{id}- preberiteissues(validacija na suho) in preverite, da je naloga pripravljena na zagon.- Po potrebi
PATCH /v1/tasks/{id}- uredite pravila, VEDNO zrevisioniz zadnjega branja. POST /v1/tasks/{id}/start- zažene klicanje. Vsak sprejet klic se obračuna takoj.POST /v1/tasks/{id}/pausekadar koli med potekom,POST /v1/tasks/{id}/startznova nadaljuje.- Po prekinitvi (premor sredi klica, potekel claim, klic s še neznano ceno ali negotovo klicanje, za katero se je klic našel)
POST /v1/tasks/{id}/reconcileuskladi stanje z dejanskimi klici; taka naloga z delom konča vpaused, tudi če nekateri stiki čakajo vreview, in jo je mogoče znova zagnati prekstart. Tekoče naloge ali drugega razloga (variables_limit, neuspeh preverjanja računa ali koledarja, negotovo klicanje, za katero se klic ni našel)reconcilene spreminja; stike za pregled rešite prekresolve. - Stik, ki je končal v pregledu (
items[].status: "review"), rešite zPOST /v1/tasks/{id}/items/{itemId}/resolvezaction: "retry"ali"skip". Pri običajnem razloguretryvrne stik med čakajoče in nalogo vpaused;skipga zapre in naloga preide vpaused, če dela ostaja, ali vcompleted, če so vsi stiki opravljeni ali preskočeni. Nalogo vpausednato obnovite zPOST /v1/tasks/{id}/start. - Kadar ima stik
reviewReason: "dial:destination_auto_blocked", je številka 30 dni samodejno blokirana po ponavljajoče neodgovorjenih klicih in samoretryje ne odblokira - stik bi se takoj vrnil vreview. Najprej prekličite blokado (POST /v1/dnc/{e164}/unblock, v MCPunblock_destination, številko vzemite izitems[].phone), natoresolvezaction: "retry". Pridial:on_dncnajprej odstranite številko s seznama ne kliči (DELETE /v1/dnc/{e164}), sicer stik preskočite. Pri lastni številki računa, številki drugega računa volai, neveljavni številki, številki zunaj Češke in Slovaške ter premijski liniji (dial:cannot_call_own_number,dial:cannot_call_volai_number,dial:invalid_number,dial:unsupported_country,dial:blocked_destination) nadaljnji poskus ne pomaga: uporabite samoskip. - Kadar ima stik
reviewReason: "billing_unknown", je prvotni klic morda že potekel, le cena mu še ni znana. Najprej pokličitereconcilein preverite povezani klic.retrysi zapomni, da naj se stik poskusi znova, vendar novega klica ne dovoli, dokler se prvotna cena ne ustali; nato naloga preide vpausedin zahteva novstart.skipprepreči nadaljnji klic; prvotni klic ostane povezan in njegova rezervacija se še naprej šteje v proračun, dokler se cena ne ustali. Če dela ostaja, naloga poskippreide kar vpausedin jo je mogoče zagnati; brez nadaljnjega dela počaka vneeds_attentionin po ustalitvi cene konča vcompleted. Klic, ki se sploh ni poklical (motor ga je zavrnil), se nikoli ne obračuna in se ustali takoj na 0. - Stik, ki je medtem kupil ali se odjavil, preskočite brez klica prek
resolvezaction: "skip",reason: "customer_purchased"ali"unsubscribed",revision, stalnimoperationIdinevidenceRef, ki kaže na dokazilo o nakupu ali odjavi (nikoli na telefon ali e-pošto). To je mogoče pri stikupendingv nalogidraftin pripending/failedv nalogipausedbrez neporavnanega klica; poskusi, cene in seznam ne kliči ostanejo.GET /v1/tasks/{id}nato pokaže dokazilo vitems[].resolution(reason,operationId,evidenceRef,resolvedAt); isto telo je mogoče varno ponoviti, drugreasonalievidenceRefpri istem stiku je409 revision_conflict. Preskok številke ne zapiše na seznam ne kliči: če stika ne smete nikoli več poklicati, ga dodajte prekPOST /v1/dnc. DELETE /v1/tasks/{id}na koncu, če naloga ni nikoli potekla ali je že končana in želite zapis izbrisati.
Skoraj vsak pisalni klic (PATCH, start, pause, DELETE) vzame revision iz zadnjega branja naloge - enaka optimistična sočasnost kot pri osnutkih agenta. Neujemanje vrne revision_conflict: ponovno naložite nalogo (GET) in ponovite z aktualno revision. reconcile je izjema - revision je tam neobvezna.
MCP
Ista orodja kot REST (list_tasks, get_task, create_task, update_task, pause_task, resolve_task_item, reconcile_task, start_task) - razen ene razlike pri zagonu.
start_task potrjuje številke
MCP start_task dodatno vzame confirmedRecipients in confirmedBudgetHal - ujemati se morata natanko z dejanskim številom prejemnikov in proračunom naloge, sicer vrne validation z izpisanimi dejanskimi vrednostmi in NIČESAR ne zažene. Tuj AI-agent tako na enem nejasno razumljenem navodilu ne more pomotoma zagnati plačljive kampanje z izmišljenimi številkami - REST POST .../start te mehanike nima, ker tam kliče neposredno lastnik računa z lastnim ključem.
delete_task in predogleda CSV v MCP ni - brisanje ostaja v REST in portalu (nepovratno dejanje s prepisom imena), predogled CSV je le korak obrazca.
Napake
task_not_found- Na računu ni naloge s temid.task_not_editable- Naloga teče ali je končana (running/completed) ali pa jeneeds_attentionbrez možnosti obnove - pravil zdaj ni mogoče spreminjati. Isto kodo vrne tudiPOST .../items/{itemId}/resolvepri tekoči nalogi: stik vreviewse pojavi že, ko naloga kliče ostale stike in je šerunning- počakajte, da preide vneeds_attention, ali pa jo ustavite (POST .../pause).items_immutable- Seznama prejemnikov ni mogoče zamenjati, ko je bil izveden vsaj en poskus klicanja ali je bil stik preskočen zreason(nakup ali odjava).budget_too_low- Proračun ne pokrije niti enega poskusa v največji dolžini klica - zvišajtebudgetHalali znižajtemaxDurationSecs.task_not_startable- Naloga ni v stanjudraft/ready/pausedali nima nobenega čakajočega prejemnika.task_needs_attention- Pred naslednjim zagonom je trebaPOST .../reconcile- nekaj (različica agenta, motor) se je med potekom spremenilo.agent_not_ready- Osnutek agenta ni objavljen ali pa objavljena različica ni preizkušena - objavite ga (POST /v1/agents/{id}/draft/publish) in nato pred zagonom preizkusite objavljeno različico (POST /v1/agents/{id}/simulate).agent_version_changed- Konfiguracija agenta se je spremenila MED tekočo nalogo - preizkusite in znova zaženite prekreconcile.engine_required- Agent naloge ni na motorju volai (useForOutboundTasks: true) - odhodne kampanje danes zahtevajo motor, ne ElevenLabs.engine_contract_unavailable- Motor trenutno ne oglašuje podpore za spremenljivke in omejitve odhodnih nalog - poskusite zagon znova pozneje.window_closed- Zunaj nastavljenega klicnega okna - počakajte, da se odpre, ali ureditecallingWindow.task_not_running- Premor je mogoč le pri tekoči nalogi.item_not_resolvable- Stik ni v stanjureview- odločiti (retry/skip) je mogoče samo o stiku, ki čaka na pregled, in samo pri nalogi, ki ne teče. Izjema je preskok zreason(customer_purchased,unsubscribed): ta zahteva neaktiven stikpendingv nalogidraftalipending/failedvpaused, brez neporavnanega klica.task_not_deletable- Izbrisati je mogoče samo nalogo brez elementain_progressv stanjudraft/ready/paused/completed/needs_attention.revision_conflict- Naloga se je medtem spremenila - ponovno jo naložite (GET) in ponovite z aktualnorevision.
Celotno tabelo napak za vsako končno točko najdete v razdelku Naloge v referenci REST API.
Sorodno
Strežnik MCP
Povežite Claude Code, Codex CLI, namizni Codex, Cursor in druge urejevalnike z umetno inteligenco.
API REST
Popolna referenca vseh končnih točk: številke, klici, SMS, mobilne številke za SMS, agenti in njihovi osnutki, orodja, posnetki, webhooki, seznam »ne kliči«, relay, račun, naloge, dobroimetje, dokumenti, koledarji in integracije.
Glasovni agent
Sistemski poziv, orodja, predaja človeku, posnetki in strukturirani podatki klica.