WebSockets
WebSockets provides another way to communicate with Mews, for special use cases where polling using API Operations is too resource consuming, and event-driven Webhooks are not sufficiently real-time. A WebSocket is an open connection over which Mews can send event messages as the events occur. After you make a successful WebSocket connection to Mews, you will receive event messages according to the configuration of your integration in Mews Operations. For a comparative overview of Operations vs Webhooks vs WebSockets, see Ways to communicate.
Supported events
Entity
Event
Description
Command
DeviceCommand
Event triggered when a device command is updated
Reservation
Reservation
Event triggered when a reservation is updated
Resource
Resource
Event triggered when a resource is updated
Price
PriceUpdate
Event triggered when a rate price is updated
Endpoint URL
WebSocketAddress - Base address for Mews WebSockets, depending on the Environment (Demo or Production).
Authentication
Authentication is done using the same combination of ClientToken
and AccessToken
as used for standard API operations. These tokens must be sent as cookies together with the connection request. Most WebSocket client libraries support this. For more information about client tokens and access tokens, see Authentication.
Note: There can't be any spaces around
=
in the Cookie value as this would prevent successful WebSocket connection.
ClientToken - Unique token per integration which will be provided to you by Mews upon successful certification.
AccessToken - Unique token per enterprise. Can be provided to you by the enterprise admin.
Message body
Events
required
The events that happened during the connection.
Event
Depending on the event Type
, it is one of the following:
Device Command event
If the integration is configured to handle commands for some devices, it will receive events whenever a command is created or updated.
Type
string DeviceCommand
required
Type of the event.
Id
string
required
State
required
State of the command.
Reservation event
If the integration is configured to receive reservation updates, it will receive events whenever any change is made to a reservation (created, updated, canceled, etc.).
Type
string Reservation
required
Type of the event.
Id
string
required
Unique identifier of the reservation.
State
required
State of the reservation.
StartUtc
string
required
Start of the reservation (arrival) in UTC timezone in ISO 8601 format.
EndUtc
string
required
End of the reservation (departure) in UTC timezone in ISO 8601 format.
AssignedResourceId
string
optional
Resource event
If the integration is configured to receive resource updates, it will receive events whenever a change is made to a resource (created, renamed, state updated).
Type
string Resource
required
Type of the event.
Id
string
required
State
required
State of the resource.
Price Update event
If the integration is configured to receive price updates, it will receive events whenever a rate price is created or updated. Events are related to base price updates, price adjustments and category adjustments.
Type
string PriceUpdate
required
Type of the event.
Id
string
required
Unique identifier of the update event.
StartUtc
string
optional
Start of the price update interval in UTC timezone in ISO 8601 format.
EndUtc
string
optional
End of the price update interval in UTC timezone in ISO 8601 format.
RateId
string
optional
ResourceCategoryId
string
optional
Last updated