Varaustapahtuman webhookin lisääminen antaa hotellille mahdollisuuden vastaanottaa varaustiedot JSON-muodossa URL-osoitteen kautta.

Huomaa: Tämä vaatii perustiedot webhookin käytöstä. Voit kysyä neuvoa verkkokehittäjältäsi, jos tarvitset apua.

Varaustapahtuman webhook lähettää takaisinsoittopyynnön annettuun URL-osoitteeseen ja käynnistyy aina, kun varaus luodaan, sitä muutetaan tai peruutetaan.

Varaustapahtuman webhook-ominaisuus käynnistyy:

  • Sirvoyn varausmoottorista
  • Tarkastele varausta -lomakkeesta
  • Jakelukanavilta tulevista varauksista

Se voidaan aktivoida kohdassa Asetukset -> Tilisi -> Varaustapahtuman Webhook.

Vastaanottavan palvelimen on vastattava vastauskoodilla 200 OK, muuten kutsua yritetään uudelleen 30 minuutin välein 3 kertaan asti. Tuemme ainoastaan HTTPS:ää käyttäen TLS versiota 1.2 tai uudempaa, yksityisyyden varmistamiseksi. HTTPS-varmenteen täytyy myös olla voimassaoleva, muuten tietoja ei lähetetä. Varaustiedot lähetetään POST:ina joka sisältää JSON:in ja kutsun tekstiosan.

Varmista myös, että palvelimesi vastaa HTTP GET -pyyntöihin 200 OK. Tätä kutsua käytetään toimintatarkistuksena ja se tehdään silloin tällöin sen varmistamiseksi että päätepisteesi on käytössä. Mitään tietoja ei kuitenkaan siirretä käyttäen HTTP GET:iä.

Webhook-kutsut tehdään alla olevilta IP-alueilta. Jos haluat rajoittaa liikennettä palvelimellesi, kaikki seuraavat osoitealueet tarvitset oikeuden palomuurisi asetuksissa:

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

Palvelimet, jotka tekevät takaisinkutsun, ovat kaksipinoisia, joissa on sekä ipv4- että ipv6-yhteys. Jos lisäät sekä ipv4 että ipv6 osoitteet toimialuenimeesi, vastakutsu tehdään palvelimeen joka vastaa siihen ensimmäisenä.

Alla on esimerkkejä JSON-muodossa luoduista tiedoista, kun uusi varaus luodaan:

{
   "version":"1.0",
   "callbackId":2464764,
   "generatedTime":"2021-09-08T11:41:06+00:00",
   "event":"new",
   "propertyId":1,
   "bookingId":26006,
   "channelBookingId":null,
   "bookingDate":"2021-09-08T11:37:42+00:00",
   "arrivalDate":"2021-09-08",
   "departureDate":"2021-09-10",
   "cancelled":false,
   "eta":null,
   "totalAdults":2,
   "guest":{
      "firstName":"John",
      "lastName":"Doe",
      "businessName":"Acme Corporation",
      "address":"123 Main St",
      "postcode":"17101",
      "city":"AnyTown",
      "state":"DE",
      "country":"US",
      "phone":"+17184547453",
      "email":"john.doe@mailservice.us",
      "passportNo":null,
      "language":"en",
      "message":"Your hotel looks nice :)"
   },
   "guestReference":null,
   "internalComment":null,
   "couponCode":null,
   "bookingSource":"Front desk",
   "bookingIsCheckedIn":false,
   "bookingIsCheckedOut":false,
   "bookingIsConfirmed": false,
   "bookingIsProvisional":false,
   "bookingProvisionalId":null,
   "customFields":[
      {
         "name":"Custom field",
         "value":"custom field text filled by guest"
      },
      {
         "name":"Checkbox",
         "value":true
      },
      {
         "name":"new checkbox",
         "value":false
      }
   ],
   "rooms":[
      {
         "RoomTypeName":"Basic room",
         "RoomTypeDescription":"As basic as it gets, with a small window included.",
         "RoomName":"110",
         "RoomId": 52,
         "arrivalDate":"2021-09-08",
         "departureDate":"2021-09-10",
         "adults":2,
         "quantity":2,
         "price":100,
         "roomTotal":200,
         "guestName":null,
         "comment":null,
         "ledgerAccount":null
      }
   ],
   "additionalItems":[
      {
         "description":"Cleaning Fee",
         "specificDate":null,
         "quantity":1,
         "price":0,
         "itemTotal":0,
         "ledgerAccount":null
      }
   ],
   "bookedCategory":null,
   "currency":"EUR",
   "totalPrice":200,
   "totalSurcharges":20,
   "totalPriceIncludingSurcharges":220,
   "payments":[],
   "invoices":[]
}

