Referencia de la API
Cancelar pedido
Anula un envío antes de que el operador lo retire.
/integrations/public-api/packages/{following_number}/cancelhttps://api.beartrackapp.com/api/v1Cancela el pedido (estado 5) si todavía no fue retirado: solo desde los estados 0 y 100. Es idempotente: cancelar un pedido ya cancelado responde 200.
Autenticación
Envía estas cabeceras en cada petición.
AuthorizationstringrequeridoToken de acceso: Bearer seguido del access_token que devuelve POST /integrations/oauth/token.
client_id y tu client_secret en POST /integrations/oauth/token, y dura una hora. Este endpoint exige el scope packages:write. Cómo crear las credenciales y pedir el token: Autenticación.Parámetros de ruta
following_numberintegerrequeridoNúmero de seguimiento del pedido: el following_number que devuelve Crear pedido.
Ejemplo
curl -X POST 'https://api.beartrackapp.com/api/v1/integrations/public-api/packages/268012/cancel' \
-H 'Authorization: Bearer bta_tu-token'Respuestas
El pedido quedó cancelado.
{
"following_number": 268012,
"status": {
"code": 5,
"name": "cancelled"
},
"already_cancelled": false
}Petición incompleta o inválida
invalid_request
Falta un dato obligatorio —la cabecera
Authorization,grant_typeen el token o un campo del pedido comoorder_id— o el cuerpo no pasó la validación.error_descriptiondice qué falló.
Petición incompleta o inválida
invalid_request
Falta un dato obligatorio —la cabecera
Authorization,grant_typeen el token o un campo del pedido comoorder_id— o el cuerpo no pasó la validación.error_descriptiondice qué falló.Token inválido o vencido
invalid_token
El token no existe, venció (dura una hora) o la credencial se rotó o revocó después de emitirlo.
Scope insuficiente
insufficient_scope
El token no tiene el scope que exige el endpoint:
packages:writepara crear y cancelar,packages:readpara consultar.
Pedido no encontrado
not_found
No hay un pedido con ese número de seguimiento en tu comercio. Un pedido de otro comercio responde igual que uno inexistente.
El pedido ya no se puede cancelar
invalid_state
El operador ya retiró el pedido: solo se cancela en los estados
0y100.error_descriptiondice en qué estado está.
Demasiadas peticiones
too_many_requests
Superaste el límite de tu credencial, por minuto: 10 canjes de token, 120 pedidos, 300 consultas o 60 cancelaciones. Cada límite es independiente.
Servicio no disponible
temporarily_unavailable
Beartrack no pudo procesar la petición en este momento.
Notas
- Si el pedido ya estaba cancelado, responde
200conalready_cancelled: true: puedes reintentar tras un timeout sin riesgo. - Si el operador ya lo retiró, responde
409 invalid_stateyerror_descriptiondice en qué estado está. Desde ese momento, coordina la anulación con tu operador. - Si tienes webhooks, recibes el evento
cancelled. - Queda registrado en el historial del pedido como hecho por el usuario del portal que creó la credencial.
- El límite es de 60 cancelaciones por minuto por credencial.