Saltar al contenido principal

Digitally sign an awarded auction

POST 

/company/bid-auctions/:service_code/sign

Permite al transportista ganador firmar digitalmente la adjudicación de una subasta. La firma se realiza mediante una imagen de firma manuscrita cargada por el usuario.

Objetivo

Formalizar legalmente la aceptación del transporte por parte del transportista ganador, generando automáticamente los documentos y registros necesarios para el proceso logístico.

Efectos Secundarios Automáticos ⚠️

Este endpoint realiza automáticamente las siguientes operaciones al completarse:

  1. Creación del Delivery:

    • Se crea un registro de delivery asociado a la subasta
    • El delivery se inicializa con los datos de la subasta
    • Se establece la relación auction.delivery → delivery._id
  2. Generación del eCMR:

    • Se genera automáticamente el documento eCMR (Carta de Porte Digital)
    • El eCMR se asocia al delivery recién creado
    • Se inicializa con los datos de transporte de la subasta
  3. Actualización de Estados:

    • La subasta se marca como firmada
    • Se establece signed_by_trucker: true
    • Se registra la fecha y hora de la firma
  4. Relaciones entre Entidades:

    Auction → Delivery → eCMR
    (auction._id) (delivery.auction) (ecmr.delivery)

Requisitos del Archivo de Firma

  • Formato: JPEG o PNG
  • Tamaño máximo: 5MB
  • Resolución mínima: 300x100px
  • Contenido: Imagen de firma manuscrita legible

Casos de Uso

  • Transportista ganador firma la aceptación de una subasta adjudicada
  • Sistema generando automáticamente delivery y eCMR tras la firma
  • Integración con flujos automatizados de gestión de transporte

Notas Importantes

  • Solo el transportista ganador puede firmar
  • La subasta debe estar en estado "awarded"
  • La firma es irreversible y genera registros permanentes
  • Los documentos generados estarán disponibles en los endpoints de delivery y ecmr

Diagrama del Flujo de Firma:

flowchart LR
A[Usuario firma subasta] --> B{¿Es ganador?}
B -->|No| C[Error: 403 Forbidden]
B -->|Sí| D{¿Estado awarded?}
D -->|No| E[Error: 400 Bad Request]
D -->|Sí| F[Guardar imagen de firma]
F --> G[Marcar: signed_by_trucker = true]
G --> H[Crear Delivery]
H --> I[Generar eCMR]
I --> J[Establecer relaciones]
J --> K[Retornar Auction actualizada]

style C fill:#FFB6C1
style E fill:#FFB6C1
style K fill:#90EE90

Ejemplo con cURL:

curl -X POST \
-H "Authorization: Bearer {token}" \
-F "signImage=@firma.png" \
https://api.demo.cargoffer.com/company/bid-auctions/TRANS-12345/sign

Ubicación de código: src/features/company/bid-auction/company.sign.js líneas 100-118

Request

Responses

Firma registrada exitosamente. La subasta pasa a estado 'completed' y se crea el delivery.

Response Headers