Verificar uso del QR de firma
GET/ecmr/sign/qr/:service_code/check
Propósito
Comprueba si un QR de firma asociado a un eCMR ya fue utilizado para una fase.
Objetivo
Evitar reuso indebido de enlaces QR y permitir a la UI decidir si debe bloquear una firma duplicada.
Casos de uso
- Validar en cliente si la fase
planned,acceptedocollectedya tiene firma. - Mostrar mensaje preventivo antes de abrir el formulario de firma.
Flujo de validación
flowchart TD
A[Recibir GET /ecmr/sign/qr/{service_code}/check] --> B{Autenticado por queryAuth o apiKeyAuth}
B -->|No| C[401 NO_TOKEN_OR_APIKEY]
B -->|Sí| D{Existe eCMR por service_code}
D -->|No| E[404 QR_NOT_FOUND]
D -->|Sí| F{status === delivered}
F -->|Sí| G[403 DELIVERY_COMPLETED]
F -->|No| H[Calcular used según phase]
H --> I[200 returnOK { used: boolean }]
Detalles técnicos
La lógica del servicio usa el query param phase para decidir qué campo inspeccionar:
planned -> sign_image_sender, accepted -> sign_pickup, collected -> sign_delivery.
Si phase no llega, used se evalúa en false.
Autenticación
Requiere queryAuth (token en query, por ejemplo ?token=) o apiKeyAuth.
Request
Responses
- 200
- 401
- 403
- 404
Resultado de comprobación con wrapper returnOK
Response Headers
Token en query y API Key ausentes o inválidos
Response Headers
El eCMR ya está entregado y no admite validación de QR de firma
Response Headers
QR/eCMR no encontrado para el service_code enviado