Skip to main content
Funkciju rīki ļauj jūsu balss aģentiem tālruņa zvanu laikā izsaukt ārējas API. Izmantojiet tos, lai meklētu klientu datus, pārbaudītu pieejamību, rezervētu tikšanās vai veiktu jebkuru darbību, ko atbalsta jūsu aizmugursistēma.

Kā tas darbojas

  1. Definējiet rīkus ar shēmu (kādus argumentus rīks pieņem)
  2. Norādiet endpoint konfigurāciju (kur ThunderPhone izsauc jūsu API) — vai neiekļaujiet to, lai rīku izsaukumus saņemtu organizācijas webhook
  3. Zvanu laikā AI, pamatojoties uz sarunu, izlemj, kad izmantot rīku
  4. ThunderPhone izsauc jūsu galapunktu ar rīka argumentiem
  5. Jūsu API atbilde tiek nodota atpakaļ AI, lai turpinātu sarunu
Funkciju rīki ir iespēja izmantot savu API. ThunderPhone piedāvā arī platformas pārvaldītus rīkus, kuriem nav nepieciešams galapunkts: lietotņu savienojumi (HubSpot, Salesforce, Slack, Google Calendar, Google Sheets, Cal.com), API savienojumi un MCP serveri.

Rīka shēma

Katrs rīks izmanto šādu struktūru:

Funkcijas definīcija

Galapunkta konfigurācija

endpoint konfigurācija AI modelim netiek nosūtīta — ThunderPhone to izmanto tikai rīka izsaukuma izpildei.

Divi izsaukšanas ceļi

Tas, kuru pieprasījumu saņem jūsu serveris, ir atkarīgs no tā, vai rīkam ir endpoint: Abi ceļi ir bloķējoši — AI rezultātu gaida teikuma vidū — un tiem ir 20 s noildze. Nodrošiniet ātru apstrādātāju darbību. Var izmantot abus: zvanā, kura organizācijai ir webhook URL, rīki ar endpoint tiek izsaukti tieši, bet pārējiem tiek izmantots webhook.

Tiešie galapunktu izsaukumi

Kad AI izsauc rīku, kuram ir endpoint, ThunderPhone nosūta pieprasījumu uz jūsu URL:

Pieprasījuma galvenes

Pielāgotās galvenes no jūsu endpoint.headers vienmēr tiek iekļautas burtiski, kā arī divas ThunderPhone vārdtelpas galvenes:
  • X-ThunderPhone-Signature — precīzo pieprasījuma pamatteksta baitu HMAC-SHA256, izmantojot jūsu organizācijas tīmekļa aizķeres noslēpumu
  • X-ThunderPhone-Call-ID — pašreizējās sarunas ID
Content-Type: application/json tiek iestatīts, ja vien jūsu endpoint.headers to nepārraksta — pielāgots Content-Type ir noteicošais.
Parakstam tiek izmantots organizācijas līmeņa tīmekļa aizķeres noslēpums no GET /v1/webhook. Ja jūsu organizācija nekad nav konfigurējusi mantoto tīmekļa aizķeri, noslēpuma nav, un rīku izsaukumos ir tikai X-ThunderPhone-Call-ID — apstrādātājs, kas pārtrauc darbu, ja paraksta nav, tos noraidīs. Vai nu konfigurējiet mantoto tīmekļa aizķeri, lai iegūtu noslēpumu, vai ievietojiet savu koplietojamo noslēpumu sadaļā endpoint.headers.

Pieprasījuma pamatteksts

POST / PUT / PATCH pieprasījumiem pamattekstā ir tikai rīka argumenti (bez aplauka), kas serializēti kanoniski (sakārtotas atslēgas, kompakti atdalītāji):
GET / DELETE pieprasījumiem argumenti tiek nosūtīti kā vaicājuma parametri, un pamatteksts ir tukšs — paraksts tad tiek aprēķināts tukšajai baitu virknei. Skatiet Tīmekļa aizķeres parakstu pārbaude.

Atbilde

Atgrieziet JSON atbildi ar rīka rezultātu:
Atbilde tiek formatēta un nodota AI, lai turpinātu sarunu. Atbildes, kas nav JSON, tiek ietītas kā {"data": "<text>"}; par noildzēm un savienojuma kļūmēm AI tiek ziņots kā par kļūdām, lai balss aģents varētu atvainoties un turpināt, nevis apstāties.

Nosūtīšana tīmekļa aizķeres režīmā

Rīki bez endpoint tiek nosūtīti uz jūsu organizācijas mantotās tīmekļa aizķeres URL kā parakstīts telephony.tool (tālruņa zvani) vai web.tool (tīmekļa zvani) pieprasījums. Atšķirībā no audita paziņojumiem, kas pēc izpildes tiek piegādāti tīmekļa aizķeres galapunktiem, šis pieprasījums ir izpilde — jūsu HTTP atbilde ir rīka rezultāts.
web.tool satur origin_domain, nevis from_number / to_number. Atbildiet ar rīka rezultātu JSON formātā — tas ir tas pats atbildes līgums kā tiešajiem galapunktu izsaukumiem. Pieprasījums tiek parakstīts ar organizācijas tīmekļa aizķeres noslēpumu, izmantojot neapstrādāto pamattekstu, tāpat kā katra cita tīmekļa aizķere.
Abonētie tīmekļa aizķeres galapunkti papildus saņem neblokējošu telephony.tool / web.tool paziņojumu pēc katra rīka izpildes (neatkarīgi no ceļa, kas to izpildīja), tostarp rīka atbildi — noderīgi audita pierakstiem. Skatiet notikumu katalogu.

Paraksta verificēšana

Tiešie rīku izsaukumi tiek parakstīti tāpat kā tīmekļa aizķeres:
  • HMAC-SHA256, izmantojot precīzus pieprasījuma pamatteksta baitus (kanoniskais JSON — sakārtotas atslēgas, bez papildu atstarpēm)
  • Ar jūsu organizācijas tīmekļa aizķeres noslēpumu
  • GET / DELETE rīki paraksta tukšu baitu virkni
Pilnas receptes — tostarp tukša pamatteksta gadījumam un situācijai, kad nav noslēpuma, — ir pieejamas sadaļā Tīmekļa aizķeres parakstu verificēšana.

Piemērs: pilnīga rezervēšanas plūsma

Šeit ir rīku kopa pilnīgai pierakstu rezervēšanas sistēmai:

Paraugprakse

Lauks description palīdz MI saprast, kad izmantot rīku. Konkrēti norādiet, ko tas dara un kad to ir lietderīgi izmantot.
Atgrieziet MI saprotamus kļūdu ziņojumus: {"error": "No slots available for that date"} vispārīgu 500 kļūdu vietā.
Atgrieziet tikai to, kas MI nepieciešams sarunas turpināšanai. Lielas datu paketes palēnina atbildes laiku.
Atzīmējiet laukus kā required tikai tad, ja tas patiešām ir nepieciešams. Pirms rīka izsaukšanas MI lūgs lietotājam norādīt obligāto informāciju.

Saistītā informācija

Lietotņu savienojumi

Platformas pārvaldīti rīki HubSpot, Salesforce, Slack, Google Calendar, Google Sheets un Cal.com — galapunkts nav nepieciešams.

MCP serveri

Pievienojiet MCP serveri un ļaujiet balss aģentam izsaukt tā rīkus.

API savienojumi

Atkārtoti izmantojamas REST integrācijas, ko varat pievienot balss aģentiem.

Pārbaudiet tīmekļa aizķeres parakstus

Viens pārbaudes palīgrīks tīmekļa aizķerēm un rīku izsaukumiem.