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.

  • Sirvoys startsida
  • Kontakt
  • Logga in
Swedish
ES Spanish
DE German
US English (US)
DA Danish
FI Finnish
SE Swedish
NO Norwegian
NL Dutch
FR French
  • Startsida
  • Mitt konto
  • Exportera & API

Använd webhooks för bokningshändelser

Så skickar du bokningsdata till ett externt system när bokningar skapas, ändras, avbokas eller återställs.

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 igång
    Kom igång-guider Import av bokningar
  • Om Sirvoy
    Allmänt Teknisk information Säkerhet & Backup
  • Rum och rumstyper
    Rum och rumstyper Kategorisera rumstyper Erbjuda Tillval
  • Bokningsformulär
    Webbplatsbyggare Installera på er hemsida Inställningar för bokningsformuläret Design & CSS Inmatningsfält Gästportal Spårning
  • Channel Manager
    Anslut till nya kanaler Mappa era rumstyper Allmänt Pris & Tillgänglighet - Uppdateringar Överbokningar
  • Ekonomi
    Konfigurera en betallösning Hantera betalningar Fakturor & Kvitton Redovisning Skatter & Avgifter
  • Bokningar
    Ändra i bokningar Titta på bokningar Mallar för meddelanden & Automatiska utskick Kommunikation Schemalägg städning och andra uppgifter
  • Priser och begränsningar
    Priser & Rabatter Restriktioner Rabatt- & bokningskod
  • Mitt konto
    Anpassa ert konto Abonnemang Statistik Exportera & API
+ Fler

Innehållsförteckning

Skapa en ny webhook för bokningshändelser Hur callbacks fungerar och vad som krävs Förhindra att brandväggen blockerar callbacks Exempel på JSON callbacks Exempel: Callback för ny bokning Exempel: Callback för ny bokning med ekonomiska data

Webhooks gör att Sirvoy automatiskt kan kommunicera med andra verktyg – till exempel genom att tala om för ett nyckelfritt inpasseringssystem när en rumskod ska skapas eller genom att skicka faktureringsuppgifter till ditt bokföringsprogram.

Med en webhook skickar Sirvoy bokningsuppgifter i JSON-format (ett standardiserat sätt för appar att dela data) till en webbadress (URL) som du väljer. En callback sker varje gång data skickas till den URL:en.

Andra program kan ta emot uppgifterna som skickas till URL:en och använda datan för automatiserade uppgifter.

Obs! Webhooks är endast tillgängliga i Sirvoy Pro. Du kan lägga till upp till tio webhooks per konto. Att konfigurera och hantera webhooks kräver teknisk kunskap, så det kan vara bra att ta hjälp av en webbutvecklare.

 

Skapa en ny webhook för bokningshändelser

  1. Gå till Inställningar > Sirvoy-konto
  2. Under Webhook för bokningshändelser, klicka Lägg till
  3. Ange Callback URL
  4. Ge webhooken ett namn
  5. Klicka Spara.

Sirvoy kommer nu att skicka en callback till den URL:en varje gång en bokning skapas, ändras, avbokas eller återställs.


Hur callbacks fungerar och vad som krävs

  • Svarshantering: Servern som tar emot callbacken måste svara med statuskoden 200 OK, vilket betyder att ”allt fungerade”. Om den inte gör det försöker Sirvoy skicka callbacken igen upp till 10 gånger, med allt längre intervall mellan försöken, innan den upphör att försöka. Om callbacks fortsätter att misslyckas, kommer vi att meddela dig via e-post och ta bort webhooken efter en sista påminnelse.
  • HTTPS och TLS: Din webhook-URL måste vara säker (börja med https://) och använda TLS version 1.2 eller högre. TLS (Transport Layer Security) krypterar datan så att ingen kan läsa den medan den skickas. Om ditt HTTPS-certifikat inte är giltigt, kommer Sirvoy inte att skicka någon data.
  • Funktionskontroll: Sirvoy kontrollerar ibland om din URL är aktiv genom att skicka en enkel HTTP GET begäran (ett sätt att fråga din server "är du där?" utan att skicka data). Din server måste svara med 200 OK ("allt fungerade") för att dessa kontroller ska lyckas.
  • Händelseordning: En webhook skickas för varje bokningshändelse, men händelser kan komma fram i fel ordning – till exempel kan en ändring komma fram innan den ursprungliga bokningshändelsen. Använd tidsstämpeln generatedAt i varje meddelande för att ordna dem i rätt ordning.

Förhindra att brandväggen blockerar callbacks

Om ditt system använder en brandvägg (programvara eller hårdvara som blockerar oönskad internettrafik), kan du behöva vitlista vissa IP-adresser. Att vitlista innebär att tillåta trafik från specifika källor samtidigt som annan trafik blockeras.

Vitlista följande IP-adresser:

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

Callbacks skickas från servrar som stödjer både IPv4 (den äldre standarden för internetadresser) och IPv6 (den nyare).


Exempel på JSON callbacks

Dessa exempel visar vilken typ av data Sirvoy skickar till din webhook-URL och hur den är formaterad.

De är användbara för utvecklare eller andra som bygger ett system som ska ta emot och bearbeta bokningsdata från Sirvoy.

Det första exemplet visar en grundläggande callback för en ny bokning. Det andra innehåller mer information, till exempel fakturor och betalningar, för att visa vad som ingår när ekonomiska data är involverade.

Exempel: Callback för ny bokning

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

Exempel: Callback för ny bokning med ekonomiska 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
            	}
        	]
    	}
	]
}
 
 
webhook för bokningshändelser webhooks hotellbokning automatisering callback för bokningshändelser verktyg för hotellprogram utvecklare säker webhook tls json bokningsdata automatisering av hotellprogramvara bokningsdata api integration av bokföringsprogram nyckellös rumsåtkomst

Hjälpte detta dig?

Ja
Nej
Upptäckt något som verkar fel? Låt oss få veta.

Relaterade artiklar

  • Att styra triggningen av tredje-part-spårning i bokningsformuläret och “Visa/ändra bokning”-formuläret
  • Ansluta till appar med hjälp av SiteMinder Exchange
  • Har Sirvoy ett öppet API för integreringar?

Behöver du hjälp med Sirvoy?

Då har du kommit rätt.

  • Sirvoy
  • Logga in
  • Kontakt

©2026 Sirvoy . All Rights reserved.

Knowledge Base Software by Helpjuice

Expand