SMS i pozivi izravno iz scenarija u Makeu
Make poziva REST API volai preko općeg modula HTTP - iz scenarija tako šaljete SMS, pokrećete poziv preko glasovnog agenta, a ishod dobivate webhookom.
1Pripremite ključ kao connection
U modulu HTTP > Make a request dodajte zaglavlje Authorization s vrijednošću Bearer vk_TVUJ_KLIC (ključ pronađite u portalu u odjeljku AI asistent). Spremite ga kao ponovno iskoristivu vezu da ga ne morate prepisivati u svaki modul posebno.
2Pošaljite SMS iz scenarija
Dodajte modul HTTP > Make a request: metoda POST, URL https://volai.cz/v1/messages, tijelo tipa Raw (JSON) s poljima to i body - vrijednosti slobodno mapirajte iz bundlea prethodnog modula (redak tablice, webhook) umjesto ručnog prepisivanja. Uključite Parse response da se priceHal (cijena u stotinkama češke krune za sve segmente) i segments iz odgovora odmah razlože u bundle za daljnje mapiranje - bez toga dobivate samo sirovi tekst i morali biste dodati poseban modul Parse JSON. Kod teksta s dijakriticima segmenata je više nego kod poruke samo s ASCII znakovima.
{
"to": "+420777123456",
"body": "Objednavka je pripravena k vyzvednuti."
}3Pokrenite poziv preko glasovnog agenta
Dodajte drugi modul HTTP > Make a request: POST https://volai.cz/v1/calls, tijelo Raw (JSON) s to i agentId postojećeg glasovnog agenta - agent mora imati dodijeljen vlastiti broj, inače zahtjev završava pogreškom agent_no_number. Polje to obično ne upisujete ručno, nego ga mapirate iz bundlea prethodnog modula (primjerice telefonski broj iz retka Google Sheetsa) - kliknite u polje i odaberite varijablu iz ponude. I ovdje dobro dođe Parse response: razlaže id pokrenutog poziva odmah u bundle da se može dalje mapirati bez posebnog modula Parse JSON. Modul poziv samo pokreće - o stvarnom ishodu (završen, nije se javio, nije uspio) saznajete tek iz webhooka u sljedećem koraku.
{
"to": "+420777123456",
"agentId": "ag_kx91fa2b"
}4Primite događaje natrag preko Custom webhooka
Dodajte modul Webhooks > Custom webhook - Make će vam generirati URL i primljeni zahtjev odmah potvrditi (ispunjava uvjet brzog odgovora 200 iz /docs/webhooky). Istu adresu spremite preko PUT /v1/webhook zajedno s popisom događaja koji vas zanimaju. Pažnja: prazno polje events ne znači nijedan događaj, nego baš sve - radije ih uvijek nabrojite. Odgovor vraća i secret - spremite ga odmah, GET /v1/webhook ga više ne vraća.
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"]}'5Razgranajte scenarij prema vrsti događaja
Polje event u tijelu webhooka (call.completed, call.failed, call.no_answer, call.missed, message.sent, message.received) razlikujte modulom Router ili filtrom na rubu grane. Provjeru potpisa Volai-Signature (HMAC-SHA256 nad {t}.{rawBody} s vašim secret) dopunite prema točnoj formuli na /docs/webhooky - kod osjetljivog scenarija (plaćanja, upis u računovodstvo) nemojte je izostaviti.
Što time postižete
Iterator razašalje SMS po popisu kontakata
Modul Iterator razlaže polje kontakata (primjerice iz Google Sheetsa ili iz JSON polja) na pojedinačne stavke, a modul HTTP zatim za svaku zasebno poziva POST /v1/messages - tipično skupna obavijest ili podsjetnik za cijelu skupinu klijenata odjednom.
Filter na vezi odlučuje kome treba zvati
Make uvjet može postaviti izravno na vezu između modula - filter propušta dalje samo retke koji ispunjavaju uvjet (primjerice termin je sutra, a klijent još nije potvrdio) i tek oni pokreću modul HTTP prema POST /v1/calls.
Error handler hvata neuspjeli poziv
Na modul HTTP koji poziva /v1/calls dodajte error handler route sa smjerom Ignore - neuspjeh jednog poziva (primjerice neispravan broj) tako zapišete u tablicu ili pošaljete na Slack na ručnu provjeru, a da ne padne cijeli scenarij.
Česta pitanja
- Postoji li za volai vlastita aplikacija u Make marketplaceu?
- Zasad ne - dovoljni su opći moduli HTTP i Webhooks koje Make uvijek ima na raspolaganju. Vlastita aplikacija u Makeu pitanje je Make Technology Partner Programa kojim se zasad ne bavimo.
- Koliko operacija troši scenarij s dva modula HTTP?
- Svako izvršenje modula računa se kao jedna operacija - scenarij koji pozove
/v1/messagespa/v1/callstroši reda veličine dvije do tri operacije po izvođenju, ovisno o tome koliko modula stoji između njih. Ograničenje operacija određuje vaš plan u Makeu, a ne volai. - Kako da postavim error handler iznad modula HTTP da neuspjeh jednog poziva ne zaustavi cijeli scenarij?
- Kliknite desnom tipkom na modul HTTP i dodajte error handler route. Unutra odaberite direktivu Ignore - scenarij grešku zanemaruje i nastavlja dalje, kao da modul nije vratio nikakav izlaz. Ako sljedeći moduli trebaju zamjensku vrijednost umjesto izostalog izlaza, upotrijebite Resume s vlastitim rezervnim izlazom. Za Break posegnite samo ako želite odmah zaustaviti izvođenje pa ga zatim ručno ili automatski ponoviti.
- Zašto Custom webhook odmah vraća `Accepted`, prije nego što scenarij završi?
- Tako Custom webhook modul radi u zadanim postavkama - prijem potvrdi statusom 200 i tekstom
Acceptedodmah, a scenarij zatim dovrši u pozadini. Pozivatelju (primjerice volai) dovoljno je dobiti 200 u nekoliko sekundi - to je ispunjeno. - Zašto modul HTTP nakon poziva POST /v1/calls odmah nastavlja dalje, iako poziv još nije završio?
POST /v1/callspoziv samo pokreće i vraća njegovid- sinkrono, u trenu. Je li se poziv doista ostvario, završio ili nije uspio, saznajete tek kasnije preko webhookacall.completed/call.failed/call.no_answer/call.missed. Scenarij stoga ne mora ništa čekati ni ništa pollati - dovoljno je na taj ishod nadovezati modul Custom webhook opisan gore.
Isprobajte odmah
Registrirajte se i prvih 50 kr dobivate od nas.