SMS in klici neposredno iz scenarija Make
Make pokliče REST API volai prek splošnega modula HTTP - iz scenarija tako pošljete SMS, sprožite klic prek glasovnega agenta, rezultat pa prejmete z webhookom.
1Ključ pripravite kot connection
V modulu HTTP > Make a request dodajte glavo Authorization z vrednostjo Bearer vk_TVUJ_KLIC (ključ najdete v portalu v razdelku AI asistent). Shranite ga kot ponovno uporabno povezavo, da ga vam ni treba prepisovati v vsak modul posebej.
2Pošljite SMS iz scenarija
Dodajte modul HTTP > Make a request: metoda POST, URL https://volai.cz/v1/messages, telo vrste Raw (JSON) s polji to in body - vrednosti lahko preslikate iz bundla prejšnjega modula (vrstica tabele, webhook), namesto da bi jih prepisovali ročno. Vklopite Parse response, da se priceHal (cena v halerjih za vse segmente) in segments iz odgovora takoj razčlenita v bundle za nadaljnje preslikovanje - brez tega dobite le surovo besedilo in bi morali dodati poseben modul Parse JSON. Pri besedilu z diakritičnimi znaki je segmentov več kot pri sporočilu samo z znaki ASCII.
{
"to": "+420777123456",
"body": "Objednavka je pripravena k vyzvednuti."
}3Sprožite klic prek glasovnega agenta
Dodajte drugi modul HTTP > Make a request: POST https://volai.cz/v1/calls, telo Raw (JSON) s poljema to in agentId obstoječega glasovnega agenta - agent mora imeti dodeljeno lastno številko, sicer zahteva spodleti z napako agent_no_number. Polja to običajno ne izpolnjujete ročno, ampak ga preslikate iz bundla prejšnjega modula (na primer telefonsko številko iz vrstice Google Sheets) - kliknite polje in izberite spremenljivko s seznama. Tudi tu je uporaben Parse response: id sproženega klica razčleni neposredno v bundle, da ga je mogoče preslikati naprej brez posebnega modula Parse JSON. Modul klic le sproži - o dejanskem izidu (zaključen, brez odgovora, spodletel) izveste šele iz webhooka v naslednjem koraku.
{
"to": "+420777123456",
"agentId": "ag_kx91fa2b"
}4Dogodke prejmite nazaj prek Custom webhook
Dodajte modul Webhooks > Custom webhook - Make vam ustvari URL in prejeto zahtevo takoj potrdi (s tem je izpolnjen pogoj hitrega odgovora 200 iz /docs/webhooky). Isti naslov shranite prek PUT /v1/webhook skupaj s seznamom dogodkov, ki vas zanimajo. Pozor: prazno polje events ne pomeni nobenega dogodka, ampak čisto vse - raje jih vedno naštejte. Odgovor vrne tudi secret - shranite ga takoj, GET /v1/webhook ga ne vrne več.
curl -X PUT https://volai.cz/v1/webhook \
-H "Authorization: Bearer vk_TVUJ_KLIC" \
-H "Content-Type: application/json" \
-d '{"url": "https://hook.eu2.make.com/xxxxxxxx", "events": ["call.completed", "message.sent"]}'5Scenarij razvejite glede na vrsto dogodka
Polje event v telesu webhooka (call.completed, call.failed, call.no_answer, call.missed, message.sent, message.received) ločite z modulom Router ali filtrom na robu veje. Preverjanje podpisa Volai-Signature (HMAC-SHA256 nad {t}.{rawBody} z vašim secret) dodajte po natančni formuli na /docs/webhooky - pri občutljivem scenariju (plačila, vnos v računovodstvo) ga ne izpuščajte.
Kaj lahko z njim naredite
Iterator razpošlje SMS po seznamu stikov
Modul Iterator razgradi polje stikov (na primer iz Google Sheets ali polja JSON) na posamezne elemente, modul HTTP pa nato za vsakega posebej pokliče POST /v1/messages - običajno skupno obvestilo ali opomnik za celotno skupino strank naenkrat.
Filter na povezavi odloči, komu pokličete
Make omogoča postaviti pogoj neposredno na povezavo med moduloma - filter spusti naprej samo vrstice, ki pogoj izpolnjujejo (na primer da je termin jutri in stranka še ni potrdila), in šele te sprožijo modul HTTP za POST /v1/calls.
Error handler ujame spodletel klic
Modulu HTTP, ki kliče /v1/calls, dodajte pot error handler z direktivo Ignore - neuspeh enega klica (na primer neveljavna številka) tako zapišete v tabelo ali pošljete v Slack v ročni pregled, ne da bi se zrušil celoten scenarij.
Pogosta vprašanja
- Ali za volai obstaja lastna aplikacija v tržnici Make?
- Zaenkrat ne - dovolj sta splošna modula HTTP in Webhooks, ki ju ima Make vedno na voljo. Lastna aplikacija v Make je vprašanje programa Make Technology Partner Program, ki ga zaenkrat ne obravnavamo.
- Koliko operacij porabi scenarij z dvema moduloma HTTP?
- Vsak zagon modula se šteje kot ena operacija - scenarij, ki pokliče
/v1/messagesin nato/v1/calls, porabi približno dve do tri operacije na zagon, odvisno od tega, koliko modulov je vmes. Omejitev operacij določa vaš paket Make, ne volai. - Kako nastavim error handler nad modulom HTTP, da neuspeh enega klica ne ustavi celotnega scenarija?
- Z desnim klikom na modul HTTP dodajte pot error handler. V njej izberite direktivo Ignore - scenarij napako prezre in teče naprej, kot da modul ne bi vrnil nobenega izhoda. Če nadaljnji moduli namesto manjkajočega izhoda potrebujejo nadomestno vrednost, uporabite Resume z lastnim nadomestnim izhodom. Po Break posezite le, kadar želite izvajanje takoj ustaviti in zagon nato ročno ali samodejno ponoviti.
- Zakaj Custom webhook takoj vrne `Accepted`, še preden se scenarij konča?
- Tako Custom webhook privzeto deluje - prejem potrdi s statusom 200 in besedilom
Acceptedtakoj, scenarij pa nato teče v ozadju. Klicatelju (na primer volai) zadošča, da v nekaj sekundah dobi 200 - kar je izpolnjeno. - Zakaj modul HTTP po klicu POST /v1/calls takoj nadaljuje, čeprav se klic še ni končal?
POST /v1/callsklic le sproži in vrne njegovid- sinhrono, v trenutku. Ali se je klic dejansko vzpostavil, zaključil ali spodletel, izveste šele pozneje prek webhookacall.completed/call.failed/call.no_answer/call.missed. Scenarij zato ne rabi na nič čakati ali karkoli povpraševati - na ta rezultat se preprosto navežite z modulom Custom webhook, opisanim zgoraj.
Preizkusite takoj
Registrirajte se in prvih 50 kr je na naš račun.