Preskoči na sadržaj
REST API

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.

json
{
  "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.

json
{
  "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.

bash
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/messages pa /v1/calls troš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 Accepted odmah, 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/calls poziv samo pokreće i vraća njegov id - sinkrono, u trenu. Je li se poziv doista ostvario, završio ili nije uspio, saznajete tek kasnije preko webhooka call.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.