Tältä vastakutsu voi näyttää kun käteislasku on luotu ja kun maksu siirretään laskuun – tämän varauksen maksut ja laskut ovat myös sisällytetty tähän vastakutsuun. Kaikki muut muutokset johtavat myös webhookin takaisinkutsuun tietojen kanssa, ja tältä tämän esimerkin varaustapahtuman webhook näyttää nyt:

{
   "version":"1.0",
   "callbackId":2464765,
   "generatedTime":"2021-09-08T11:45:01+00:00",
   "event":"modified",
   "propertyId":1,
   "bookingId":26006,
   "channelBookingId":null,
   "bookingDate":"2021-09-08T11:37:42+00:00",
   "arrivalDate":"2021-09-08",
   "departureDate":"2021-09-10",
   "cancelled":false,
   "eta":null,
   "totalAdults":2,
   "guest":{
      "firstName":"John",
      "lastName":"Doe",
      "businessName":"Acme Corporation",
      "address":"123 Main St",
      "postcode":"17101",
      "city":"AnyTown",
      "state":"DE",
      "country":"US",
      "phone":"+17184547453",
      "email":"john.doe@mailservice.us",
      "passportNo":null,
      "language":"en",
      "message":"Your hotel looks nice :)"
   },
   "guestReference":null,
   "internalComment":null,
   "couponCode":null,
   "bookingSource":"Front desk",
   "bookingIsCheckedIn":false,
   "bookingIsCheckedOut":false,
   "bookingIsConfirmed": false,
   "bookingIsProvisional":false,
   "bookingProvisionalId":null,
   "customFields":[
      {
         "name":"Custom field",
         "value":"custom field text filled by guest"
      },
      {
         "name":"Checkbox",
         "value":true
      },
      {
         "name":"new checkbox",
         "value":false
      }
   ],
   "rooms":[
      {
         "RoomTypeName":"Basic room",
         "RoomTypeDescription":"As basic as it gets, with a small window included.",
         "RoomName":"110",
         "RoomId": 52,
         "arrivalDate":"2021-09-08",
         "departureDate":"2021-09-10",
         "adults":2,
         "quantity":2,
         "price":100,
         "roomTotal":200,
         "guestName":null,
         "comment":null,
         "ledgerAccount":null
      }
   ],
   "additionalItems":[
      {
         "description":"Cleaning Fee",
         "specificDate":null,
         "quantity":1,
         "price":0,
         "itemTotal":0,
         "ledgerAccount":null
      }
   ],
   "bookedCategory":null,
   "currency":"EUR",
   "totalPrice":200,
   "totalSurcharges":20,
   "totalPriceIncludingSurcharges":220,
   "payments":[],
   "invoices":[
      {
         "invoiceNumber":"41001",
         "invoiceDate":"2021-09-08",
         "dueDate":"2021-09-08",
         "receiver":"Acme Corporation",
         "address":[
            "John Doe",
            "123 Main St",
            "AnyTown, DE 17101",
            "United States"
         ],
         "roundingAmount":0,
         "invoiceTotal":220,
         "originInvoice":null,
         "invoiceRows":[
            {
               "quantity":2,
               "price":100,
               "rowTotal":200,
               "ledgerAccount":"3010",
               "rowText":"Basic room",
               "vatRate":0,
               "vatAmount":0,
               "bookingId": 26005
            },
            {
               "quantity":1,
               "price":20,
               "rowTotal":20,
               "ledgerAccount":"sur1",
               "rowText":"10",
               "vatRate":0,
               "vatAmount":0
            }
         ],
         "payments":[
            {
               "paymentId": 26,
               "createdAt": "2023-10-12T20:43:08+00:00",
               "valueDate": "2023-10-13",
               "amount":220,
               "ledgerAccount":" ",
               "paymentReference":null,
               "comment":null
            }
         ]
      }
   ]
}