This API allows partners to sell Travel Corporation products on their websites. Get started by requesting access. To do so simply click here or the button in the top right of this page.
Current Version
By default, all requests to https://api.ttc.com
receive the v4 version of the REST API.
We encourage you to explicitly request this version via the Accept
header:
Accept: application/vnd.ttc.v4+json
Schema
All API access is over HTTPS, and accessed from the https://api.ttc.com
. All data is sent and received as JSON.
All timestamps return in ISO 8601 format. For example:
2018-04-09T08:00:00+0300
Authentication
Access to this API requires authentication. Requesting any endpoint with incorrect or wrong credentials will result in 401 Unauthorized
.
Use HTTP Authentication with the following Authentication Schemes:
- HTTP Basic
username is token
and password is your API_TOKEN
. For example, here is how to make an authenticated request with curl on the command line (replace API_TOKEN with your api token):
$ curl https://token:API_TOKEN@api.ttc.com/brands/trafalgar/tours/1/options/1/availability?regions=nz
- HTTP Bearer with JWT Token
This authentication scheme requires a signed JWT Token to be sent in the HTTP Authentication header as a "Bearer Token". The JWT token must have these fields:
- client_id
- agentId
client_id is your API CLIENT_ID
agentId is the id of the TTC Travel Consultant that will access the API
Note if the Consultant is to book tours then the Third Party Reference must be set on the API client.
For example, here is how to make an authenticated request with curl on the command line:
$ curl https://api.ttc.com/brands/trafalgar/tours/1/options/1/availability?regions=nz -H "Authorization: Bearer JWT_TOKEN"
Single Sign On
TTC SSO allows a Travel Consultant to login to TTC via any Brand and subsequently that user will be logged in across all accessible Brands.
TTC SSO uses OpenID Connect, an authentication layer on top of OAuth 2.0.
Using OAuth 2.0 in your application, a Travel Consultant can access the API via your API Client.
Use the OAuth 2.0 Authorization Code flow and receive a token to access the API - see HTTP Bearer with JWT Token.
Note you do not need to (and cannnot) modify the token, just pass it straight through to the API.
TTC SSO login requires the following OAuth 2.0 parameters:
- Client Id
[your API CLIENT_ID]
- Client Secret:
[API Support will supply this]
- Client Flow
'AuthorizationCode'
- Scope
'agentId'
- Authorize Url:
- Token Url:
Logout
You can logout with the following url:
It is symmetrical to login in that the user is logged out across all TTC Brands.
Rate Limiting
The returned HTTP headers of any API request show your current rate limit status:
$ curl https://token:API_TOKEN@api.ttc.com/countries HTTP/1.1 200 OK ... X-RateLimit-Limit: 100 X-RateLimit-Remaining: 99 ...
Once the limit is reached, it will start returning 429 Too Many Requests
and an extra header - Retry-After
- indicating how long to wait (in milliseconds) before making a new request:
$ curl https://token:API_TOKEN@api.ttc.com/countries HTTP/1.1 429 Too Many Requests ... X-RateLimit-Limit: 100 X-RateLimit-Remaining: 0 Retry-After: 5000 ...