ParcelEx API
Merchant and developer documentation
Integrate ParcelEx into your ecommerce application to create shipments, calculate rates, and offer public parcel tracking to your customers.
v1.0REST APIJSON
Getting Started
Follow these steps to integrate the ParcelEx API:
- Register as a merchant at
/merchant/register - Wait for approval from the ClanCorp team (2-3 business days)
- Contact your account manager to generate an API key
- Use the API key in the
Authorizationheader - Make your first request to calculate a shipping rate
Base URL
https:/linkfa.de/api/parcelexAll requests must use HTTPS. The API returns JSON responses.
Authentication
All API requests (except tracking and locations) require authentication using an API key passed as a Bearer token:
Authorization: Bearer pk_live_your_api_key_hereAPI keys are generated by the ClanCorp admin team. Each key is tied to your merchant account and has a configurable rate limit.
Security: Never expose your API key in client-side code. Always make API calls from your server.
Endpoints
Error Codes
| Status | Meaning | How to handle |
|---|---|---|
| 400 | Bad Request | Check request body — missing or invalid fields |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | API key is inactive or expired |
| 404 | Not Found | Resource does not exist |
| 429 | Rate Limited | Wait 60 seconds before retrying |
| 500 | Server Error | Retry with exponential backoff |
Error Response Format
{ "error": "Description of what went wrong" }Rate Limiting
Each API key has a configurable rate limit (default: 100 requests per minute).
When you exceed the limit, the API returns a 429 Too Many Requests response.
async function fetchWithRetry(url, options, retries = 3) {
for (let i = 0; i < retries; i++) {
const res = await fetch(url, options);
if (res.status !== 429) return res;
await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
}
throw new Error('Rate limit exceeded after retries');
}Try It
Try It — Rate Calculator
Webhooks
Coming Soon: Webhook support is currently in development.
Planned events:
shipment.createdshipment.picked_upshipment.in_transitshipment.deliveredshipment.failed
