Voici la principale différence entre le fonctionnement général des Webhooks et celui des API :
- Les API effectuent des appels sans savoir si elles recevront ou non une mise à jour des données en réponse.
- Les Webhooks reçoivent des appels via des requêtes HTTP POST provenant de systèmes externes, uniquement lorsque ceux-ci disposent de mises à jour des données.
Les Webhooks peuvent alors « activer » l'ensemble du flux d'intégration pour traiter ces mises à jour. Cette activation a lieu pour une raison précise (parce qu'il y a une véritable mise à jour à traiter), et pas simplement parce qu'il est temps d'effectuer une nouvelle vérification.
Les Webhooks fournissent également aux autres applications et services des informations en temps (quasi) réel. C'est aussi possible avec les API, mais cela demande plus d'efforts et consomme énormément de ressources. Les Webhooks rendent le temps réel vraiment simple.
Remarque : voici l'article expliquant comment Lancez-vous avec l'API.
1. Crée ton propre Webhook
- Va dans Connectivité > Webhooks dans ton compte Regiondo.
- Donne un nom à ton Webhook. Le nom est libre. Exemple : Google Notification
- Choisis l'un des 3 types de déclencheurs : Réservation, Client ou Billet.
- Saisis l'URL de payload. Il s'agit de l'URL qui sera appelée lorsque le déclencheur du Webhook se produit dans le tableau de bord.
- Teste l'URL avant d'enregistrer/d'activer le Webhook.
2. Valeurs de réponse
2.1. Réservation
{
"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",
"distribution_channel_partner": "Company Short-name or Name",
"contact_data": {
"firstname": "Customer",
"lastname": "Name",
"email": "customer.name@regiondo.com",
"telephone": null,
"is_subscribed": "no"
}
}2.2. Client (Customer)
{
"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
}2.3. Billet (Ticket)
{
"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. Ajouter un Code promo
Tu peux ajouter des informations sur le montant de la remise, la devise et le code promo. Le montant total de la réservation s'affiche également.
3.1. Un code promo est utilisé
"coupon_code": "HALF_PRICE" "total_paid": "249.50" "coupon_discount": "249.50" "total": "499.00" "currency_code": "CHF"
3.2. Un code promo n'est pas utilisé
"coupon_code": null "total_paid": "10.00" "coupon_discount": "0.00" "total": "10.00" "currency_code": "EUR"
4. Webhooks sur Actions commerciales > Produits supplémentaires
Il est possible de se connecter aux Produits supplémentaires, mais il existe certaines limites :
- La TVA n'est pas transmise.
- Le montant du produit est ajouté au montant de la réservation, TVA incluse.
- Seul le montant total de la commande s'affiche, c'est-à-dire le montant de l'offre plus celui du produit supplémentaire.
- Exemple : montant de l'offre 50E + produit supplémentaire 5E = 55 EUROS.
Toutes les autres informations sont transmises, comme l'identifiant du produit, la quantité, les annulations, le statut, le paiement, le numéro de réservation, les informations sur l'acheteur et le prix de la commande TVA incluse.