Overview
The Guestlogix Client RESTful API (also known as the "Traveler API") is an integral part of the Guestlogix technical ecosystem. Like all APIs, the Traveler API opens up many deployment options ranging from bespoke web integrations, to back-of-seat displays on an airline; basically, anywhere you can make an HTTP call, you can integrate the Guestlogix Traveler API.
NOTE: A pre-requisite to interacting with the Client API is that you are a Guestlogix Partner and have obtained a Sandbox or Production API key. Please contact your Customer Success Manager, or support@guestlogix.com if you have questions regarding this.
Structure
The Client API, similarly to the Partner API, facilitates the connection between the client application and the Guestlogix Travel Personalization Platform (TPP) to retrieve product data, facilitate purchases, and provide clients with services required to transact through the Guestlogix platform.
Try It Out!
The Client API utilizes Swagger to autogenerate a specification page.
API Conventions
Resources
Resources should always be singular and should descend into its components down a path. e.g.
https://guestlogix.io/resource/{resource-id}/sub-resource/{sub-resource-id}
Query parameters are to use lowercase 'spinal' or 'kebab' case. e.g.
https://guestlogix.io/resource?query-param=x&another-query-param=y
API Errors
Should the API consumer provide insufficient parameters, or request a resource out of order the API will return a 4xx
level status code. For more granularity, an error code and message will accompany the response. The errors are outlined in more detail in the Error Codes.
Date and Time Formatting
In the context of JSON formatting, the following methods of representation are used:
DateTime
When an instance in time is needed, a fully formatted ISO 8601 string is to be used. e.g.
{ "dateTime" : "2018-12-10T17:05:09Z" //December 10th 2018 12:05:09pm UTC Time }
Date
When a single calendar day is needed to be represented, and time is irrelevant, a string of the format YYYY-MM-DD is to be used. e.g.
{ "date" : "2018-12-10" //December 10th 2018 }
Time
When a time of day is to be used, the attribute that holds it should have the suffix "inSeconds", "inMinutes" or "inHours" etc, and reefers to a corresponding integer number since midnight of a given day. e.g.
{ "timeInSeconds" : 25200, //7:00am "timeInMinutes": 420, //7:00am "timeInHours": 7 //7:00am }