Connector API
  • Mews Connector API
  • Getting started
  • Usage guidelines
    • Authentication
    • Requests
    • Responses
    • Environments
    • Serialization
    • Pagination
    • Best practices
  • Concepts
    • Multi-property
    • Restrictions
    • Taxation
    • Time units
  • Use cases
    • 'How to' use cases
    • Accounting
    • Customer loyalty
    • Customer management
    • Customer messaging
    • Data export
    • Device integration
    • Events
    • Guest technology
    • Housekeeping
    • Kiosk
    • Mews Payment Terminals
    • Payment automation
    • Point of sale
    • Reputation management
    • Revenue management
    • Upsell
  • API Operations
    • Common objects
    • Accounting categories
    • Accounting items
    • Accounts
    • Account notes
    • Addresses
    • Age categories
    • Availability adjustments
    • Availability blocks
    • Bills
    • Business segments
    • Cancellation policies
    • Cashiers
    • Cashier transactions
    • Commands
    • Companies
    • Companionships
    • Company contracts
    • Configuration
    • Counters
    • Countries
    • Credit cards
    • Currencies
    • Customers
    • Departments
    • Devices
    • Enterprises
    • Exchange rates
    • Exports
    • Identity documents
    • Images
    • Languages
    • Loyalty memberships
    • Loyalty programs
    • Loyalty tiers
    • Messages
    • Message threads
    • Order items
    • Orders
    • Outlet bills
    • Outlet items
    • Outlets
    • Payments
    • Payment requests
    • Preauthorizations
    • Product categories
    • Product service orders
    • Products
    • Rates
    • Rate groups
    • Reservations
    • Reservation groups
    • Resource access tokens
    • Resource blocks
    • Resources
    • Resource categories
    • Resource features
    • Restrictions
    • Routing rules
    • Rules
    • Service order notes
    • Service overbooking limits
    • Services
    • Source assignments
    • Sources
    • Tasks
    • Tax environments
    • Taxations
    • Vouchers
    • Voucher codes
  • API Events
    • Ways to communicate
    • General Webhooks
    • Integration Webhooks
    • Webhooks FAQ
    • WebSockets
  • Your integration journey
    • Certification
  • Deprecations
    • Migration guide: Get all reservations
  • Changelog
    • Changelog 2024
    • Changelog 2023
    • Changelog 2022
    • Changelog 2021
    • Changelog 2020
    • Changelog 2019
    • Changelog 2018
    • Changelog 2017
    • Changelog 2016
Powered by GitBook
On this page
  • Key features
  • Implementation
  • Supported events
  • Added vs Updated events
  • Important considerations
  • Request body
  • Event
  • Event discriminator
  • Entity updated data

Was this helpful?

  1. API Events

General Webhooks

PreviousWays to communicateNextIntegration Webhooks

Last updated 4 months ago

Was this helpful?

General Webhooks provide a streamlined way to receive event notifications about various Mews entities. Each Webhook message corresponds to a specific enterprise integration, identifiable via the EnterpriseId and IntegrationId fields in the request body. These identifiers allow you to track events across all enterprises or properties connected to your integration.

Key features

  • Unified event delivery – Each message encapsulates all events related to the entities you’ve subscribed to that occur simultaneously. For example, subscribing to Service Order events (which include reservations as a subtype) may result in a Webhook containing multiple ServiceOrderUpdated events, each corresponding to a different reservation.

  • Event structure – Each event within a message specifies the event type and includes the unique identifier of the associated entity, e.g. CustomerAdded events include a CustomerId. To retrieve detailed information about an entity, use the relevant API Operation along with the entity’s unique identifier. For instance, for a CustomerAdded event, call with the provided CustomerId.

  • Efficient integration - Receive notifications for all subscribed enterprises or properties in a single payload, minimizing the need for multiple requests or real-time polling. Leverage EnterpriseId and IntegrationId to manage and filter event data effectively.

Implementation

To implement General Webhooks:

  1. Define the entities and event types you are interested in via your Webhook subscription.

  2. Use EnterpriseId and IntegrationId to differentiate messages across multiple enterprises or properties.

  3. Fetch additional details about entities as needed by using the appropriate .

Supported events

Entity

Event

Description

