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
  • Kontakt
  • Logga in
Swedish
US English (US)
FR French
DE German
ES Spanish
NL Dutch
SE Swedish
FI Finnish
NO Norwegian
DA Danish
  • Startsida
  • Mitt konto
  • Exportera & API

Lägg till en webhook för bokningshändelser

Written by johana

Updated at January 24th, 2025

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 Funktionen “Visa/ändra bokning” 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

Viktiga detaljer Tekniska krav: Hantera bokningsmeddelanden och Webhook-fel IP Whitelisting Exempel på JSON-format

 

Om du lägger till en webhook för bokningshändelser skickas bokningsinformation i JSON-format till en URL när en bokning skapas, ändras, avbokas eller återställs.

Viktiga detaljer

  • Teknisk kunskap krävs: Att konfigurera och hantera en webhook kräver teknisk expertis. Rådgör med en webbutvecklare om det behövs.
  • Aktivering: Aktivera en webhook för bokningshändelser genom att gå till Inställningar -> Sirvoy-konto -> Webhook för bokningshändelser.
  • Webhook-gräns: Endast en webhook kan vara aktiv per Sirvoy-konto.
  • Callback-triggers: En webhook för bokningshändelser skickar ett callback till en angiven URL varje gång en bokning skapas, ändras, annulleras eller återställs.

Tekniska krav:

  • Svarskod: Den mottagande servern måste svara med en statuskod `200 OK`. Om så inte sker kommer callbacken att återupprepas tio gånger med exponentiell back-off upp till 10 gånger innan den kasseras.
  • HTTPS och TLS: Vi stöder endast HTTPS med TLS version 1.2 eller högre, för att säkerställa datasekretess. Se till att ditt HTTPS-certifikat är giltigt, annars skickas inga data.
  • “Hälsokontroll” Din server måste svara på HTTP GET-begäranden med `200 OK` för “hälsokontroller”. Inga data kommer att skickas med HTTP GET, men det säkerställer att din endpoint är aktiv.

Hantera bokningsmeddelanden och Webhook-fel

Vi skickar ett meddelande för varje bokningsuppdatering och händelser kan levereras utan ordning. Använd tidsstämpeln ”generatedAt” för att skapa en exakt tidslinje över händelserna. Varje meddelande innehåller en fullständig JSON-representation av bokningen vid den aktuella tidpunkten.

Om det börjar bli problem med din endpoint och korrekta statuskoder inte returneras vid våra anrop kommer vi att meddela dig via e-post. Om problemen fortsätter i en vecka kommer webhooken att tas bort efter ett slutligt meddelande.

IP Whitelisting

För att säkerställa framgångsrika webhook-anrop ska du tillåta följande IP-intervall i din brandvägg:

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

Servrarna som gör callbacks är dual-stack och stöder både IPv4 och IPv6. Om du lägger till både IPv4- och IPv6-adresser till ditt domännamn kommer callbacken att ske till den server som svarar först.

Exempel på JSON-format

Exempel på JSON-struktur för nya bokningar:

{
	"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 på JSON-struktur för att skapa en kontantfaktura och tillämpa en betalning på en faktura:

 

{
	"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
            	}
        	]
    	}
	]
}

 

För frågor eller ytterligare hjälp, kontakta vårt supportteam.

webhook bokningsevenemang

Hjälpte detta dig?

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

Relaterade artiklar

  • Ett snabbare sätt att skapa bokningar
  • Lägga till ett alarm till en bokning

Behöver du hjälp med Sirvoy?

Då har du kommit rätt.

  • Sirvoy
  • Logga in
  • Kontakt

©2025 Sirvoy . All Rights reserved.

Knowledge Base Software by Helpjuice

Expand