Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Accueil Sirvoy
  • Contact
  • Se connecter
French
ES Spanish
DE German
US English (US)
DA Danish
FI Finnish
SE Swedish
NO Norwegian
NL Dutch
FR French
  • Accueil
  • Mon compte
  • Exportation & API

Utilisation des webhooks d'événements de réservation

Procédure pour transmettre des données de réservation à un système externe lors de la création, la modification, l'annulation ou la restauration de réservations.

Written by johana

Updated at June 25th, 2026

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Guide de démarrage
    Guides de configuration Importations de réservations
  • À propos de Sirvoy
    Généralités Détails techniques Sécurité et sauvegardes
  • Chambres et types de chambres
    Chambres et types de chambres Catégoriser vos Types de Chambres Offrir Ajouts ou Options
  • Moteurs de réservation
    Générateur de site Web Installation sur votre Site Web Ajuster le Moteur de Réservation Design & CSS Champs de Saisie Espace client Suivi
  • Gestionnaire de canaux
    Mise en Place des Nouveaux Canaux Mappage de Types de Chambres Questions Générales Actualisation de Prix et Disponibilité Surréservations
  • Finances
    Installer une Solution de Paiement Gestion de Paiements Factures & Reçus Comptabilité Taxes & Surtaxes
  • Réservations
    Modifier des Réservations Vue des Réservations Modèles de Messages & Messagerie Automatique Communication Planification d’Entretien et Tâches
  • Tarifs et restrictions
    Prix & Réductions Restrictions Code Coupon & Réductions
  • Mon compte
    Personnaliser votre Compte Inscription Statistiques Exportation & API
+ Plus

Table des matières

Création d'un nouveau webhook d'événement de réservation Comment fonctionnent les rappels et ce qui est requis Empêcher votre pare-feu de bloquer les rappels Exemples de rappels JSON Exemple : nouveau rappel de réservation Exemple : nouveau rappel de réservation avec des données financières

Les webhooks permettent à Sirvoy de communiquer automatiquement avec d'autres outils, par exemple pour indiquer à un système d'entrée sans clé quand créer un code de chambre ou pour envoyer des détails de facturation à votre logiciel de comptabilité.

Avec un webhook, Sirvoy envoie les détails de réservation au format JSON (un format standard pour le partage de données entre applications) à une adresse Web (URL) que vous choisissez. Un rappel est effectué chaque fois que des données sont transmises à cette URL.

D'autres programmes peuvent recevoir les détails envoyés à l'URL et utiliser ces données pour des tâches automatisées.

Note : les webhooks ne sont disponibles que dans Sirvoy Pro. Vous pouvez ajouter jusqu'à dix webhooks par compte. La configuration et la gestion des webhooks nécessitent des connaissances techniques. Envisagez donc de consulter un développeur Web.

 

Création d'un nouveau webhook d'événement de réservation

  1. Allez dans Paramètres > Compte Sirvoy
  2. Sous Webhook d'événement de réservation, cliquez sur Ajouter
  3. Saisissez l'URL de rappel
  4. Donnez un nom au webhook
  5. Cliquez sur Enregistrer

Sirvoy enverra maintenant un rappel à cette URL chaque fois qu'une réservation sera créée, modifiée, annulée ou restaurée.


