Getting Started
All Aboard provides professional tools for accessing and selling train content, with the two main features being an intuitive Dashboard for manual agent bookings and an API for automated processes and deep integrations.
The All Aboard Dashboard: Designed with a heavy focus on UX, to be a robust and fast tool for agents, without need for training our any previous knowledge.
The All Aboard API: Designed to be fast to implement while still providing flexibility to query complex routes and fares.
The Dashboard
The dashboard is a web application for managing your account and making bookings. Only agents that have been approved for direct invoicing can make bookings via the Dashboard.
If you have not been approved for direct invoicing you can still use the API to make bookings and collect payments via the Payments API.
Visit The Dashboard
Once you have set up an agent account with All Aboard you can sign in to the Dashboard to manage your bookings. Sign in now
The API
Before digging in to the API you should familiarize yourself with some of the technologies used, i.e. JSON, GraphQL and WebSockets.
Access
The API is accessible as GraphQL over WebSockets and HTTP
(via POST
and GET
requests) and there are plenty of client libraries available in most programming languages. When it comes to WebSockets the GraphQL community is still in the process of standardizing the protocol. The leading contender for a standardized protocol over WebSockets is the graphql-ws library which is what the All Aboard API is using.
- HTTPS:
https://api-gateway.allaboard.eu
- WebSocket:
wws://api-gateway.allaboard.eu
Try it out
Explore the GraphQL Schema and start making requests with the interactive API console. Visit the console
Test environment
While familiarizing yourself with the API you may want to use the test environment to avoid unnecessary charges.
Authorization
Other than the query
and variables
parameters required with every request, the API expects the Authorization: Bearer AGENT_API_KEY
header with every request.
Not all environments support custom headers when initializing WebSockets (e.g. web browsers), in these circumstances one can include Authorization
in the initial connection payload. See how using graphql-ws connectionParams
.
Headers
Requests over HTTP require the Accept: application/json
header.
Additionally, the header session
can be included with every request. This header is not required but is used for debugging and logging purposes. The value can be any unique string that identifies the session.