Introduction#
Product#
MOIA’s Trip API enables the key functionality and intelligence to execute and offer a state-of-the-art Ridepooling Service in cities. This product works with Trips which are ordered by Customers.
MOIA’s Trip API supports the following use cases:
Register Customers for the Ridepooling Service
Request Trip Offers for a Customer
Order a Trip
Get updates of a Trip
Cancel a Trip as a Customer or Integrator
Send Feedback for a Trip
For a glossary of the relevant terms used in the Trip API, see Glossary.
Technology#
The Trip API is designed with gRPC, leverages HTTP/2 for efficient, high-performance
communication and Protobuf for compact, type-safe serialization of data.
This API is defined through .proto
files, establishing a clear, strict contract for
each Service and operation offered.
With gRPC, the Trip API supports both unary and
streaming requests, enabling real-time, bidirectional communication for enhanced
interactivity and responsiveness.
Distinctively, the Trip API maintains separate environments for production and integration operations, dictated by the URL, and API keys included in the gRPC metadata for authentication. The Trip API is available under the following base URLs for the different environments:
Production:
trip-api.eu-central-1.moia-group.io
Integration:
trip-api.int.eu-central-1.moia-group.io
Sandbox:
trip-api-sandbox.eu-central-1.moia-group.io
Operations in the Trip API are designed to be single-object focused, in line with gRPC’s standard practice of handling one request-response pair per RPC call, thereby not supporting bulk updates natively.
To accommodate varying needs, the Trip API is versioned, allowing for the release of
new features and the customization of functionalities. This versioning is
managed through different Service definitions or updated Protobuf message types.
Users can access documentation and API explorers that are automatically
generated from the .proto
files, providing a tailored experience that aligns
with their specific version of the API, test key, and data. This ensures that
users always have access to the most relevant and up-to-date information for
their integration needs.