Comment fonctionnent les rappels et ce qui est requis

  • Gestion des réponses : le serveur recevant le rappel doit répondre avec un code d'état 200 OK, indiquant que « Tout a fonctionné ». En cas d'absence de réponse, Sirvoy tentera de renvoyer le rappel jusqu'à 10 fois, augmentant progressivement l'intervalle entre chaque tentative, avant de s'arrêter complètement. Si les rappels continuent d'échouer, nous vous informerons par courriel et retirerons le webhook après un dernier avis.
  • HTTPS et TLS : votre URL de webhook doit être sécurisée (commencer par https://) et utiliser la version TLS 1.2 ou supérieure. TLS (Transport Layer Security) chiffre les données pour qu'elles ne puissent être lues par personne pendant leur transmission. Si votre certificat HTTPS n'est pas valide, Sirvoy ne transmettra aucune donnée.
  • Vérifications de santé : Sirvoy vérifie occasionnellement si votre URL est active en envoyant une requête HTTP GET simple (une façon de demander à votre serveur « Êtes-vous là ? » sans transmettre de données). Votre serveur doit répondre avec un code 200 OK (« Tout a fonctionné ») pour que ces vérifications réussissent.
  • Ordre des événements : un webhook est envoyé pour chaque événement de réservation, mais les événements peuvent arriver dans le désordre. Par exemple, une modification peut arriver avant l'événement de réservation original. Utilisez l'horodatage generatedAt dans chaque message pour les organiser dans le bon ordre.

Empêcher votre pare-feu de bloquer les rappels

Si votre système utilise un pare-feu (logiciel ou matériel bloquant le trafic Internet indésirable), il est peut-être nécessaire d'ajouter en liste blanche certaines adresses IP. Ajouter en liste blanche signifie autoriser le trafic provenant de sources spécifiques tout en bloquant les autres.

Ajoutez ces adresses IP en liste blanche :

34.243.166.60
52.18.11.99
63.34.80.48
54.194.0.85
2a05:d018:e34:5300::/56

Les rappels sont envoyés depuis des serveurs qui prennent en charge à la fois IPv4 (l'ancien standard d'adressage Internet) et IPv6 (le plus récent).


Exemples de rappels JSON

Ces exemples illustrent le type de données que Sirvoy transmet à votre URL de webhook ainsi que leur format.

Ils sont utiles pour les développeurs ou toute personne construisant un système destiné à recevoir et traiter les données de réservation de Sirvoy.

Le premier exemple présente un rappel de base pour une nouvelle réservation. Le second inclut plus de détails, tels que les factures et les paiements, pour montrer ce qui est inclus lorsque des données financières sont concernées.

Exemple : nouveau rappel de réservation

"version": "2.0",
	"generatedAt": "2024-05-31T12:11:53.639+00:00",
	"event": "new",
	"propertyId": 1,
	"bookingId": 26006,
	"channelBookingId": null,
	"bookingDate": "2024-05-31T12:09:16+00:00",
	"arrivalDate": "2024-06-01",
	"departureDate": "2024-06-04",
	"cancelled": false,
	"eta": "10:00",
	"totalAdults": 4,
	"guest": {
    	"firstName": "John",
    	"lastName": "Doe",
    	"businessName": "Acme",
    	"address": "Fancy street",
    	"postcode": "11-111",
    	"city": "York",
    	"state": "NY",
    	"country": "US",
    	"phone": "+16033336666",
    	"email": "guest@email.com",
    	"passportNo": "XX11122223333",
    	"language": "en",
    	"message": "Additional comment added by guest"
	},
	"guestReference": "2103001",
	"internalComment": null,
	"couponCode": null,
	"bookingSource": "Front desk",
	"bookingIsCheckedIn": false,
	"bookingIsCheckedOut": false,
	"bookingIsConfirmed": true,
	"customFields": [
    	{
        	"name": "Custom text field name",
        	"value": "text added by guest"
    	},
    	{
        	"name": "Custom checkbox unchecked",
        	"value": false
    	},
    	{
        	"name": "Custom checkbox checked",
        	"value": true
    	}
	],
	"rooms": [
    	{
        	"RoomTypeName": "Basic room",
        	"RoomTypeDescription": "Basic room",
        	"RoomName": "101",
        	"RoomId": 2,
        	"arrivalDate": "2024-06-01",
        	"departureDate": "2024-06-04",
        	"adults": 2,
        	"quantity": 3,
        	"price": 100,
        	"roomTotal": 300,
        	"guestName": null,
        	"comment": null,
        	"ledgerAccount": null
    	},
    	{
        	"RoomTypeName": "Fancy room",
        	"RoomTypeDescription": "Fancy room",
        	"RoomName": "182",
        	"RoomId": 83,
        	"arrivalDate": "2024-06-01",
        	"departureDate": "2024-06-04",
        	"adults": 2,
        	"quantity": 3,
        	"price": 100,
        	"roomTotal": 300,
        	"guestName": null,
        	"comment": null,
        	"ledgerAccount": null
    	}
	],
	"additionalItems": [
    	{
        	"description": "Breakfast",
        	"specificDate": null,
        	"quantity": 12,
        	"price": 20,
        	"itemTotal": 240,
        	"ledgerAccount": null
    	}
	],
	"bookedCategory": null,
	"currency": "EUR",
	"totalPrice": 840,
	"totalSurcharges": 84,
	"totalPriceIncludingSurcharges": 924,
	"payments": [],
	"invoices": []
}
 
 

Exemple : nouveau rappel de réservation avec des données financières

