Skip to main content
A production order starts real transport work. Verify the workflow your system will run using sandbox credentials first. Apply the checks below to the capabilities you use.

Verify the complete workflow

Use Sandbox testing to move orders through the transport flow. Test update and cancellation requests on separate test orders. For platform ordering, also test separation between represented businesses. A successful sandbox eligibility check does not prove production eligibility.

Configure production

  1. Open Customer API in the Bahn portal and create a credential with Production selected.
  2. Store its client ID and secret in your production secret manager.
  3. Set both the API and token host to https://api.bahnexpress.fi.
  4. If you consume webhooks, create a production webhook endpoint and store its signing secret separately from the sandbox secret.
  5. Request a production token and verify a read request before enabling order creation.
Keep environment configuration together so the token host, API host, credential, and webhook secret agree. A sandbox token cannot access production. For platform ordering, ask Bahn support to configure the ordering channel and confirm each represented business before its first production order.

Operate the integration

Store request IDs with write results. Monitor failed requests, exhausted retries, webhook verification failures, and webhook processing delays. The customer portal shows delivery attempts and lets you replay retained events to their original endpoint. Cache file IDs rather than temporary download URLs. Refresh the file list when a URL expires. Poll tracking only while the map is visible. Use the current allowed_actions to decide whether a production order can change or be cancelled. Confirm the customer’s intent before cancellation. Contact Bahn support with the environment, order ID, request ID, and observed behavior when you need help. Keep credentials and signing secrets out of support messages.