ThunderPhone 2.0 sasa inapatikana.Anza kuitumia mwenyewe, kuanzia senti 2 kwa dakika.Soma tangazo

Developer cookbook

Vigezo vya kila simu

Binafsisha ejenti iliyohifadhiwa kwa kila simu bila kubadilisha prompt, zana au mipangilio yake iliyotumwa.

Weka vishikilia nafasi kwenye prompt ya ejenti yako iliyohifadhiwa, kisha toa objekti ya variables unapoanzisha simu. Usanidi uliohifadhiwa na historia ya matoleo hubaki bila kubadilika. ThunderPhone huchakata maandishi kabla ya kutuma usanidi wa simu kwenye mazingira ya utekelezaji wa sauti.

Wakati hakuna thamani zinazohitajika, acha variables, usitume null (inakatalika kwa 400).

Vishikilia nafasi na chaguo-msingi

You are calling {{name|Friend}} about account {{account_id}}.
The available appointment is {{ appointment_slot }}.

Majina hutofautisha herufi kubwa na ndogo na hufuata [A-Za-z_][A-Za-z0-9_]*. Nafasi tupu kuzunguka jina zinaruhusiwa; nafasi tupu baada ya | ni sehemu ya chaguo-msingi na huhifadhiwa. {{name|Friend}} hutumia Friend wakati name haipo au ni null; mfuatano tupu ni thamani iliyotolewa waziwazi. Thamani zinazokosekana zisizo na chaguo-msingi huwa mifuatano tupu na majina yake huonekana kwenye unresolved_variables. Maandishi kati ya mabano mawili ya curly ambayo si kishikilia nafasi halali huondolewa. Maandishi yenye mabano mawili ya curly ndani ya kila thamani iliyotolewa huondolewa kivyake; thamani haiwezi kuondoa maandishi yanayoizunguka kwenye prompt au thamani nyingine. Vikomo vya mabano mawili ya curly visivyolingana huondolewa pia. Mifano ya JSON kwenye prompt haipaswi kutumia {{. Thamani ni maandishi ya kawaida, hayatekelezwi kama msimbo wala hayapanuliwi tena kwa kujirudia kama templeti.

Vigeu vinaweza pia kuonekana katika prompt za uthibitisho, ujumbe wa sauti unaotumwa, na maandishi ya tangazo la idhini wakati sehemu hiyo inatumwa kwa simu. Ejenti haina sehemu tofauti ya first_message: weka maelekezo yake ya mwanzo kwenye prompt. Vishikilia nafasi vilivyopo vya ujumbe wa sauti {agent_name} na {org_name} vinaendelea kufanya kazi.

Thamani zinaweza kuwa mifuatano, nambari, boolea, au null; boolea huonyeshwa kama true na false. Herufi za udhibiti za Unicode (Cc) isipokuwa mstari mpya (\n), tab (\t), na rejesho la mwanzo wa mstari (\r), herufi zote za umbizo (Cf), na pointi za msimbo za mbadala (Cs) huondolewa; \r\n hurekebishwa kuwa \n. Kila thamani huzuiwa hadi herufi 2,000 inapochakatwa. Mifuatano iliyotolewa husafishwa na kukatwa kabla ya kuhifadhiwa pia. Objekti asili lazima itoshe ndani ya 32 KB ya JSON ya UTF-8; objekti kubwa zaidi hupokea 400 kwenye maombi ya simu/kikao, huku uagizaji wa kampeni ukiripoti safu batili kivyake. Safu na objekti zilizopachikwa hazikubaliki kama thamani. Vifunguo vya metadata visivyolingana (kwa mfano, kichwa cha CSV chenye nafasi) huhifadhiwa na kurudishwa lakini haviwezi kurejelewa na kishikilia nafasi.

Vyanzo vya thamani

API ya simu zinazotoka

Tuma variables pamoja na agent_id kwenye POST /v1/call:

{
  "from_number": "+15551234567",
  "to_number": "+14155550199",
  "agent_id": 12,
  "variables": {
    "name": "Ada",
    "account_id": "A-17",
    "appointment_slot": "Tuesday at 10 AM"
  }
}

Hii pia hufanya kazi na ejenti chaguomsingi wa simu inayotoka wa nambari ya simu, au kwa config.prompt ya ndani. Ufunguo wa idempotency hauwezi kutumika tena na vigeu tofauti.

CSV ya kampeni

Safu za CSV zisizo za simu tayari huhifadhiwa kama vigeu vya mawasiliano. Kila upigaji simu sasa huzitumia kiotomatiki. Tumia vichwa kama name, account_id, na appointment_slot ili vilingane na vishikilia nafasi vyako. Ulinganishaji uliopo wa jina unaweza kuunganisha safu za jina la kwanza na jina la mwisho kuwa kigeu name.

Webhook ya usanidi badilifu

Kwenye njia ya webhook ya usanidi inayozuia, rudisha ejenti iliyohifadhiwa katika shirika lako pamoja na thamani zozote za kila simu:

{"agent_id": 12, "variables": {"name": "Ada", "account_id": "A-17"}}

Funguo za jibu hubatilisha vigeu vya kiwango cha ombi, huku funguo nyingine za ombi zikisalia. Thamani ya jibu ya null huchagua chaguomsingi ya kishikilia nafasi. Kitu kilichounganishwa lazima pia kitoshee ndani ya KB 32. Majibu ya ejenti iliyohifadhiwa hukubali agent_id na variables pekee; rudisha usanidi wa ndani unapohitaji kubadilisha prompt au mipangilio. Jibu lenye prompt daima hutumia usanidi wa ndani: agent_id yoyote katika jibu hilo hupuuzwa, ikijumuisha metadata ya null au isiyo kamili. Prompt ya ndani bado lazima ipite uthibitishaji wa kawaida. Majibu ya webhook ya ndani yanaweza kujumuisha variables pia. Majibu ya webhook ya ejenti iliyohifadhiwa hutumia mgawanyo wa A/B uliowekwa wa ejenti kwenye simu na simu za widget; vigeu hutolewa baada ya uteuzi wa lahaja. Kwenye simu zinazoingia, tumia nambari isiyo na ejenti inayoingia iliyogawiwa na usanidi webhook yake ya nambari ya simu au ya shirika; funguo za widget hutumia mode="webhook". Arifa zinazoingia za mfumo wa endpoint hazitoi majibu ya usanidi yanayozuia.

API za kipindi cha Widget na Realtime

POST /v1/widget/session hukubali kitu cha kiwango cha juu cha variables. Ufunguo wake unaoweza kuchapishwa huchagua ejenti iliyohifadhiwa. Funguo za hali ya webhook hutuma thamani hizi kwa webhook ya usanidi na kuunganisha jibu kama ilivyoelezwa hapo juu. variables za widget/realtime zinazotolewa na kivinjari zinasimamiwa na mteja, hutumwa kama zilivyo katika web.incoming baada ya uthibitishaji na usafishaji wa mfuatano ulioelezwa hapo juu, na hurudiwa kwenye webhooks za ukamilishaji na historia ya simu. Usizichukulie kama data ya utambulisho au uidhinishaji inayoaminika.

POST /v1/realtime/sessions hukubali variables pamoja na agent_id (au config ya ndani). Hizi ni sehemu za API ya kuunda kipindi. Daraja la Realtime WebSocket halitumii chaguo la variables; litoe moja kwa moja kwa API ya kuunda kipindi. Wateja wa Widget lazima wajumuishe variables katika mzigo wa kipindi unaotumwa; utumaji wa SDK si sehemu ya mabadiliko haya ya API. Simu za majaribio za maikrofoni ya Builder na zilizoigwa hutatua chaguomsingi na vishikilia nafasi visivyopo lakini hazina ingizo la vigeu vya kila simu.

Thamani zinazorejeshwa baada ya simu

GET /v1/calls, GET /v1/calls/{call_id}, telephony.complete, na web.complete zinajumuisha variables na unresolved_variables za mwisho zilizounganishwa. Mizigo ya zamani ya ukamilishaji inayojumuisha data.history hujumuisha hizi pia:

{
  "variables": {"name": "Ada", "account_id": "A-17"},
  "unresolved_variables": ["appointment_slot"]
}

Hifadhi kitambulisho chako cha CRM au kazi katika kitu cha variables ili kuunganisha simu iliyokamilika na rekodi yake ya chanzo. Sehemu hizi huhifadhiwa pamoja na rekodi ya simu; tuma tu maelezo yanayofaa kuhifadhiwa katika historia ya simu na webhooks.

Uoanifu wa prompt zilizopo

Utoaji pia hutumika kwa prompt zilizopo za ejenti zilizohifadhiwa na vibadala vya A/B, usanidi wa ndani wa simu za kutoka na wa wakati halisi, pamoja na prompt zinazorejeshwa na webhook za usanidi. Vipa nafasi visivyojulikana vya {{name}} hubadilika kuwa maandishi matupu, hata wakati hakuna variables zinazotolewa. Kagua prompt zilizopo kabla ya utekelezaji, ikijumuisha prompt za ndani/webhook zinazotolewa na vyanzo vya nje ambazo ThunderPhone haiwezi kuorodhesha. Simu za maikrofoni ya Builder na uigaji hutumia tabia hiyo hiyo ya chaguo-msingi/tupu.