{
	"version": "2.0",
	"generatedAt": "2024-05-31T12:15:23.895+00:00",
	"event": "modified",
	"propertyId": 1,
	"bookingId": 26006,
	"channelBookingId": null,
	"bookingDate": "2024-05-31T12:09:16+00:00",
	"arrivalDate": "2024-06-01",
	"departureDate": "2024-06-04",
	"cancelled": false,
	"eta": "10:00",
	"totalAdults": 4,
	"guest": {
    	"firstName": "John",
    	"lastName": "Doe",
    	"businessName": "Acme",
    	"address": "Fancy street",
    	"postcode": "11-111",
    	"city": "York",
    	"state": "NY",
    	"country": "US",
    	"phone": "+16033336666",
    	"email": "guest@email.com",
    	"passportNo": "XX11122223333",
    	"language": "en",
    	"message": "Additional comment added by guest"
	},
	"guestReference": "2103001",
	"internalComment": null,
	"couponCode": null,
	"bookingSource": "Front desk",
	"bookingIsCheckedIn": false,
	"bookingIsCheckedOut": false,
	"bookingIsConfirmed": true,
	"customFields": [
    	{
        	"name": "Custom text field name",
        	"value": "text added by guest"
    	},
    	{
        	"name": "Custom checkbox unchecked",
        	"value": false
    	},
    	{
        	"name": "Custom checkbox checked",
        	"value": true
    	}
	],
	"rooms": [
    	{
        	"RoomTypeName": "Basic room",
        	"RoomTypeDescription": "Basic room",
        	"RoomName": "101",
        	"RoomId": 2,
        	"arrivalDate": "2024-06-01",
        	"departureDate": "2024-06-04",
        	"adults": 2,
        	"quantity": 3,
        	"price": 100,
        	"roomTotal": 300,
        	"guestName": null,
        	"comment": null,
        	"ledgerAccount": null
    	},
    	{
        	"RoomTypeName": "Fancy room",
        	"RoomTypeDescription": "Fancy room",
        	"RoomName": "182",
        	"RoomId": 83,
        	"arrivalDate": "2024-06-01",
        	"departureDate": "2024-06-04",
        	"adults": 2,
        	"quantity": 3,
        	"price": 100,
        	"roomTotal": 300,
        	"guestName": null,
        	"comment": null,
        	"ledgerAccount": null
    	}
	],
	"additionalItems": [
    	{
        	"description": "Breakfast",
        	"specificDate": null,
        	"quantity": 12,
        	"price": 20,
        	"itemTotal": 240,
        	"ledgerAccount": null
    	}
	],
	"bookedCategory": null,
	"currency": "EUR",
	"totalPrice": 840,
	"totalSurcharges": 84,
	"totalPriceIncludingSurcharges": 924,
	"payments": [],
	"invoices": [
    	{
        	"invoiceNumber": "41002",
        	"invoiceDate": "2024-06-01",
        	"dueDate": "2024-06-01",
        	"receiver": "Acme",
        	"address": [
            	"John Doe",
            	"Fancy street",
            	"York, NY 11-111",
            	"United States"
        	],
        	"roundingAmount": 0,
        	"invoiceTotal": 924,
        	"originInvoice": null,
        	"invoiceRows": [
            	{
                	"quantity": 3,
                	"price": 100,
                	"rowTotal": 300,
                	"ledgerAccount": "100",
                	"rowText": "Basic room",
                	"vatRate": 0,
                	"vatAmount": 0,
                	"bookingId": 26006
            	},
            	{
                	"quantity": 3,
                	"price": 100,
                	"rowTotal": 300,
                	"ledgerAccount": "100",
                	"rowText": "Fancy room",
                	"vatRate": 0,
                	"vatAmount": 0,
                	"bookingId": 26006
            	},
            	{
                	"quantity": 12,
                	"price": 20,
                	"rowTotal": 240,
                	"ledgerAccount": "200",
                	"rowText": "Breakfast",
                	"vatRate": 0,
                	"vatAmount": 0,
                	"bookingId": 26006
            	},
            	{
                	"quantity": 1,
                	"price": 84,
                	"rowTotal": 84,
                	"ledgerAccount": "300",
                	"rowText": "surcharge",
                	"vatRate": 0,
                	"vatAmount": 0,
                	"bookingId": 26006
            	}
        	],
        	"payments": [
            	{
                	"paymentId": 28,
                	"createdAt": "2024-05-31T12:15:09+00:00",
                	"valueDate": "2024-06-01",
                	"amount": 924,
                	"ledgerAccount": "3606",
                	"paymentReference": null,
                	"comment": null
            	}
        	]
    	}
	]
}
 
 
webhooks intégration de logiciels automatisation des réservations d'hôtel webhook d'événement de réservation mises à jour de réservation automatisées rappel d'événement de réservation outils de développement de logiciels hôteliers webhook sécurisé tls données de réservation json automatisation des logiciels d'hospitalité api de données de réservation intégration de logiciels de comptabilité accès sans clé aux chambres systèmes d'entrée à distance

Cet article vous a-t-il été utile ?

Oui
Non
Vous avez repéré quelque chose de bizarre ? Faites-le nous savoir.

Articles connexes

  • Contrôle du déclenchement du suivi des tiers dans le moteur de réservation et le formulaire « Vérifiez votre réservation ».
  • Ouvrir le fichier d’exportation CSV dans numbers (Apple)
  • Ouvrir le fichier d’exportation CSV dans MS Excel
  • Connexion aux applications à l’aide de « SiteMinder Exchange »

Besoin d'un coup de main de Sirvoy ?

Vous êtes au bon endroit.

  • Sirvoy
  • Se connecter
  • Contact

©2026 Sirvoy . All Rights reserved.

Knowledge Base Software by Helpjuice

Expand