Confirm delivery via QR token
PUT/company/qr/confirm
Confirma a conclusão de uma entrega. Ao confirmar:
- O status do envio muda para
delivered - Registra-se a assinatura digital do destinatário
- Guardam-se fotos de prova de entrega (se anexadas)
- Registra-se a geolocalização da confirmação
- Invalida-se o
confirm_token - Processa-se o pagamento do serviço (Stripe)
- Assina-se o eCMR digitalmente
- Enviam-se emails de confirmação para todas as partes
Este endpoint é PÚBLICO — não requer autenticação.
Fluxo de uso
- Obter o
confirm_tokendo endpointGET /company/qr/{token} - Recolher a assinatura digital do destinatário (canvas base64)
- Opcionalmente, tirar fotos da entrega
- Chamar este endpoint com todos os dados
Campo data
O campo data deve ser enviado como string JSON no formulário multipart.
Contém os dados do signatário e sua assinatura digital:
{
name: Juan,
surname: Pérez,
taxid: 12345678A,
email: juan@example.com,
image: data:image/png;base64,iVBORw0KG...
}
Notas técnicas
- Código-fonte:
src/features/company/qr_delivery/controller.js→confirmDelivery - Aceita até 6 imagens anexadas (campo
images, carregadas no S3) - A geolocalização é opcional mas recomendada para auditoria
- A ação é irreversível: um envio confirmado não pode ser revertido para um estado anterior
Request
Responses
- 200
- 400
- 401
- 404
- 500
Entrega confirmada com sucesso
Dados inválidos. Ocorre quando:
- Faltam parâmetros obrigatórios (
service_code,token,data) - Formato incorreto do JSON no campo
data
Operação não permitida. Ocorre quando:
- A entrega já está em estado final (
delivered,canceled) - A assinatura (
image) não está presente no campodata
Entrega não encontrada. Possíveis causas:
- O
tokenouservice_codeestão incorretos ou não correspondem - A entrega foi excluída
Erro interno do servidor ao salvar a confirmação