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.

  • Sirvoy Forside
  • Kontakt os
  • Log ind
Danish
ES Spanish
DE German
US English (US)
DA Danish
FI Finnish
SE Swedish
NO Norwegian
NL Dutch
FR French
  • Startside
  • Min konto
  • Eksportering & API

Brug webhooks til reservationshændelser

Sådan sender du reservationsdata til et eksternt system, når reservationer oprettes, ændres, annulleres eller gendannes.

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.

  • Kom godt i gang
    Opsætningsguider Import af reservationer
  • Om Sirvoy
    Generelt Teknisk Sikkerhed & Backups
  • Værelser og værelsestyper
    Værelser & Værelsestyper Kategorisering af Værelsestyper Tilbyde Tilvalg eller Ekstra
  • Reservationsformularer
    Hjemmesidebygger Installering på jeres Hjemmeside Tilpasning af Bookingmotoren Design & CSS Intastningsfelter Gæsteportal Tracking
  • Kanaladministrator
    Opsætning af Nye Kanaler Sortering af Værelsestyper Generelt Pris- & Tilgængelighedsopdateringer Overbookinger
  • Økonomi
    Opsætning af Betalingsløsning Håndtering af Betalinger Fakturaer & Kvitteringer Regnskab Skatter & Afgifter
  • Reservationer
    Ændring af Bookinger Se bookinger Skabelon til Meddelelser & Automatiske Meddelelser Kommunikation Planlægning af Rengøring & andre Opgaver
  • Priser og begrænsninger
    Priser & Rabatter Begrænsninger Reklame- & Rabatkoder
  • Min konto
    Tilpas jeres Konto Abonnement Statistikker Eksportering & API
+ Mere

Indholdsoversigt

Opret en ny webhook til reservationshændelser Sådan fungerer callbacks, og hvad der kræves Undgå, at din firewall blokerer callbacks Eksempler på JSON-callbacks Eksempel: Callback for ny reservation Eksempel: Callback for ny reservation med økonomiske data

Webhooks gør det muligt for Sirvoy automatisk at kommunikere med andre værktøjer — for eksempel ved at give et nøglefrit adgangssystem besked om, at det skal oprette en værelseskode, eller ved at sende faktureringsoplysninger til dit regnskabsprogram.

Med en webhook sender Sirvoy reservationsoplysninger i JSON-format (et standardformat apps bruger til at dele data), til en webadresse (URL), som du vælger. En callback sker hver gang data sendes til den URL.

Andre programmer kan modtage de oplysninger, der sendes til URL’en, og bruge dataene til automatiserede opgaver.

Bemærk: Webhooks er kun tilgængelige i Sirvoy Pro. Du kan tilføje op til ti webhooks pr. konto. Opsætning og administration af webhooks kræver teknisk viden, så overvej at rådføre dig med en webudvikler.

 

Opret en ny webhook til reservationshændelser

  1. Gå til Indstillinger > Sirvoy-konto
  2. Klik på Tilføj under Webhook til reservationshændelser
  3. Indtast Callback-URL’en
  4. Giv webhooken et navn
  5. Klik på Gem

Sirvoy sender nu en callback til den URL, hver gang en reservation oprettes, ændres, annulleres eller gendannes.


Sådan fungerer callbacks, og hvad der kræves

  • Håndtering af svar: Serveren, der modtager callbacken, skal svare med statuskoden 200 OK, som betyder “alt fungerede”. Hvis den ikke gør det, forsøger Sirvoy at sende callbacken igen op til 10 gange med stadig længere mellemrum mellem hvert forsøg, før forsøgene stoppes helt. Hvis callbacks fortsat mislykkes, giver vi dig besked via e-mail og fjerner webhooken efter en sidste meddelelse.
  • HTTPS og TLS: Din webhook-URL skal være sikker, det vil sige starte med https://, og bruge TLS version 1.2 eller højere. TLS (Transport Layer Security) krypterer dataene, så ingen kan læse dem, mens de bliver sendt. Hvis dit HTTPS-certifikat ikke er gyldigt, sender Sirvoy ingen data.
  • Sundhedstjek: Sirvoy kontrollerer indimellem, om din URL er aktiv, ved at sende en simpel HTTP GET-anmodning, som svarer til, at vi spørger din server: “Er du der?”, men uden at sende data. Din server skal svare med 200 OK (“alt fungerede”), for at disse kontroller lykkes.
  • Hændelsesrækkefølge: Der sendes en webhook for hver reservationshændelse, men hændelser kan ankomme i forkert rækkefølge — for eksempel kan en ændring ankomme før den oprindelige reservationshændelse. Brug tidsstemplet generatedAt i hver besked til at sætte dem i den rigtige rækkefølge.

Undgå, at din firewall blokerer callbacks

Hvis dit system bruger en firewall, altså software eller hardware, der blokerer uønsket internettrafik, kan det være nødvendigt at whiteliste bestemte IP-adresser. At whiteliste betyder at tillade trafik fra bestemte kilder, mens anden trafik blokeres.

Whitelist disse IP-adresser:

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

Callbacks sendes fra servere, der understøtter både IPv4, som er den ældre standard for internetadresser, og IPv6, som er den nyere standard.


Eksempler på JSON-callbacks

Disse eksempler viser, hvilken type data Sirvoy sender til din webhook-URL, og hvordan dataene er formateret.

De kan hjælpe udviklere eller andre, der bygger et system, som skal modtage og behandle reservationsdata fra Sirvoy.

Det første eksempel viser en standard callback for en ny reservation. Det andet indeholder flere detaljer, for eksempel fakturaer og betalinger, for at vise, hvad der medtages, når økonomiske data er involveret.

Eksempel: Callback for ny reservation

"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": []
}
 
 

Eksempel: Callback for ny reservation med økonomiske data

{
	"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 fjernadgangssystemer softwareintegration automatisering af hotelreservationer webhook til reservationshændelser hotelteknologiintegrationer automatisering af reservationsfakturaer integration med eksternt reservationssystem automatiske reservationsopdateringer callback ved reservationshændelse udviklerværktøjer til hotelsoftware sikker webhook-tls json-reservationsdata

Var dette indhold nyttigt?

Ja
Nej
Er der noget der ser galt ud? Giv os besked.

Relaterede artikler

  • Styring af udløsningen af ​​tredjepartssporing i reservationsformularen og Søg-reservation-funktion
  • Åbn eksportfilen i CSV-format i Numbers (Apple)
  • Har Sirvoy en åben API til integrationer?
  • Åbn eksportfilen i CSV-format i Excel

Har du brug for hjælp med Sirvoy?

Du er kommet til det helt rette sted.

  • Sirvoy
  • Log ind
  • Kontakt

©2026 Sirvoy . All Rights reserved.

Knowledge Base Software by Helpjuice

Expand