Confirmar a entrega mediante ficha QR
PUT/company/qr/confirm
Confirma a finalización dunha entrega. Ao confirmar:
- O estado do envío pasa a
delivered - Rexístrase a sinatura dixital do receptor
- Gárdanse fotos de proba de entrega (se se achegan)
- Rexístrase a xeolocalización da confirmación
- Inválidase o
confirm_token - Procésase o pago do servizo (Stripe)
- Asínase o eCMR dixitalmente
- Envíanse emails de confirmación a todas as partes
Este endpoint é PÚBLICO — non require autenticación.
Fluxo de uso
- Obter o
confirm_tokendo endpointGET /company/qr/{token} - Recoller a sinatura dixital do receptor (canvas base64)
- Opcionalmente, tomar fotos da entrega
- Chamar a este endpoint con todos os datos
Campo data
O campo data debe enviarse como string JSON no formulario multipart.
Contén os datos do firmante e a súa sinatura dixital:
\{
name: Xoán,
surname: Pérez,
taxid: 12345678A,
email: xoan@exemplo.com,
image: data:image/png;base64,iVBORw0KG...
\}
Notas técnicas
- Código fonte:
src/features/company/qr_delivery/controller.js→confirmDelivery - Acepta ata 6 imaxes achegadas (campo
images, subidas a S3) - A xeolocalización é opcional mais recomendada para auditoría
- A acción é irreversible: un envío confirmado non pode reverterse a estado anterior
Request
Responses
- 200
- 400
- 401
- 404
- 500
Entrega confirmada correctamente
Datos inválidos. Ocorre cando:
- Faltan parámetros requiridos (
service_code,token,data) - Formato incorrecto do JSON no campo
data
Operación non permitida. Ocorre cando:
- A entrega xa está en estado final (
delivered,canceled) - A sinatura (
image) non está presente no campodata
Entrega non atopada. Posibles causas:
- O
tokenouservice_codeson incorrectos ou non coinciden - A entrega foi eliminada
Erro interno do servidor ao gardar a confirmación