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.

  • Tilbake til Sirvoy
  • Kontakt
  • Logg inn
Norwegian
ES Spanish
DE German
US English (US)
DA Danish
FI Finnish
SE Swedish
NO Norwegian
NL Dutch
FR French
  • Startside
  • Min konto
  • Eksport og API

Bruk booking event webhooks

Finn ut hvordan du sender bookingdata til et eksternt system når bookinger opprettes, endres, kanselleres eller gjenopprettes.

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.

  • Sett i gang
    Veiledning for oppsett Import av bookinger
  • Om Sirvoy
    Generelt Teknisk informasjon Sikkerhet og sikkerhetskopier
  • Rom og romtyper
    Rom og romtyper Kategorisér romtyper Tilby tillegg og ekstrautstyr
  • Bookingmotorer
    Nettsidebygger Installasjon på din nettside Tilpass bookingmotoren Design og CSS Felter for input Gjesteportal Sporing
  • Channel Manager
    Still inn nye kanaler Kartlegging av romtypene dine Generalt Oppdateringer av priser og tilgjengelighet Overbooking
  • Finanser
    Sette opp en betalingsløsning Ordne betalinger Fakturaer og kvitteringer Regnskapsføring Skatter og tilleggsavgifter
  • Bookinger
    Endre bookinger Se bookinger Maler for meldinger og automatiske meldinger Kommunikasjon Lag plan for rengjøring og andre oppgaver
  • Priser og restriksjoner
    Priser og avslag Restriksjoner Tilbud- og kampanjekode
  • Min konto
    Tilpass kontoen din Abonnement Statistikk Eksport og API
+ Vis mer

Innholdsfortegnelse

Opprett en ny booking event webhook Slik fungerer callbacks, og hva som kreves Unngå at brannmuren blokkerer callback Eksempel på JSON-callback Eksempel: Callback for ny booking Eksempel: Callback for ny booking med økonomiske data

Webhooks lar Sirvoy kommunisere med andre verktøy automatisk. Det kan for eksempel være å fortelle et nøkkelløst adgangssystem når det skal opprette en romkode, eller å sende faktureringsopplysninger til regnskapsprogrammet du bruker.

Med en webhook sender Sirvoy bookingopplysninger i JSON-format (en standard måte for apper å dele data på) til en nettadresse (URL) som du velger. En callback er når data sendes til den nettadressen.

Andre programmer kan motta opplysningene sendt til nettadressen og bruke dataene til automatiserte oppgaver.

Merk: Webhooks er kun tilgjengelige i Sirvoy Pro. Du kan legge til opptil ti webhooks per konto. Å sette opp og administrere webhooks krever teknisk kunnskap, så du kan vurdere å konsultere en nettutvikler.

 

Opprett en ny booking event webhook

  1. Gå til Innstillinger > Sirvoy-konto
  2. I feltet Booking event webhook klikker du på Legg til
  3. Skriv inn Callback URL
  4. Gi webhooken et navn
  5. Klikk på Lagre

Sirvoy vil nå sende en callback til den nettadressen hver gang en booking opprettes, endres, kanselleres eller gjenopprettes.


Slik fungerer callbacks, og hva som kreves

  • Responsbehandling: Serveren som mottar callbacken, må svare med statuskode 200 OK. Det betyr at alt fungerte som det skulle. Hvis ikke det skjer, vil Sirvoy prøve å sende callbacken på nytt opptil ti ganger, med lengre tidsintervaller mellom hvert forsøk, før den stopper helt. Hvis det ikke kommer riktig respons på en callback, vil vi varsle deg via e-post og fjerne webhooken etter en siste varsling.
  • HTTPS og TLS: Nettadressen til webhooken må være sikker (starte med https://) og bruke TLS versjon 1.2 eller høyere. TLS (Transport Layer Security) krypterer dataene slik at ingen kan lese dem mens de sendes. Hvis HTTPS-sertifikatet ditt ikke er gyldig, vil Sirvoy ikke sende noen data.
  • Tilstandskontroller: Sirvoy sjekker av og til om nettadressen er aktiv ved å sende en enkel forespørsel med HTTP GET (en måte å spørre serveren «er du der?» uten å sende data). Serveren må svare med 200 OK («alt fungerte») for at disse kontrollene skal lykkes.
  • Hendelsesrekkefølge: En webhook sendes for hver bookinghendelse, men hendelser kan komme i feil rekkefølge. For eksempel kan en endring komme før den originale bookinghendelsen. Bruk tidsstempelet generatedAt i hver melding for å få riktig rekkefølge.

Unngå at brannmuren blokkerer callback

Hvis systemet bruker en brannmur (programvare eller maskinvare som blokkerer uønsket internett-trafikk), må du kanskje plassere enkelte IP-adresser på en hviteliste. Hvitelisting betyr å tillate trafikk fra spesifikke kilder mens andre blokkeres.

Plasser disse IP-adressene på en hviteliste:

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

Callback sendes fra servere som støtter både IPv4 (den eldre adresseringsstandarden for internett) og IPv6 (den nyere).


Eksempel på JSON-callback

Disse eksemplene viser hvilken type data Sirvoy sender til webhook-nettadressen, og hvordan den er formatert.

De er nyttige for utviklere eller alle som bygger et system som trenger å motta og behandle bookingdata fra Sirvoy.

Det første eksemplet viser en enkel callback i forbindelse med en ny booking. Det andre inkluderer flere opplysninger, som fakturaer og betalinger, for å vise hva som er inkludert når økonomiske data er involvert.

Eksempel: Callback for ny booking

"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 booking 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
            	}
        	]
    	}
	]
}
 
 
booking event webhook webhooks hotellbookingautomatisering

Fant du det du lette etter?

Ja
Nei
Noe som virker merkelig? Fortell oss det.

Relaterte artikler

  • Kontroller når tredjepartssporing i bookingmotoren og sjekk booking-funksjonen skal utløses
  • Koble til apper ved hjelp av SiteMinder Exchange
  • Åpne en CSV eksportfil i MS Excel
  • Har Sirvoy har en åpen API for integrasjoner?

Ønsker du hjelp med Sirvoy?

Da er du på rett sted.

  • Sirvoy
  • Logg inn
  • Kontakt

©2026 Sirvoy . All Rights reserved.

Knowledge Base Software by Helpjuice

Expand