Skip to navigation

Uitgaande berichten en templates

Start WhatsApp-gesprekken en oproepen vanuit je agent

Overzicht

Een agent kan alleen vrije WhatsApp-berichten versturen binnen een actief gesprek. Om als eerste contact op te nemen met een gebruiker — voor meldingen, heractivatie of geplande gesprekken — stuur je een door Meta goedgekeurde berichttemplate. Op deze pagina lees je hoe je templates maakt, uitgaande berichten en gesprekken verstuurt en dit op grote schaal uitvoert.

Templates maken in WhatsApp Manager

Templates worden gemaakt en goedgekeurd in WhatsApp Manager, niet in ElevenLabs.

Bij het maken van een template:

  • Kies een categorie: Utility voor transactionele berichten, Marketing voor promotieberichten of Authentication voor verificatiecodes. Meta hanteert verschillende prijzen en rate limits voor elke categorie — zie WhatsApp-prijzen.
  • Kies een parameterindeling: positioneel ({{1}}, {{2}}) of benoemd ({{customer_name}}). Bij benoemde parameters moet elke waarde die je verstuurt een parameter_name hebben.
  • Dien de template ter goedkeuring in. Goedkeuring duurt meestal enkele minuten tot uren. Een template die in behandeling is of is afgewezen, kan niet worden verstuurd — de API accepteert de request, maar Meta bezorgt het bericht nooit.

Meta beperkt hoeveel marketing- templates één gebruiker binnen een bepaalde periode kan ontvangen. Als een marketingtemplate stilzwijgend niet wordt bezorgd, is deze limiet een veelvoorkomende oorzaak (Meta-fout 131049).

Een uitgaand bericht versturen

Door een templatebericht te versturen, start je een nieuw gesprek. De agent blijft stil totdat de gebruiker antwoordt — de template is zelf het eerste bericht en er starten geen gesprekstimers voordat de gebruiker reageert.

Ga naar de WhatsApp-pagina, selecteer je account en klik op de knop Uitgaand -> Bericht. Selecteer een agent, voer een WhatsApp-gebruikers-ID in en kies de berichttemplate en bijbehorende parameters:

Dialoogvenster voor uitgaand WhatsApp-bericht

Zie de API-referentie voor het volledige requestschema.

Een AI-assistent kan deze voorbeelden aanpassen aan je template. Wijs de assistent naar de llms.txt van de ElevenLabs-documentatie (of de uitgebreidere llms-full.txt), plak je templatedefinitie uit WhatsApp Manager en vraag om de request — de assistent maakt een cURL- command of SDK-aanroep met de juiste template_params voor je template.

Templateparameters

template_params is een lijst met component-objecten, één voor elk templateonderdeel met parameters:

  • {"type": "body", "parameters": [...]} voor placeholders in de body
  • {"type": "header", "parameters": [...]} voor een header met parameters (tekst, afbeelding, document of locatie)
  • {"type": "button", "sub_type": ..., "index": ..., "parameters": [...]} voor knopparameters

Elk item in parameters is een waardeobject, zoals {"type": "text", "text": "Daniele"}. Voeg bij templates met benoemde parameters parameter_name toe aan elke waarde. Als je de componentwrapper weglaat — bijvoorbeeld door {"type": "text", ...} rechtstreeks in template_params door te geven — wordt dit afgewezen.

Indeling van het nummer van de ontvanger

whatsapp_user_id mag alleen cijfers bevatten: de landcode gevolgd door het nummer, zonder +, spaties of streepjes. Bijvoorbeeld 14155552671, niet +1 (415) 555-2671.

In sommige landen verschilt de ID die WhatsApp voor een persoon gebruikt van het gekozen nummer — zo hebben Mexicaanse nummers een extra 1 na de landcode (521...), en Braziliaanse nummers kunnen een negende cijfer bevatten of weglaten. Als de gebruiker je eerder een bericht heeft gestuurd, gebruik dan bij voorkeur de whatsapp_user_id uit dat eerdere gesprek, die je kunt kopiëren uit de gespreksgeschiedenis.