Service Order

ServiceOrderUpdated

Event triggered when a service order is updated

Resource

ResourceUpdated

Event triggered when a resource is updated

Message

MessageAdded

Event triggered when a new message is added

Resource block

ResourceBlockUpdated

Event triggered when a resource block is updated

Customer

CustomerAdded

Event triggered when a customer is added

Customer

CustomerUpdated

Event triggered when a customer is updated

Payment

PaymentUpdated

Event triggered when a payment is updated

Terminology

Added vs Updated events

In the context of General Webhooks, the terms Added and Updated describe different types of changes to an entity:

  • Updated – This indicates any change to an entity, including modifications to its fields or properties; it also encompasses the creation of a new entity, as creating an entity is considered a change to its lifecycle state.

  • Added – This specifically refers to the initial creation of an entity at the start of its lifecycle; it represents a subset of Updated events, as every Added event is inherently also an Updated event.

Important considerations

Request body

{
    "EnterpriseId": "851df8c8-90f2-4c4a-8e01-a4fc46b25178",
    "IntegrationId": "c8bee838-7fb1-4f4e-8fac-ac87008b2f90",
    "Events": [
        {
            "Discriminator": "ServiceOrderUpdated",
            "Value": {
                "Id": "bfee2c44-1f84-4326-a862-5289598f6e2d"
            }
        },
        {
            "Discriminator": "ResourceUpdated",
            "Value": {
                "Id": "7cccbdc6-73cf-4cd4-8056-6fd00f4d9699"
            }
        },
        {
            "Discriminator": "MessageAdded",
            "Value": {
                "Id": "4bfe4675-98a9-4428-9ea9-ae5300dbaa93"
            }
        },
        {
            "Discriminator": "CustomerAdded",
            "Value": {
                "Id": "c2f1d888-232e-49eb-87ac-5f75363af13b"
            }
        },
        {
            "Discriminator": "CustomerUpdated",
            "Value": {
                "Id": "b3ce0fd7-a715-4bfc-969e-ef7a4822963c"
            }
        },
        {
            "Discriminator": "PaymentUpdated",
            "Value": {
                "Id": "a41e2d45-71bc-49b4-9a05-a3ac5f75735c"
            }
        }
    ]
}
Property
Type
Contract
Description

EnterpriseId

string

required

IntegrationId

string

required

Events

required

The set of events that have occurred.

Event

Property
Type
Contract
Description

Discriminator

required

The type of event.

Value

object

required

Event discriminator

Discriminator
Description
Value
Fetch operation

ServiceOrderUpdated

ResourceUpdated

MessageAdded

ResourceBlockUpdated

CustomerAdded

CustomerUpdated

PaymentUpdated

Entity updated data

Property
Type
Contract
Description

Id

string

required

A Service Order is an order made against a Service. A Service Order made against a Bookable Service is called a Reservation. In fact only Reservations are currently supported, however this may be extended in future. A Resource can be a bookable space, an object or even the services of a person. Resource normally implies a space, but again this may be extended in future. For a full description of all the terms used, see the .

When you subscribe to events for entities like Customers, a newly created entity generates both a CustomerAdded event and a CustomerUpdated event. These events will have the same CustomerId and will often appear within the same Webhook message. To avoid redundant API calls, ensure that you process each entity only once. For example, when you receive both a CustomerAdded and a CustomerUpdated event for the same CustomerId, call only once to retrieve the entity details.

Unique identifier of the to which the events belong.

Unique identifier of the to which the events belong.

array of

string

The structure of the object depends on .

A or other Service Order was updated.

A (for example a guest room or other space) was updated.

A was added.

A was updated.

A was added.

A was updated.

A was updated.

Unique identifier of the updated/added entity. To fetch entity data use the related operation per .

Mews Glossary for Open API users
Event
Event discriminator
Event discriminator
Entity updated data
Entity updated data
Entity updated data
Entity updated data
Entity updated data
Entity updated data
Entity updated data
Event discriminator
API Operations
Enterprise
Integration
Resource block
Get all resource blocks
Message
Get all messages
Get all customers
Get all customers
Customer
Get all customers
Customer
Get all customers
Resource
Get all resources
Reservation
Get all reservations
Payment
Get all payments