The Redeam Notification service can provide notification via the Notification Registry.

Channelbinding

Channel Binding notifications

Receive a channelbinding notification.

Receive a channelbinding notification. The path here is not strict, this is specified in the Notification Rule supplied when registering for channelbinding notifications.

Auth
Request Body
objectobject
supplierIDstring

The Booking-API Supplier ID.

productIDstring

The Booking-API Product ID.

operationstring

What type of channelbinding operation was performed.

Enum: created,removed,updated

signatureobject

A signature object to validate the origin of a notification. The sum can be validated by generating a SHA256 HMAC using the Notification Rule's SecurityKey, the unix timestamp and the token. See the CalcSig function in the following example.

package main
import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "fmt"
)

func CalcSig(secret, token string, ts int64) (string, error) {
    h := hmac.New(sha256.New, []byte(secret))
    _, err := h.Write([]byte(fmt.Sprintf("%d%s", ts, token)))
    if err != nil {
        return ``, err
    }

    return hex.EncodeToString(h.Sum(nil)), nil
}
sumstring

A hexadecimal encoded string representation of a generated SHA256 HMAC checksum.

timestampnumber

A unix timestamp representing when the signature sum was generated.

tokenstring

A unique token included when generating the signature.

POST /channelbinding
Copy
Responses
200

Notification received

No response body
Response
Copy

Supplier

Supplier notifications

Receive a supplier notification.

Receive a supplier notification. The path here is not strict, this is specified in the Notification Rule supplied when registering for supplier notifications.

Auth
Request Body
objectobject
supplierIDstring

The Booking-API Supplier ID.

operationstring

What type of supplier modification was performed.

Enum: updated

signatureobject

A signature object to validate the origin of a notification. The sum can be validated by generating a SHA256 HMAC using the Notification Rule's SecurityKey, the unix timestamp and the token. See the CalcSig function in the following example.

package main
import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "fmt"
)

func CalcSig(secret, token string, ts int64) (string, error) {
    h := hmac.New(sha256.New, []byte(secret))
    _, err := h.Write([]byte(fmt.Sprintf("%d%s", ts, token)))
    if err != nil {
        return ``, err
    }

    return hex.EncodeToString(h.Sum(nil)), nil
}
sumstring

A hexadecimal encoded string representation of a generated SHA256 HMAC checksum.

timestampnumber

A unix timestamp representing when the signature sum was generated.

tokenstring

A unique token included when generating the signature.

POST /supplier
Copy
Responses
200

Notification received.

No response body
Response
Copy

Product

Product notifications

Receive a product notification.

Receive a product notification. The path here is not strict, this is specified in the Notification Rule supplied when registering for product notifications.

Auth
Request Body
objectobject
supplierIDstring

The Booking-API Supplier ID.

productIDstring

The Booking-API Product ID.

operationstring

The product operation. Since product visibility is controlled by channel bindings, those interested in new and removed products should subscribe to channel bindings.

Enum: updated

signatureobject

A signature object to validate the origin of a notification. The sum can be validated by generating a SHA256 HMAC using the Notification Rule's SecurityKey, the unix timestamp and the token. See the CalcSig function in the following example.

package main
import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "fmt"
)

func CalcSig(secret, token string, ts int64) (string, error) {
    h := hmac.New(sha256.New, []byte(secret))
    _, err := h.Write([]byte(fmt.Sprintf("%d%s", ts, token)))
    if err != nil {
        return ``, err
    }

    return hex.EncodeToString(h.Sum(nil)), nil
}
sumstring

A hexadecimal encoded string representation of a generated SHA256 HMAC checksum.

timestampnumber

A unix timestamp representing when the signature sum was generated.

tokenstring

A unique token included when generating the signature.

POST /product
Copy
Responses
200

Notification received.

No response body
Response
Copy

Rate

Rate notification

Receive a rate notification.

Receive a rate notification. The path here is not strict, this is specified in the Notification Rule supplied when registering for rate notifications.

Auth
Request Body
POST /rate
Copy
Responses
200

Notification received.

No response body
Response
Copy

Availability

Availability notifications

Receive an availability notification

Receive an availability notification. The path here is not strict, this is specified in the Notification Rule supplied when registering for availability notifications.

Auth
Request Body
POST /availability
Copy
Responses
200

Notification received.

No response body
Response
Copy

Priceschedule

Price Schedule notifications

Receive a priceschedule notification

Receive a priceschedule notification. The path here is not strict, this is specified in the Notification Rule supplied when registering for priceschedule notifications.

Auth
Request Body
objectobject
supplierIDstring

The Booking-API Supplier ID.

productIDstring

The Booking-API Product ID.

startstring

An RFC-3339 start time.

endstring

An RFC-3339 end time.

signatureobject

A signature object to validate the origin of a notification. The sum can be validated by generating a SHA256 HMAC using the Notification Rule's SecurityKey, the unix timestamp and the token. See the CalcSig function in the following example.

package main
import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "fmt"
)

func CalcSig(secret, token string, ts int64) (string, error) {
    h := hmac.New(sha256.New, []byte(secret))
    _, err := h.Write([]byte(fmt.Sprintf("%d%s", ts, token)))
    if err != nil {
        return ``, err
    }

    return hex.EncodeToString(h.Sum(nil)), nil
}
sumstring

A hexadecimal encoded string representation of a generated SHA256 HMAC checksum.

timestampnumber

A unix timestamp representing when the signature sum was generated.

tokenstring

A unique token included when generating the signature.

POST /priceschedule
Copy
Responses
200

Notification received

No response body
Response
Copy

Booking

Booking notifications

Receive a booking notification.

Receive a booking notification. The path here is not strict, this is specified in the Notification Rule supplied when registering for booking notifications.

Auth
Request Body
POST /booking
Copy
Responses
200

Notification received.

No response body
Response
Copy