Anular un pedido (Order Cancellation)

Anular un pedido existente a través de la API: endpoint, flujo y respuesta del proveedor.

Un pedido ya enviado puede ser anulado por el comprador mediante una Order Cancellation. El proveedor recibe la anulación y puede aceptarla o rechazarla. Las Order Cancellations forman parte del perfil Peppol Advanced Ordering.

Endpoint
POST /api/v1/{partyId}/purchaseOrder/{documentId}/cancel

El {partyId} es el identificador Peppol del comprador. El {documentId} es el ID del pedido original que desea anular. Es el ID de documento que recibió al enviar el pedido.

Atención: una anulación es una solicitud, no una garantía. El proveedor puede rechazar la anulación, por ejemplo si el pedido ya está en producción. Solo después de recibir una Order Response con el código de estado AP (aceptado) la anulación es definitiva.

Flujo
  1. El comprador envía una solicitud de anulación a través del endpoint cancel
  2. El proveedor recibe la anulación a través del webhook OrderCancellationReceived
  3. El proveedor evalúa si la anulación puede llevarse a cabo
  4. El proveedor envía una Order Response de vuelta: AP (aceptado) o RE (rechazado)
  5. El comprador recibe la response a través del webhook OrderResponseReceived
Recibir como proveedor

Configure un webhook en el topic OrderCancellationReceived:

{
  "action": "https://jouw-endpoint.nl/order-cancellations",
  "topics": ["OrderCancellationReceived"],
  "secret": "jouw-geheime-sleutel"
}

Descargue el documento de anulación para consultar el motivo de la anulación:

GET /api/v1/{partyId}/salesOrder/{documentId}/download
Topics webhook
TopicDirecciónCuándoOrderCancellationSentCompradorLa anulación fue entregada con éxitoOrderCancellationReceivedProveedorLa anulación fue recibidaOrderResponseReceivedCompradorEl proveedor ha respondido a la anulaciónOrderResponseSentProveedorLa response a la anulación fue enviada
Responder a una anulación

Como proveedor, responde a una anulación a través del endpoint Order Response. Los códigos de estado relevantes son:

CódigoSignificadoAPAnulación aceptada, el pedido no será ejecutadoREAnulación rechazada, el pedido permanece activo
Preguntas frecuentes
¿Qué `documentId` utilizo en el endpoint de cancelación?

Utilice el ID de documento del pedido original que recibió del PSB al enviarlo (POST .../purchaseOrder/send). La ruta es POST /api/v1/{partyId}/purchaseOrder/{documentId}/cancel, donde {partyId} es el identificador Peppol del comprador.

¿Una cancelación es inmediatamente definitiva una vez que la solicitud tiene éxito?

No. Una cancelación es una solicitud. El proveedor puede rechazarla, por ejemplo si el pedido ya está en ejecución. Solo cuando recibe una Order Response con código AP se considera la cancelación aceptada según el flujo.

¿Cómo encaja la Order Cancellation en el perfil Advanced Ordering?

La Order Cancellation forma parte de Advanced Ordering: el proveedor recibe OrderCancellationReceived, puede descargar el documento de cancelación y responde mediante Order Response con AP (aceptado) o RE (rechazado). El comprador sigue el resultado a través de, entre otros, OrderResponseReceived.


Consulte la especificación API completa en psb.econnect.eu para las estructuras exactas de solicitud y respuesta.

Probar en la API