Summary: A Test-mode profile calls the carrier's test servers, which only accept the carrier's test credentials. Point your integration at the test profile's own API key, because profile switching skips test profiles.

Problem

Orders sent to a QA or test environment fail to process, or a profile you set up for testing returns carrier errors. You are trying to make test (not live) labels through the API.

Cause

Two things break testing. First, a Test-mode profile sends requests to the carrier's test servers, and those servers reject production (live) login details, so you have to put the carrier's test credentials on the test profile. Second, test profiles are left out of profile switching on purpose, so an order only lands on the test profile when the integration sends that profile's own API key.

Fix

  1. Confirm the profile is set to Test mode for the carriers you want to test.
  2. On the test profile, enter each carrier's test credentials (not the production or live ones) so the carrier's test server accepts the calls.
  3. In your integration or WMS (warehouse management system), set the profile API key to the test profile's own API key so orders route to it. Profile switching will not send orders to a test profile on its own.
  4. Check that the test profile's origin and address match the origin you want to test.
  5. Send a test order and confirm you get a test (non-live) label.

What you should see

A test order processes and returns a test (non-live) label, and requests carrying the test profile's API key land on the test profile.

Related articles

  • Profile-switch test times out (Merchant app environment)