Referencia de la API

Cancelar pedido

Anula un envío antes de que el operador lo retire.

post
/integrations/public-api/packages/{following_number}/cancelhttps://api.beartrackapp.com/api/v1

Cancela 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.

Authorizationstringrequerido

Token de acceso: Bearer seguido del access_token que devuelve POST /integrations/oauth/token.

El token se obtiene canjeando tu 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_numberintegerrequerido

Nú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

200OK

El pedido quedó cancelado.

Ejemplo
{
  "following_number": 268012,
  "status": {
    "code": 5,
    "name": "cancelled"
  },
  "already_cancelled": false
}
400Bad Request
  • Petición incompleta o inválida

    invalid_request

    Falta un dato obligatorio —la cabecera Authorization, grant_type en el token o un campo del pedido como order_id— o el cuerpo no pasó la validación. error_description dice qué falló.

401Unauthorized
  • Petición incompleta o inválida

    invalid_request

    Falta un dato obligatorio —la cabecera Authorization, grant_type en el token o un campo del pedido como order_id— o el cuerpo no pasó la validación. error_description dice 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.

403Forbidden
  • Scope insuficiente

    insufficient_scope

    El token no tiene el scope que exige el endpoint: packages:write para crear y cancelar, packages:read para consultar.

404Not Found
  • 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.

409Conflict
  • El pedido ya no se puede cancelar

    invalid_state

    El operador ya retiró el pedido: solo se cancela en los estados 0 y 100. error_description dice en qué estado está.

429Too Many Requests
  • 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.

503Service Unavailable
  • Servicio no disponible

    temporarily_unavailable

    Beartrack no pudo procesar la petición en este momento.

Notas

  • Si el pedido ya estaba cancelado, responde 200 con already_cancelled: true: puedes reintentar tras un timeout sin riesgo.
  • Si el operador ya lo retiró, responde 409 invalid_state y error_description dice 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.