Tabloul de bord acoperă majoritatea nevoilor de instrumente fără acest API: Conexiuni
→ Aplicații conectează Slack, HubSpot, Salesforce, Google Calendar,
Google Sheets și Cal.com prin câteva clicuri OAuth; Conexiuni →
API-uri transformă orice API HTTP într-o acțiune a agentului (lipiți o comandă cURL
și un asistent AI creează o schiță a instrumentului, cu o opțiune integrată de Testare cerere); iar
Conexiuni → MCP adaugă servere MCP. Consultați
Conexiuni. Acest ghid prezintă API-ul de bază de sub
suprafața API-urilor.
Anatomia unui instrument
Două componente:- Schema — o definiție de funcție în stil OpenAI
(
{type: "function", function: {name, description, parameters}}) care îi indică LLM-ului ce face instrumentul și ce argumente acceptă. - Endpointul — URL-ul apelat de serverele ThunderPhone atunci când LLM-ul decide să utilizeze instrumentul. Cererea este un POST JSON, cu argumentele alese de LLM în corpul cererii.
1. Alegeți o strategie de stocare
Inclus direct în agent
Atașați un instrument punctual la matricea
tools a agentului. Simplu, dar
nereutilizabil.Integrare salvată
Stocați instrumentul ca integrare reutilizabilă
și conectați-l de la mai mulți agenți. Recomandat pentru orice este utilizat
de mai multe ori.
2. Creați integrarea
id returnat (un UUID).
3. Testați endpointul în sandbox
Înainte de a conecta integrarea la un agent, trimiteți o cerere semnată de pe serverele ThunderPhone pentru a confirma conectivitatea:Response
400 code=url_not_allowed.
4. Conectați integrarea la un agent
Atașați prinintegration_ids atunci când creați sau actualizați un agent:
get_weather atunci când apelantul întreabă
despre condițiile meteo” — sau le poate descoperi implicit din
descrierile schemei.
5. Implementați endpointul
Când agentul invocă instrumentul, ThunderPhone trimite un POST semnat cătreendpoint_url:
6. Testați fluxul
Rulați o sesiune de microfon pentru agent și puneți întrebarea pe care o gestionează instrumentul dumneavoastră („Cum este vremea în 94110?”). Transcrierea apelului arată întregul circuit:GET /v1/calls/{call_id}/transcript;
fluxul brut de evenimente (cu temporizarea fiecărei intrări și decalajele audio) este disponibil la
GET /v1/calls/{call_id}/history.
Probleme frecvente
Agentul nu apelează niciodată instrumentul
Agentul nu apelează niciodată instrumentul
LLM-ul decide pe baza descrierii instrumentului. Dacă întrebarea apelantului
nu corespunde descrierii, modelul nu va invoca
instrumentul. Precizați descrierea (adăugați sinonime și
formulări frecvente) sau menționați-l explicit în instrucțiunea agentului („Când
apelantul întreabă despre vreme, utilizați
get_weather.”).Instrumentul returnează prea multe date
Instrumentul returnează prea multe date
Răspunsurile de peste 6 kB sunt trunchiate în previzualizarea transcrierii. Returnați
doar câmpurile de care are nevoie LLM-ul — nu întregul rând.
Expirări
Expirări
Endpointurile instrumentelor au un timeout implicit de 10 secunde. Dacă aveți nevoie de mai mult timp,
gestionați procesul asincron: returnați
{"status": "pending", "request_id": "..."}
și afișați rezultatul printr-un apel separat al instrumentului.Versionare
Versionare
Fiecare
PATCH al unei integrări creează o revizie nouă. Consultați
GET /v1/integrations/{id}/versions
pentru a vedea cine a modificat ce. Dacă deteriorați schema unui instrument, puteți
reveni manual aplicând prin PATCH un instantaneu mai vechi.Pașii următori
Referință integrări
CRUD, transfer, istoric al versiunilor.
Specificația instrumentelor de funcție
Gramatica completă a schemei JSON și contractul pentru endpointuri semnate.
Verificați semnăturile
Aplicați modelul de semnătură webhook la endpointurile instrumentelor.
API pentru transcrieri și istoric
Inspectați întregul circuit al unui apel de instrument.