Működése
- Sémával definiálja az eszközöket (milyen argumentumokat fogad el az eszköz)
- Megad egy
endpointkonfigurációt (ahol a ThunderPhone meghívja az API-ját) — vagy kihagyja, hogy az eszközhívásokat a szervezete webhookján fogadja - Hívás közben az AI a beszélgetés alapján dönti el, mikor használjon egy eszközt
- A ThunderPhone meghívja az endpointját az eszköz argumentumaival
- Az API válasza visszakerül az AI-hoz, hogy folytathassa a beszélgetést
A funkcióeszközök a saját API használatára szolgáló megoldást jelentik. A ThunderPhone
olyan, platform által kezelt eszközöket is kínál, amelyekhez nincs szükség endpointra:
alkalmazáskapcsolatok (HubSpot, Salesforce, Slack,
Google Calendar, Google Sheets, Cal.com),
API-kapcsolatok és
MCP-szerverek.
Eszközséma
Minden eszköz ezt a struktúrát követi:Funkciódefiníció
Endpoint konfiguráció
Az
endpoint konfiguráció nem kerül elküldésre az AI-modellnek — azt csak a ThunderPhone használja az eszközhívás végrehajtására.Két meghívási útvonal
Az, hogy a szervere melyik kérést kapja, attól függ, hogy az eszköz rendelkezik-eendpoint konfigurációval:
Mindkét útvonal blokkoló — az AI a mondat közepén vár az
eredményre —, és 20 mp időkorláttal rendelkezik. Tartsa gyorsan a kezelőket. A
vegyes használat is megfelelő: olyan hívás esetén, amelynek szervezete rendelkezik webhook URL-lel, az
endpoint konfigurációval rendelkező eszközök közvetlenül hívódnak meg, a többi pedig
a webhookra vált vissza.
Közvetlen végpont-hívások
Amikor az AI-ügynök meghív egyendpoint-tal rendelkező eszközt, a ThunderPhone
kérést küld az Ön URL-jére:
Kérésfejlécek
endpoint.headers egyéni fejlécei mindig változatlanul szerepelnek,
valamint két ThunderPhone-névterű fejléc:
X-ThunderPhone-Signature— a pontos kéréstörzs bájtjainak HMAC-SHA256 értéke, az Ön szervezeti webhooktitkával kulcsolvaX-ThunderPhone-Call-ID— Az aktuális hívásazonosító
Content-Type: application/json be van állítva, kivéve, ha az endpoint.headers
felülírja — az egyéni Content-Type élvez elsőbbséget.
Kéréstörzs
POST / PUT / PATCH esetén a törzs csak az eszköz argumentumait
tartalmazza (burkoló nélkül), kanonikusan szerializálva (rendezett kulcsok,
tömör elválasztók):
GET / DELETE esetén az argumentumok lekérdezési paraméterekként
kerülnek elküldésre, a törzs pedig üres — az aláírás ilyenkor az üres
bájtsoron kerül kiszámításra. Lásd:
Webhook-aláírások ellenőrzése.
Válasz
Adjon vissza egy JSON-választ az eszköz eredményével:{"data": "<text>"} formában vannak becsomagolva;
az időtúllépéseket és a kapcsolati hibákat az AI hibaként kapja meg, így az
ügynök bocsánatot kérhet és továbbléphet, ahelyett hogy megakadna.
Webhook módú továbbítás
Azendpoint nélküli eszközök a szervezete régi webhook-URL-jére kerülnek
továbbításra aláírt telephony.tool (telefonhívások) vagy web.tool
(webes hívások) kérésként. A végrehajtás után webhook-végpontokra kézbesített
auditértesítésekkel ellentétben ez a kérés maga
a végrehajtás — az Ön HTTP-válasza az eszköz eredménye.
web.tool a from_number / to_number helyett origin_domain mezőt
tartalmaz. Az eszköz eredményét JSON-ként adja vissza — ugyanaz a válaszszerződés,
mint a közvetlen végpont-hívásoknál. A kérés a szervezeti webhooktitokkal,
a nyers törzs alapján van aláírva, mint minden más webhook.
A feliratkozott webhook-végpontok ezen felül nem blokkoló
telephony.tool / web.tool értesítést kapnak minden eszköz végrehajtása
után (bármelyik útvonal futtatta is), beleértve az eszköz válaszát is —
hasznos auditnaplókhoz. Lásd az
eseménykatalógust.Aláírás-ellenőrzés
A közvetlen eszközhívások aláírása ugyanúgy történik, mint a webhookoké:- HMAC-SHA256 a kérés törzsének pontos bájtjain (a kanonikus JSON-on — rendezett kulcsokkal, extra szóközök nélkül)
- Az Ön szervezetének webhooktitkával kulcsolva
- A
GET/DELETEeszközök az üres bájtsorozatot írják alá
Példa: teljes foglalási folyamat
Íme egy teljes időpontfoglalási rendszerhez tartozó eszközkészlet:Ajánlott eljárások
Írjon egyértelmű leírásokat
Írjon egyértelmű leírásokat
A
description mező segít az AI-nak megérteni, mikor használja az eszközt. Pontosan írja le, mit végez, és mikor célszerű használni.Kezelje elegánsan a hibákat
Kezelje elegánsan a hibákat
Az AI számára érthető hibaüzeneteket adjon vissza:
{"error": "No slots available for that date"} általános 500-as hibák helyett.Tartsa tömören a válaszokat
Tartsa tömören a válaszokat
Csak azt adja vissza, amire az AI-nak szüksége van a beszélgetés folytatásához. A nagy adatcsomagok lassítják a válaszidőt.
Használja körültekintően a kötelező mezőket
Használja körültekintően a kötelező mezőket
Csak akkor jelölje a mezőket
required értékűként, ha valóban szükséges. Az AI az eszköz meghívása előtt bekéri a felhasználótól a kötelező információkat.Kapcsolódó témák
Alkalmazáskapcsolatok
A platform által kezelt eszközök a HubSpothoz, a Salesforce-hoz, a Slackhez, a Google
Calendarhoz, a Google Sheetshöz és a Cal.comhoz — nincs szükség végpontra.
MCP-szerverek
Csatlakoztasson MCP-szervert, és engedje, hogy az ügynök meghívja annak eszközeit.
API-kapcsolatok
Újrahasználható REST-integrációk, amelyeket ügynökökhöz csatolhat.
Webhook-aláírások ellenőrzése
Egy ellenőrzési segédfüggvény webhookokhoz és eszközhívásokhoz.