Hoe richt de webbouwer een formulier in?

Dit artikel bevat technische informatie voor (web)bouwers die formulieren willen aanmaken in programma's als Typeform, Formdesk, Gravity Forms etc, waarvan ze de informatie willen terugzien in AdreZ. Formulieren worden ontwikkeld en getest op de adrez-accept-omgeving voordat ze naar de adrez-productie-omgeving worden gezet.

Webhook

Het formulierenprogrammadie wordt gebruikt moet het gebruik van WEBHOOKs ondersteunen. Na voltooiing van het formulier wordt de inhoud (payload) van het formulier gePOST naar de {adrez.cloud}-webhook.

Payload

In de json-payload wordt de naam van het fieldmap-bestand opgenomen (dit bestand wordt door EM-Cultuur ingericht en verzorgt de vertaling van formuliervelden naar de AdreZ-codes, campagnes, en vrije velden: 

"formName" : "myFirstForm"

Het formulier voor meerdere evenementen/toepassingen worden ingezet en kan iedere kopie van het formulier een eigen EVENT (campagne) opgenomen worden. Default waarde van de campaignId is "WEBFORM".

"campaignId": "WEBFORM",

"campaignTitle" : "optional title: Tripple X testing event"

Daarnaast worden de velden uit het formulier opgenomen in de payload. 

Speciaal voor Typeform-gebruikers: 

  • formName is standaard in Typeform-payload opgenomen als form_response.form_id
  • campaignId kan als zgn HiddenField worden meegestuurd.
  • advies is om de Typeform-vragen te voorzien van een unieke "Reference". Hiermee worden de velden in AdreZ beter herkenbaar.

Beveiliging

Indien er wordt gewerkt met een AdreZ.contactnummer (contactId) vanuit een MailingLijst-link (call2-action), dan moet voorkomen worden dat er met "URL-tampering" foute contactId's worden doorgestuurd naar {adrez.cloud}.  Het contactId moet dan worden vergezeld van een HashCode. De sleutel is de MailingLijst-APIKEY van de klant. Onderstaand een PHP-voorbeeld van de versleuteling.

?php

$secretKey = "12345-1235-12345-12345"; <br>$contactId = "12345"; <br>$hashCode = hash_hmac('sha256', $contactId, $secretKey); <br>$hashCode = strtoupper($hashCode)

De web/formulier-bouwer dient ook zorg te dragen voor gescripte-formulieren door een captcha te plaatsen op het formulier.

Hoe ziet de implementatie van een formulieren koppeling er uit?

  1. Bouwer: inrichting van een test-formulier op de website van de klant, of in het formulieren-programma
  2. Bouwer: POST van de payload (incl formName, campaignId) naar https://accept.adrez.cloud/import/hook
  3. EM-Cultuur: inrichting van testomgeving op accept.adrez.net
  4. Beiden:  
    1. afstemming van meerdere toepassingen
    2. afstemming van velden, ontdubbeling
  5. Beiden + klant: testen, oplevering
  6. EM-Cultuur: publiceren op https://productie.adrez.cloud/import/hook
  7. EM-Cultuur: testen, oplevering
Gaf dit artikel antwoord op je vraag? Bedankt voor de feedback! Het is niet gelukt, probeer het later nog een keer