Confirm delivery via QR token
PUT/company/qr/confirm
Conferma il completamento di una consegna. Confermando:
- Lo stato della spedizione passa a
delivered - Viene registrata la firma digitale del destinatario
- Vengono salvate le foto di prova della consegna (se allegate)
- Viene registrata la geolocalizzazione della conferma
- Il
confirm_tokenviene invalidato - Viene elaborato il pagamento del servizio (Stripe)
- L'eCMR viene firmato digitalmente
- Vengono inviate email di conferma a tutte le parti
Questo endpoint è PUBBLICO — non richiede autenticazione.
Flusso d'uso
- Ottenere il
confirm_tokendall'endpointGET /company/qr/{token} - Raccogliere la firma digitale del destinatario (canvas base64)
- Opzionalmente, scattare foto della consegna
- Chiamare questo endpoint con tutti i dati
Campo data
Il campo data deve essere inviato come stringa JSON nel form multipart.
Contiene i dati del firmatario e la sua firma digitale:
{
name: Juan,
surname: Pérez,
taxid: 12345678A,
email: juan@example.com,
image: data:image/png;base64,iVBORw0KG...
}
Note tecniche
- Codice sorgente:
src/features/company/qr_delivery/controller.js→confirmDelivery - Accetta fino a 6 immagini allegate (campo
images, caricate su S3) - La geolocalizzazione è opzionale ma consigliata per audit
- L'azione è IRREVERSIBILE: una consegna confermata non può essere riportata a uno stato precedente
Request
Responses
- 200
- 400
- 401
- 404
- 500
Consegna confermata correttamente
Dati non validi. Si verifica quando:
- Mancano parametri obbligatori (
service_code,token,data) - Formato JSON errato nel campo
data
Operazione non consentita. Si verifica quando:
- La consegna è già in stato finale (
delivered,canceled) - La firma (
image) non è presente nel campodata
Consegna non trovata. Possibili cause:
- Il
tokeno ilservice_codesono errati o non corrispondono - La consegna è stata eliminata
Errore interno del server durante il salvataggio della conferma