1. Unterschied zwischen API und Webhooks
Der generelle Hauptunterschied zwischen der Funktionsweise von Webhooks und APIs besteht darin, dass APIs Aufrufe tätigen, ohne zu wissen, ob sie eine Datenaktualisierung als Antwort erhalten werden oder nicht, während Webhooks Aufrufe über HTTP-POSTs von externen Systemen nur dann erhalten, wenn diese Datenupdates enthalten.
Webhooks können dann den gesamten Integrationsworkflow "aktivieren", um auf diese Updates zu reagieren. Der Wichtigste hierbei ist jedoch, dass diese Aktivierung aus einem bestimmten Grund erfolgt (d.h. weil ein echtes Update verarbeitet werden muss) und nicht nur weil es an der Zeit ist, erneut nach einem Update zu suchen.
Eine weitere gute Sache an Webhooks ist, dass andere Anwendungen und Dienste mit (nahezu) Echtzeitinformationen angeboten werden. Dies ist auch über APIs möglich, erfordert jedoch mehr Aufwand und ist äusserst ressourcenintensiv. Webhooks machen Echtzeit wirklich einfach.
Webhooks können dann den gesamten Integrationsworkflow "aktivieren", um auf diese Updates zu reagieren. Der Wichtigste hierbei ist jedoch, dass diese Aktivierung aus einem bestimmten Grund erfolgt (d.h. weil ein echtes Update verarbeitet werden muss) und nicht nur weil es an der Zeit ist, erneut nach einem Update zu suchen.
Eine weitere gute Sache an Webhooks ist, dass andere Anwendungen und Dienste mit (nahezu) Echtzeitinformationen angeboten werden. Dies ist auch über APIs möglich, erfordert jedoch mehr Aufwand und ist äusserst ressourcenintensiv. Webhooks machen Echtzeit wirklich einfach.
Hinweis
Klicken Sie hier um mit der Regiondo API zu beginnen
2. Erstellen Sie Ihren eigenen Webhook
Um einen eigenen Webhook in Ihrem Regiondo-Konto zu erstellen, gehen Sie zu Marketing > Webhooks.
2.1 Webhook-Name
Geben Sie Ihrem Webhook einen Namen. Er ist nur für Sie selbst.
Beispiel
Google-Benachrichtigung
2.2 Auslösertyp
Wählen Sie zwischen den folgenden drei Auslösern: Buchung, Kunde und Ticket.
2.2.1 Buchung - Antwortwerte
{
"booking_key": "1-2605248-44215-75508-1556874000",
"product_id": "44215",
"product_supplier_id": "9357",
"option_id": "174184",
"variation_id": "75508",
"order_id": "2605248",
"option_name": "Adulte",
"variation_name": "Tours en Français ",
"ticket_name": "La route de Bordeaux",
"product_name": "La route de Bordeaux",
"qty": "1",
"qty_cancelled": "0",
"event_date_time": "2019-05-03T09:00:00+02:00",
"date_applied_for": "2019-05-03T09:00:00+02:00",
"created_at": "2019-04-30T11:02:45+02:00",
"type": "booking",
"status": "approved",
"external_id": null,
"email": "customer.name@regiondo.com",
"phone_number": null,
"first_name": "Customer",
"last_name": "Name",
"duration_type": "minute",
"duration_value": "50.00",
"order_number": "1556614985033893200",
"contact_data": {
"firstname": "Customer",
"lastname": "Name",
"email": "customer.name@regiondo.com",
"telephone": null,
"is_subscribed": "no"
}
}
2.2.2 Kunde - Antwortwerte
{
"customer_email": "customer.name@regiondo.com",
"customer_firstname": "Customer",
"customer_lastname": "Name",
"customer_phone": "",
"customer_birth_date": null,
"customer_street": null,
"customer_postcode": null,
"customer_city": null,
"customer_country": null,
"customer_newsletter_status": 0,
"customer_newsletter_order": null,
"customer_newsletter_datetime": null,
"customer_newsletter_ip": null
}
{
"customer_email": "customer.name@regiondo.com",
"customer_firstname": "Customer",
"customer_lastname": "Name",
"customer_phone": "",
"customer_birth_date": null,
"customer_street": "Neumarkter Str. 63",
"customer_postcode": "81673",
"customer_city": "München",
"customer_country": "DE",
"customer_newsletter_status": 0,
"customer_newsletter_order": null,
"customer_newsletter_datetime": null,
"customer_newsletter_ip": null
} 63",
"customer_postcode": "81673",
"customer_city": "München",
"customer_country": "DE",
"customer_newsletter_status": 0,
"customer_newsletter_order": null,
"customer_newsletter_datetime": null,
"customer_newsletter_ip": null
}
2.2.3 Ticket - Antwortwerte
{
"code": "RE57WGQH0G6S",
"status": "processing",
"validation_status": "not validated",
"data": {
"validated_at": "2019-04-30T11:03:11+02:00",
"product_info": {
"product_name": "La route de Bordeaux",
"variation_name": "Tours en Français ",
"option_name": "Adulte",
"ticket_datetime": "2019-05-03T09:00:00+02:00"
},
"customer_info": {
"customer_name": "Mr. Customer Name",
"customer_email": "customer.name@regiondo.com"
}
}
}
{
"code": "RE57WGQH0G6S",
"status": "sent",
"validation_status": "validated",
"data": {
"validated_at": "2019-04-30T11:09:09+02:00",
"product_info": {
"product_name": "La route de Bordeaux",
"variation_name": "Tours en Français ",
"option_name": "Adulte",
"ticket_datetime": "2019-05-03T09:00:00+02:00"
},
"customer_info": {
"customer_name": "Mr. Customer Name",
"customer_email": "customer.name@regiondo.com"
}
}
}
3. Payload-URL
Geben Sie hier die URL ein, die aufgerufen werden soll, wenn der Webhook-Auslöser im Dashboard ausgeführt wird.
Hinweis
Vergessen Sie nicht, die URL zu testen, bevor Sie den Webhook speichern / aktivieren.
4. Webhook für Zusatzprodukte
Es ist möglich, ein Zusatzprodukt mit einem Webhook zu verbinden, aber es gibt eine Einschränkung: Die Mehrwertsteuer wird nicht weitergegeben.
Der Betrag des Produkts wird zum Betrag der Reservierung inklusive Mehrwertsteuer addiert.
Es wird nur der Gesamtbetrag der Bestellung angezeigt, d.h. der Betrag des Angebots + des Zusatzprodukts.
Beispiel: Angebotsbetrag 50 € + Zusatzprodukt 5 € = 55 €
Alle anderen Informationen werden übermittelt, wie z.B.:
Produktidentifikation, Menge, Stornierungen, Status, Zahlung, Reservierungsnummer, Käuferinformationen, Bestellpreis inklusive Mehrwertsteuer.