Once your account has been setup and configured, data events and bundles that you have subscribed to will be delivered to your system(s). The mechanism by which the events and bundles will be delivered, will vary according to your receiving system and its capabilities.
Message delivery can take various forms, although there are fundamentally only two major format
Direct messaging entails delivery of messages directly to an endpoint of your choosing. This endpoint will receive messages in near real-time from the our system, as they become available, and be delivered as rapidly as you can receive them. The pending messages will reside in a queue prior to delivery, so minor slow-downs and connectivity failures will not impair delivery.
Batch messaging entails accumulating subscribe events in a file, then delivering those files on a configured interval. These files will be comprised of un-indented JSON data, one message per line.
The message payload will comprise of wrapper envelope that contains one of several message types.
The SubscribeEnvelope is the top level object sent for all outbound requests. It encapsulates the various messages that can be delivered to the subscriber endpoint. The `Action` field will dictate which of the subsequent object types will be send along with the message. It also provides the basis for future enhancement of the API without complex versioning constructs. Future additions can be added to the envelope without effecting current messaging.
| Field | Description |
|---|---|
Action |
The action type of the message. Defines which of the following events will be present. See actions below. |
QueuedTimestamp |
The date and time that this message was placed in queue for delivery. |
PublisherCode |
The unique code that identifies the publisher that the source data was generated from |
PublisherName |
The friendly name of the publisher that the source data was generated from |
CustomerId |
The Id of the customer as the subscribing entity identifies them. |
CustomerUuid |
The unique Id of the Dihedral customer containing matching customers across providers. |
CustomerScore |
The match score that identifies the confidence in match for the customer information. |
ReservationId |
The ID of the reservation as the subscribing entity identifies it. |
ReservationUuid |
The unique Id of the GXR that this reservation belongs to. This can be used in later requests for direct GXR referencing. |
ReservationScore |
The Match score that identifies the confidence in match for the customer's reservation. |
SubscribeBundle |
The subscription bundle that contains the event details. |
ScoreChange |
A container providing details about the change in confidence score match changes. |
ScoreChange providing the detailsSubscribeBundle with details about the data bundle and eventsEvents published into our system are processed on an individual basis. However, when they are delivered to a subscriber, they are collected into Data Bundles prior to delivery. The bundles will not be delivered until all events defined in that bundle have arrived. Although many Data Bundles are comprised of just a single data event.
| Field | Description | |
|---|---|---|
DataBundleName |
The name of the data bundle that this request is comprised of, as configured through the Dihedral Portal. | |
Events |
The data events that are contained within this data bundle. The fields may be filtered out according to the bundle definition. | |
Attributes |
Attributes is a map containing optional information about the bundle. It may contain the fields ArrivalEventIndex and
DepartureEventIndex which indicate the travel events that bring a customer to and from their destination, respectively. They are indexed starting at 0 and encoded as strings. Attributes will not be present in the
Bundle when there are no attributes.
|
The match confidence level of a customer or a reservation may change as new data arrives, existing data is removed. or changes to our algorithms are updated. This event will identify the change and the reason for the change.
| Field | Description |
|---|---|
Reason |
The reason descriptor. |
PreviousCustomerScore |
What was the customer score prior to this change. |
PreviousReservationScore |
What was the reservation score prior to this change. |
Here is an example of a simple, four event Air Booking data bundle. More can be found in the Examples section.