Sms en gesprekken rechtstreeks vanuit een Make-scenario
Make roept de volai REST API aan via de algemene HTTP-module - zo verstuurt u vanuit een scenario sms-berichten, start u gesprekken via een spraakagent en ontvangt u het resultaat via een webhook.
1Bereid de sleutel voor als verbinding
Voeg in de module HTTP > Make a request een header Authorization toe met de waarde Bearer vk_TVUJ_KLIC (de sleutel vindt u in het portaal onder AI-assistent). Sla hem op als herbruikbare verbinding, zodat u hem niet in elke module afzonderlijk hoeft over te typen.
2Verstuur een sms vanuit het scenario
Voeg een module HTTP > Make a request toe: methode POST, URL https://volai.cz/v1/messages, body van het type Raw (JSON) met de velden to en body - koppel de waarden bij voorkeur uit de bundle van de vorige module (tabelrij, webhook) in plaats van ze handmatig over te typen. Schakel Parse response in, zodat priceHal (prijs in hellers voor alle segmenten) en segments uit het antwoord direct in de bundle beschikbaar zijn voor verdere koppeling - zonder deze optie krijgt u alleen ruwe tekst en moet u een aparte module Parse JSON toevoegen. Bij tekst met diakritische tekens ontstaan meer segmenten dan bij een puur ASCII-bericht.
{
"to": "+420777123456",
"body": "Uw bestelling ligt klaar om opgehaald te worden."
}3Start een gesprek via de spraakagent
Voeg een tweede module HTTP > Make a request toe: POST https://volai.cz/v1/calls, body Raw (JSON) met to en de agentId van een bestaande spraakagent - aan de agent moet een eigen nummer zijn toegewezen, anders eindigt het verzoek met de fout agent_no_number. Het veld to vult u meestal niet handmatig in, maar koppelt u uit de bundle van de vorige module (bijvoorbeeld het telefoonnummer uit een rij van Google Sheets) - klik in het veld en kies de variabele uit het menu. Ook hier is Parse response handig: het zet de id van het gestarte gesprek direct in de bundle, zodat u die zonder aparte module Parse JSON verder kunt koppelen. De module start het gesprek alleen - het werkelijke resultaat (afgerond, niet opgenomen, mislukt) verneemt u pas uit de webhook in de volgende stap.
{
"to": "+420777123456",
"agentId": "ag_kx91fa2b"
}4Ontvang gebeurtenissen terug via een Custom webhook
Voeg een module Webhooks > Custom webhook toe - Make genereert een URL en bevestigt het ontvangen verzoek meteen (dat voldoet aan de voorwaarde van een snel antwoord 200 uit /docs/webhooky). Sla hetzelfde adres op via PUT /v1/webhook, samen met de lijst van gebeurtenissen waarin u geïnteresseerd bent. Let op: een leeg veld events betekent niet geen gebeurtenis, maar álle gebeurtenissen - som de gewenste daarom altijd afzonderlijk op. Het antwoord bevat ook een secret - bewaar het meteen, GET /v1/webhook geeft het niet meer terug.
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"]}'5Splits het scenario op naar type gebeurtenis
Onderscheid het veld event in de body van de webhook (call.completed, call.failed, call.no_answer, call.missed, message.sent, message.received) met een module Router of met een filter op de verbinding van de tak. Voeg de controle van de handtekening Volai-Signature (HMAC-SHA256 over {t}.{rawBody} met uw secret) toe volgens de exacte formule op /docs/webhooky - laat die bij een gevoelig scenario (betalingen, boekhouding) niet weg.
Wat u ermee doet
Een Iterator verstuurt sms-berichten naar een hele contactenlijst
De module Iterator splitst een array van contacten (bijvoorbeeld uit Google Sheets of uit een JSON-array) op in afzonderlijke items, waarna de HTTP-module voor elk item apart POST /v1/messages aanroept - doorgaans een groepsbericht of herinnering voor een hele groep klanten tegelijk.
Een filter op de verbinding bepaalt wie gebeld wordt
In Make kunt u een voorwaarde direct op de verbinding tussen twee modules plaatsen - het filter laat alleen rijen door die aan de voorwaarde voldoen (bijvoorbeeld: de afspraak is morgen en de klant heeft nog niet bevestigd), en alleen die activeren de HTTP-module voor POST /v1/calls.
Een error handler vangt een mislukt gesprek op
Voeg aan de HTTP-module die /v1/calls aanroept een error handler route toe met de directive Ignore - het mislukken van één gesprek (bijvoorbeeld door een ongeldig nummer) legt u zo vast in een tabel of stuurt u naar Slack voor handmatige controle, zonder dat het hele scenario stopt.
Veelgestelde vragen
- Is er een eigen volai-app in de Make-marketplace?
- Nog niet - de algemene modules HTTP en Webhooks, die Make altijd biedt, volstaan. Een eigen app in Make hangt samen met het Make Technology Partner Program, dat we momenteel niet nastreven.
- Hoeveel operaties verbruikt een scenario met twee HTTP-modules?
- Elke uitvoering van een module telt als één operatie - een scenario dat
/v1/messagesen daarna/v1/callsaanroept, verbruikt per run ongeveer twee tot drie operaties, afhankelijk van het aantal modules daartussen. De limiet voor operaties wordt bepaald door uw Make-abonnement, niet door volai. - Hoe stel ik boven de HTTP-module een error handler in, zodat het mislukken van één gesprek niet het hele scenario stopt?
- Klik met de rechtermuisknop op de HTTP-module en voeg een error handler route toe. Kies daarin de directive Ignore - het scenario negeert de fout en loopt door, alsof de module geen uitvoer had opgeleverd. Hebben volgende modules een vervangende waarde nodig in plaats van de ontbrekende uitvoer, gebruik dan Resume met een eigen reserve-uitvoer. Kies Break alleen wanneer u de run meteen wilt stoppen en de uitvoering later handmatig of automatisch wilt herhalen.
- Waarom antwoordt Custom webhook meteen met `Accepted`, nog voordat het scenario is afgelopen?
- Zo werkt de module Custom webhook standaard - hij bevestigt de ontvangst direct met status 200 en de tekst
Accepted, waarna het scenario op de achtergrond verder loopt. De aanroepende partij (bijvoorbeeld volai) hoeft alleen binnen enkele seconden een 200 te ontvangen - daaraan wordt voldaan. - Waarom gaat de HTTP-module na POST /v1/calls meteen door, terwijl het gesprek nog niet is afgelopen?
POST /v1/callsstart het gesprek alleen en geeft deidterug - synchroon, binnen een oogwenk. Of het gesprek daadwerkelijk tot stand kwam, is afgerond of is mislukt, verneemt u pas later via de webhookcall.completed/call.failed/call.no_answer/call.missed. Het scenario hoeft dus nergens op te wachten en niets op te vragen - koppel gewoon de hierboven beschreven module Custom webhook aan dit resultaat.
Probeer het meteen
Registreer u en de eerste 50 kr is voor onze rekening.