Going live
Live and sandbox behave the same, so going live is a change of base URL and key. Before you switch, check your integration against this list.
Checklist#
- Every outcome is handled. You have tested all four decisions and
needs_manual_reviewon the test carriers. - Failures are handled.
404tells the user the carrier was not found;503and429 rate_limit_exceededare retried with backoff; anything else is logged with itsrequest_id. - Timeouts are set. Allow up to 30 seconds per request, and decide what your product does when the score cannot be fetched: hold the tender, or send it to a person.
- Keys are secret. The live key lives in your server's secret store, not in code, browsers or mobile apps.
- Unknown values are tolerated. New fields, flags or severities do not break your code. See Versioning.
- The quota is watched. You alert on
X-Quota-Remainingbefore it reaches zero. - Results are stored. You keep the score, decision,
model_versionandcalculated_atwith each booking decision, so you can show later why a carrier was approved.
Switch#
| Sandbox | Live | |
|---|---|---|
| Base URL | https://sandbox-api.dollartraq.com |
https://api.dollartraq.com |
| Key | dt_test_… |
dt_live_… |
Make both configurable, so the same code runs in both environments:
DT_SCORE_BASE_URL=https://api.dollartraq.com
DT_SCORE_KEY=dt_live_…
Check the live key with GET /v1/usage before your first score lookup. It does not use quota.
After launch#
- Live responses have
"livemode": trueand aDT-Environment: liveheader. If you seefalse, a sandbox key is still in use. - Every live score returned uses one request from your monthly quota.
- Keep your sandbox key. Use it in your test suites and staging environments, where it costs nothing.