Changelog
Notable changes to the TEALCA API.
[Unreleased]
[1.4.0] - 2026-09-15
Added
GET /store,GET /store/{code}andGET /store/coverage: every store includes theis_platformfield.POST /shipment,GET /shipment/{shipment_identification},POST /shipment/cancel,GET /customer/{customer_identification}/shipments,POST /preshipmentandGET /preshipment/{preshipment_identification}:origin_storeanddestination_storeinclude theis_platformfield.GET /location:default_destination_storeincludes theis_platformfield.GET /store/coverage: new optionallocation_codeparameter. When the coordinates do not resolve to a single store of that location, the endpoint returns the platform store that serves it.
Changed
GET /location:default_destination_storeis resolved with the new coverage algorithm, so it can be a different store, it can be a platform, and it is null when the location has no coverage.POST /shipment,POST /preshipment,POST /shipment/price-calculation,GET /shipment/{shipment_identification}/price-calculation,POST /warehouse/delivery-orderandPOST /shipment-bulk/{header_id}/execute: whenorigin.storeordestination.storeis omitted for an office service, the store is always resolved by coverage, so the assigned store may differ from the one linked to the location and may be a platform.- On those same endpoints, a store resolved by coverage is also validated against locked stores, so a shipment that reaches a locked store without naming it is now rejected.
- On those same endpoints, coverage errors are reported by reason, which includes uncovered areas, inactive stores, locked stores, stores outside the catalog and locations covered by several stores without a platform. The message lists the candidate stores.
POST /shipment,POST /document,POST /manifestandPOST /preshipment: the response list keeps the order of the list sent in the request.GET /store/coverage: alocation_codethat does not exist is reported with the nonexistent location error, and a point outside coverage is reported as not being within a TEALCA coverage area.
Fixed
POST /shipment,POST /preshipment,POST /shipment/price-calculation,GET /shipment/{shipment_identification}/price-calculation,POST /warehouse/delivery-orderandPOST /shipment-bulk/{header_id}/execute: sendingorigin.coordinatesordestination.coordinatesfor home pickup or home delivery no longer causes a server error.- On those same endpoints, each shipment is priced with the zone that corresponds to it, which prevents a shipment from being priced with another shipment's zone.
[1.3.0] - 2026-09-09
Changed
POST /shipment,POST /preshipmentandPOST /document: the name of a natural person must contain at least two words, and the name of a juridic account also accepts the+character.
Fixed
POST /shipment,POST /preshipmentandPUT /shipment/{shipment_header_id}/shipment-parcel: the error message when creating shipments for corporate customers with a volumetric factor of zero or less now indicates the billing account code and the configured factor, instead of being a generic message.POST /shipment,POST /preshipmentandPOST /document: the error message for invalid names distinguishes between natural and juridic accounts.
[1.2.0] - 2026-09-03
Changed
GET /tracking/shipment/{shipment_identifier_list}: each shipment in the response includes thepreshipment_numberandshipment_partner_idfields, empty when the shipment has none.POST /shipment,POST /preshipment, andPOST /warehouse/delivery-order: theshipment_list,preshipment_list, anddelivery_order_listfields accept at most 20 items per request.
Fixed
POST /shipment: theshipper.nameandconsignee.namefields accept the charactersñandÑ.
[1.1.0] - 2026-08-27
Added
- All endpoints are also available under the
/api/v1/prefix. - New endpoint
GET /customer/{customer_identification}/shipments: lists the shipments where the customer is the shipper or the consignee, with cursor-based pagination.
Changed
- Registering a POD (proof of delivery) through
POST /podalso updates the shipment's status and tracking information. POST /pod: theaccount_idfield accepts a UUID in any standard format. Malformed values are rejected during request validation instead of causing a server error.POST /shipment: creation of corporate shipments is rejected when the destination store (destination.store) is not available, or is blocked, for the billing account's agreement. The error message identifies the shipment, the store, and the reason.
Deprecated
- Routes without the
/api/v1/prefix will be removed soon. Switching to the versioned routes is recommended.
Fixed
PUT /shipment/{shipment_header_id}/shipment-parcel: the path parameter accepts either the shipment ID or the shipment number.POST /shipment:shipment_header_referencevalues used by canceled or replaced shipments can be reused on new shipments.
[1.0.0] - 2026-08-20
Added
- New endpoint
GET /preshipment: returns the preshipments created betweendate_fromanddate_to, each with its shipper, consignee, current status, the date each stage was reached, and the declared, validated, and charged weights. Results are paginated withcursorandpage_size. The maximum range per query is 31 days. - New
/shipment-bulkendpoints for the new bulk shipment upload process in MiTealca:POST /shipment-bulk,GET /shipment-bulk/list,GET /shipment-bulk/{header_id},GET /shipment-bulk/{header_id}/progress, andGET /shipment-bulk/{header_id}/file.
Changed
GET /tracking/shipment/{shipment_identifier_list}: each tracking record includes theevent_idfield, along witheventandevent_category, so consuming systems can react without depending on the text.
Fixed
- Bug fixes in price calculation (
POST /shipment/price-calculationandGET /shipment/{shipment_identification}/price-calculation), shipment creation (POST /shipment), and the public documentation at/api/docs.