Sandbox
A private test copy of EviPostal for your integration. Use a sandbox key (evp_test_…) and nothing you do is real.
What is different
- A test carrier answers every request. No parcel is collected, nothing is charged.
- Sandbox data is kept apart from your business: it never appears in your shipments, reports or money.
- Every object has
environment: "sandbox"andtest: true; every answer hasEviPostal-Environment: sandbox. - A booked test shipment moves along its timeline by itself — picked up, in transit, delivered — and sends webhooks as it goes.
- Labels are PDFs clearly marked as test labels.
Test a failure on purpose
Start the receiver's street address (to.line1) with one of these words when you ask for rates, then carry on as normal. Anything else succeeds.
| Start the street with | Affects | What happens |
|---|---|---|
MOCK-NO-SERVICE | Rates | No rates: rates is empty and messages has no_service. |
MOCK-INVALID-ADDRESS | Rates | No rates: messages has invalid_address. |
MOCK-TIMEOUT | Rates | The test carrier does not answer: 503 carrier_unavailable (takes the carrier timeout). |
MOCK-BOOK-FAIL | Booking | Booking refused: 422 booking_failed. Nothing charged. |
MOCK-BOOK-TIMEOUT | Booking | 202 with status booking; EviPostal confirms it later and sends shipment.booked. |
MOCK-BOOK-LOST | Booking | 202 with status booking; EviPostal finds no booking and sends shipment.booking_failed. |
MOCK-NO-FUNDS | Booking | 402 insufficient_funds, as a production key with an empty wallet would get. |
MOCK-LABEL-LATER | Label | The label stays pending at first: GET label answers 409 label_not_ready. |
MOCK-DELAYED | Tracking | The timeline reports a delay: shipment.delayed. |
MOCK-PICKUP-FAIL | Tracking | The carrier cannot collect it: shipment.exception with status delivery_issue. |
