Opvolgactie blok: Verstuur webhook
Met het blok Verstuur webhook kun je een HTTP request sturen naar een extern endpoint. Dit maakt het mogelijk om geavanceerde koppelingen te realiseren met anderfe platformen. Het blok ondersteunt GET-, POST-, PUT- en DELETE-verzoeken, en het resultaat van de aanroep, inclusief de ontvangen data, kan in de rest van de opvolgactie worden gebruikt.
Configuratie
Binnen dit blok kun je de volgende parameters instellen:
- URL: De URL waar het verzoek naartoe wordt gestuurd.
- HTTP-methode: Kies uit GET, POST, PUT of DELETE.
- Query-parameters: Deze kunnen aan de URL worden toegevoegd.
- Payload-parameters: Deze worden meegegeven in de body van het verzoek (alleen voor POST en PUT).
- Overige headers: Voeg indien nodig extra headers toe aan de webhook-aanroep.
- Wijs het resultaat van de webhook toe aan variabele: Je kunt de resultaten van de webhook-aanroep opslaan in een Smarty variabele om deze later in de flow of in mailings te gebruiken. Dit is vooral handig bij GET requests als je data ophaalt.
Resultaat
Het resultaat van de call kan worden opgeslagen in een Smarty-variabele. Deze variabele wordt toegevoegd aan de {$trigger} variabele en kun je in de rest van de opvolgactie, en in de mailings die je vanuit de opvolgactie verstuurt, gebruiken. Omdat je vanuit een opvolgactie meerdere webhooks kunt aanroepen, kun je elke aanroep aan een eigen variabele toewijzen.
We gaan er hieronder vanuit dat je de resultaten toekent aan de variabele mijnaanroep:
- {$trigger.mijnaanroep.type}: Het type van het verzoek.
- {$trigger.mijnaanroep.timestamp}: Het tijdstip waarop het verzoek plaatsvond.
- {$trigger.mijnaanroep.code}: De HTTP-responscode, bijvoorbeeld 200 of 201.
- {$trigger.mijnaanroep.body}: De ruwe inhoud van de respons van de call.
- {$trigger.mijnaanroep.contenttype}: Het contenttype van de responsbody.
- {$trigger.mijnaanroep.json}: Een object met de body-eigenschappen, indien de respons uit JSON bestond
Vervolgpad op basis van HTTP-responsecode
In het pad naar het volgende blok kun je aangeven of de webhook het resultaat succes of mislukt heeft, gebaseerd op de HTTP-responsecode:
- Succes: Wanneer de webhook een HTTP-responscode in de 200-reeks teruggeeft, zoals 200 of 204, wordt het succes-pad gevolgd.
- Mislukt: Bij andere responscodes wordt het mislukt-pad gevolgd.
JSON responses
Als een webhook de volgende JSON-response teruggeeft:
{
"email": "support@copernica.com",
"completed": false
}
Dan kun je in je opvolgacties de waarden uit result
als volgt raadplegen:
- E-mailadres ophalen: {$trigger.mijnaanroep.json.email}
- Status van completed controleren: {$trigger.mijnaanroep.json.completed}
Daarnaast kun je ook de oorsprongelijke response body opvragen met {$trigger.mijnaanroep.body}.
Voorbeeld van een POST-verzoek
Wanneer het POST of PUT verzoek wordt uitgevoerd, kun je ook de body-data invoeren die naar het endpoint wordt gestuurd. Hier kun je bijvoorbeeld een JSON of XML string invoeren. Als je kiest voor form-data, dan kun je key/value paren invoeren die door de opvolgactie worden omgezet naar de form-data.