API Documentation
Integrate Evropat into your system and automate your shipments
Getting Started
Base URL
Request Format
-
All requests use
Content-Type: application/json - Responses are always in JSON format
-
Dates are in ISO 8601 format:
YYYY-MM-DDTHH:mm:ssZ - Prices are in EUR (euro) with 2 decimal places
Authentication
All API requests require an API key passed via Authorization header:
Important: Getting API Key
To get an API key, you need to have a contract with Evropat. Contact us at [email protected] or by phone 0700 10 717.
Calculate Price
/shipments/calculate
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| from_city | string | Yes | Sender city |
| to_city | string | Yes | Receiver city |
| weight | float | Yes | Weight in kilograms |
| delivery_type | string | Yes | "office" | "address" |
| cod_amount | float | No | Cash on delivery amount (EUR) |
| declared_value | float | No | Declared value (EUR) |
Example
curl -X POST https://api.evropat.bg/v1/shipments/calculate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_city": "Sofia",
"to_city": "Plovdiv",
"weight": 2.5,
"delivery_type": "office",
"cod_amount": 50.00
}'
Response
{
"success": true,
"data": {
"price": 4.29,
"price_with_vat": 5.15,
"price_with_fuel": 6.68,
"fuel_surcharge": 1.53,
"cod_fee": 1.00,
"insurance_fee": 0,
"currency": "EUR",
"zone": "G",
"estimated_delivery": "2026-01-27"
}
}
Create Shipment
/shipments/create
Request Parameters
| Parameter | Type | Description |
|---|---|---|
| sender | object | Sender data (name, phone, city, address) |
| recipient | object | Recipient data (name, phone, city, address) |
| packages | array | Array of packages (weight, length, width, height) |
| delivery_type | string | "office" | "address" |
| office_id | integer | Office ID (for office delivery) |
| cod_amount | float | Cash on delivery (EUR) |
| description | string | Content description |
Response
{
"success": true,
"data": {
"tracking_number": "EP1234567890",
"waybill_url": "https://api.evropat.bg/waybills/EP1234567890.pdf",
"label_url": "https://api.evropat.bg/labels/EP1234567890.pdf",
"price": 6.68,
"currency": "EUR",
"estimated_delivery": "2026-01-27"
}
}
Track Shipment
/shipments/{`{tracking_number}`}
Example
curl -X GET https://api.evropat.bg/v1/shipments/EP1234567890 \ -H "Authorization: Bearer YOUR_API_KEY"
Response
{
"success": true,
"data": {
"tracking_number": "EP1234567890",
"status": "in_transit",
"status_label": "In Transit",
"sender": {
"city": "Sofia"
},
"recipient": {
"city": "Plovdiv"
},
"history": [
{
"date": "2026-01-25T10:30:00Z",
"status": "Accepted at Sofia Center office",
"location": "Sofia"
},
{
"date": "2026-01-25T18:00:00Z",
"status": "Sent to destination",
"location": "Sofia"
}
]
}
}
Offices
/offices
Returns a list of all Evropat offices with addresses, coordinates and working hours.
/cities
Returns a list of served settlements with zone information and service schedule.
Webhooks
You can register a webhook URL to receive notifications when shipment status changes.
Events
shipment.created
New shipment created
shipment.picked_up
Shipment picked up
shipment.in_transit
Shipment in transit
shipment.delivered
Shipment delivered
shipment.returned
Shipment returned
cod.transferred
COD transferred
Error Codes
| HTTP Code | Description |
|---|---|
| 200 | Successful request |
| 400 | Invalid request parameters |
| 401 | Invalid or missing API key |
| 403 | Forbidden access to resource |
| 404 | Resource not found |
| 429 | Rate limit exceeded |
| 500 | Internal server error |