Dynamische variabelen, branches en omgevingen

Met het veld conversation_initiation_client_data kun je dynamische variabelen voor het gesprek instellen en het vastzetten op een specifieke agentbranch en omgeving:

{
"dynamic_variables": { "customer_name": "Daniele" },
"branch_id": "agtbrch_8721kwarbs83e233mg1fzkaf9pg0",
"environment": "staging"
}

Deze instellingen blijven voor het gesprek behouden: wanneer de gebruiker antwoordt, wordt de agent hervat op de aangevraagde branch en omgeving. De branch en omgeving worden eerst gevalideerd — als een van beide niet bestaat, mislukt de request met een fout en wordt er geen bericht verstuurd.

Via dit requestveld ontvangen uitgaande gesprekken dynamische variabelen; inkomende gesprekken ontvangen deze in plaats daarvan via een webhook voor gespreksinitiatie — zie initialisatiecontext.

Templateparameters vullen alleen de tekst van de template in — ze zijn niet beschikbaar voor de agent. Als de agent een waarde uit de template nodig heeft (zoals de naam van de klant), geef deze dan nogmaals door in dynamic_variables.

Na het versturen

Een geslaagde request retourneert een conversation_id en het gesprek verschijnt in je geschiedenis met de ingevulde template als eerste bericht. De agent wordt pas uitgevoerd nadat de gebruiker antwoordt. Door de template te versturen, start je noch de timer voor de maximale duur, noch de inactiviteitstimer; beide beginnen zodra het gesprek wordt hervat. Een 200-response betekent dat ElevenLabs de request heeft geaccepteerd — Meta kan de bezorging daarna nog steeds weigeren. Als het bericht nooit aankomt, zie Probleemoplossing.

Een uitgaand gesprek plannen

Voor uitgaande WhatsApp-gesprekken is toestemming van de gebruiker nodig — zie toestemmingen voor gesprekken van gebruikers. Maak in WhatsApp Manager een berichttemplate met een component voor een verzoek om toestemming voor een gesprek. Wanneer je een gesprek plant, controleert ElevenLabs de toestemmingsstatus:

  • Toestemming al verleend: het gesprek wordt onmiddellijk gestart.
  • Toestemming nog niet gevraagd: de template voor het toestemmingsverzoek wordt verstuurd en het gesprek start zodra de gebruiker toestemming geeft.
  • Toestemming geweigerd: het gesprek wordt als mislukt geregistreerd met de reden User declined the call permission request.

Ga naar de WhatsApp-pagina, selecteer je account en klik op de knop Uitgaand -> Gesprek. Selecteer een agent, voer een WhatsApp-gebruikers-ID in en kies de template voor het verzoek om toestemming voor een gesprek:

Dialoogvenster voor uitgaand WhatsApp-gesprek

Zie de API-referentie voor het volledige requestschema. Net als bij uitgaande berichten stelt conversation_initiation_client_data dynamische variabelen in en zet het het gesprek vast op een branch en omgeving; een onbekende branch of omgeving wordt afgewezen voordat het gesprek wordt gepland.

Meta brengt kosten in rekening voor uitgaande gesprekken en voor verzoeken om toestemming voor een gesprek die buiten een Customer Service Window worden verstuurd. Voeg in WhatsApp Manager een betaalmethode toe voordat je gesprekken plant.

Campagnes en batches

Gebruik batchgesprekken met whatsapp_params om veel gebruikers te bellen: geef de telefoonnummer-ID en de template voor het verzoek om toestemming voor een gesprek één keer op, en een whatsapp_user_id per ontvanger.

Er is nog geen native batchendpoint voor uitgaande berichten. Roep voor templatecampagnes het endpoint voor uitgaande berichten één keer per ontvanger aan en blijf binnen Meta’s berichtlimieten voor je nummer — zie berichtlimieten.