Mit diesem Kampagnen-Element lassen sich Kontakte per HTTP an eine URL senden. Die Daten werden im JSON Format gesendet.
Beispiel JSON:
[
{
"id":"2",
"first_name" : "Alex",
"family_name" : "Muster",
"mail" : "alex.muster@example.com",
...
},
{
"id":"5",
"first_name" : "Kim",
"family_name" : "Namenlos",
"mail" : "kim.namenlos@example.com",
...
},
...
]
Einstellungen
URL: Bitte füge hier den Endpunkt ein, an den die Daten geschickt werden
Kontaktfelder: Hier können alle Kontaktfelder ausgewählt werden, die übertragen werden sollen. Die Kontakt-ID wird immer übertragen ("id").
HTTP Methode: Hier wählst du die HTTP Methode aus. Es gibt POST, PUT, DELETE.
Hash Salt: Optional. Wird zufällig generiert, kann aber auch frei gesetzt werden. Bleibt das Feld leer, wird kein Hash über die übertragenen Daten gebildet.
Der Hash wird base64-codiert als HTTP Header "X-Quentn-Hmac-Sha256" mitgeliefert. In PHP könnte die Validierung z. B. so aussehen:
function validate_webhook_data() {
$headers = getallheaders();
$hash = $headers["X-Quentn-Hmac-Sha256"];
$secret = "my-hash-salt";
$data = file_get_contents('php://input');
$calculated_hmac = base64_encode(hash_hmac('sha256', $data, $secret, true));
return hash_equals($hash, $calculated_hmac);
}
Headers: Hier können zusätzliche HTTP Header gesetzt werden. Mit den Buttons lassen sich neue setzen und wieder entfernen. Gängiger Anwendungsfall wäre, API-Schlüssel einzufügen.
Kontakte pro Aufruf: Legt die Anzahl an Kontakten fest, die in einem Aufruf übertragen werden, falls mehrere Kontakte gleichzeitig das Element betreten. Es können maximal 100 Kontakte festgelegt werden. Selbst wenn dieser Wert auf 1 gesetzt wird, wird die Array-Struktur bei der Übertragung beibehalten.
Test-Aufruf: Hier kann man einen Kontakt suchen und dann zum Test an die eingegebene URL mit den getätigten Einstellungen senden. Ob der Test erfolgreich war oder nicht, wird dann oben eingeblendet.
Verlauf:
Hier sieht man die bisherigen Aufrufe. Die Spaltenbeschriftung sollte selbsterklärend sein. Mit "Erneut senden" kann man den Aufruf noch einmal manuell auslösen. Das geht bis zu drei mal.
Dies ist hilfreich, wenn es auf der Empfängerseite ein Problem gab. So muss man die Kampagne nicht neu starten und sich keine Gedanken machen, welche Kontakte in welchem Aufruf drin waren.
Generell ist es so, dass wir - sofern vorhanden - die Antwortzeiten der letzten 12 Stunden auswerten und daran festmachen, wie oft pro Minute an eine bestimmte URL gesendet werden darf. Je schneller ein Server antwortet, desto öfter darf an ihn gesendet werden. Dadurch können wir die Last sinnvoll über die Zeit verteilen und stellen sicher, dass das System nicht "verstopft".