Saltar a contenido

Estándar de fotos y evidencias

Documento operativo — 2026-06-07

Define qué fotos son obligatorias, en qué momento, con qué calidad, quién puede verlas y cuánto tiempo se guardan. Cubre todos los puntos del ciclo de vida de un paquete y los servicios adicionales.

Audiencia: operadores de almacén, KYC, servicios, devoluciones. También devs backend (formato de almacenamiento) y frontend (visualización).


1. Especificaciones técnicas

Campo Valor
Resolución mínima 1920 × 1080 px (Full HD)
Resolución recomendada 3024 × 4032 px (4:3, cámaras móviles modernas)
Tamaño máximo por archivo Según el bucket y tipo MIME del contrato de archivos
Formatos aceptados Según el bucket y tipo MIME del contrato de archivos
Compresión al subir JPEG quality 85% si el original es mayor a 2 MB
Almacenamiento MinIO en el bucket definido por tipo de evidencia en el contrato de archivos
URLs de acceso Prefirmadas, expiración 5 minutos
Quién puede verlas Definido por resource_type + rol (ver §5)
Retención Según el contrato de archivos

2. Cuándo tomar fotos — checklist

2.1 Recepción de paquete (en_almacen)

# Momento Obligatoriedad Contenido
F-1 Recepción Etiqueta del casillero o shipping label completa, legible
F-2 Recepción Paquete completo, vista frontal, ~1 m de distancia
F-3 Recepción ⚠️ (si daño visible) Foto del daño, close-up, con regla si es posible
F-4 Recepción ⚠️ (si está abierto) Contenido visible

2.2 KYC del usuario

# Momento Obligatoriedad Contenido
KYC-1 Carga de documento Foto del frente del documento, encuadrado, sin reflejos
KYC-2 Carga de documento ⚠️ (si tiene reverso) Foto del reverso del documento
KYC-3 Selfie Rostro del usuario + documento abierto en la misma imagen
KYC-4 Selfie ⚠️ (si rechazo por ilegible) Selfie adicional con mejor iluminación

2.3 Inspección visual (servicio)

# Momento Obligatoriedad Contenido
I-1 Inicio Producto dentro de su empaque original, vista frontal
I-2 Inicio Producto extraído, vista frontal, sobre superficie blanca
I-3 Inicio Vista lateral izquierda
I-4 Inicio Vista lateral derecha
I-5 Inicio Vista superior, accesorios visibles
I-6 Si daño Foto close-up del daño
I-7 Si accesorios ⚠️ Cables, manuales, caja original

2.4 Reempaque

# Momento Obligatoriedad Contenido
R-1 Antes Paquete original (mismo ángulo que F-2)
R-2 Antes ⚠️ (si daño) Foto del daño
R-3 Después Paquete reempacado, vista completa, etiqueta nueva visible
R-4 Después ⚠️ (si packing list visible) Packing list legible

2.5 Consolidación

# Momento Obligatoriedad Contenido
C-1 Antes de cerrar Todos los paquetes juntos, vista cenital (desde arriba)
C-2 Antes de cerrar Cada paquete individual visible con su tracking
C-3 Caja cerrada Caja final con etiqueta de consolidación

2.6 Despacho

# Momento Obligatoriedad Contenido
D-1 Despacho Caja con etiqueta de envío + master_guide visible
D-2 Despacho ⚠️ (si la agencia lo requiere) Bulto sobre la báscula con peso visible
D-3 Despacho ⚠️ (si la agencia lo requiere) Foto del personal de la agencia recibiendo

2.7 Incidencia

# Momento Obligatoriedad Contenido
INC-1 Apertura (usuario) ✅ (mín. 1) Evidencia del problema reportado
INC-2 Apertura (operador) Estado actual del paquete o servicio
INC-3 Resolución Foto del estado final resuelto

2.8 Devolución

# Momento Obligatoriedad Contenido
DV-1 Inicio Paquete con etiqueta de retorno
DV-2 Despacho al vendedor Comprobante del transportista

3. Reglas de toma

Regla Detalle
Iluminación Luz natural o blanca, sin flash directo (evita reflejos en documentos)
Encuadre Centrado, con margen de ~10% alrededor del objeto
Enfoque Texto legible, sin motion blur
Fondo Superficie blanca, gris o de color uniforme (no carpetas con patrones)
Identificabilidad Si la foto es de un documento, toda la información debe ser legible (sin dedos cubriendo datos)
Privacidad Las fotos de KYC se almacenan encriptadas en reposo; las URLs de acceso expiran en 5 min (RN-103)
Audio/video Solo se permite evidencia en video para inspección de productos funcionales; máx 30 segundos, 50 MB

4. Almacenamiento y nombres de archivo

Convención de nombres

{resource_type}/{resource_id}/{evidence_type}/{YYYY-MM-DD}_{HHmmss}_{short_uuid}.{ext}

Ejemplos:

physical_packages/888/reception/2026-06-05_103045_a1b2c3.jpg
kyc_records/77/document_front/2026-06-07_170012_e4f5g6.jpg
service_requests/55/inspection/2026-06-08_091530_h7i8j9.jpg
incidents/42/evidence/2026-06-09_143022_k0l1m2.jpg

Metadatos guardados

Cada foto guarda en file_attachments:

Campo Valor
original_filename El nombre que tenía al subir
mime_type image/jpeg, image/png, etc.
size_bytes Tamaño en bytes
width_px, height_px Resolución
uploaded_by_user_id Quién subió
uploaded_at Timestamp
hash_sha256 Hash para detectar duplicados
gps_lat, gps_lng Si la cámara del operador tenía GPS activo
device_info Modelo del dispositivo

5. Permisos de visualización (RN-102, RN-103)

Recurso user (dueño) user (ajeno) operator admin sysadmin
Foto de recepción de su paquete ✅ (enmascaradas parcialmente para datos sensibles)
Foto de recepción de otro paquete ⚠️ (datos personales enmascarados)
Foto de KYC propia ❌ (solo ve estado, no fotos)
Foto de KYC ajena ⚠️ (previsualización con datos enmascarados, requiere motivo)
Foto de inspección de su servicio
Foto de cualquier incidencia (solo si la abrió) ✅ (si está asignado)
Foto de despacho (solo después de creada)

Toda visualización de KYC ajeno o de paquete ajeno queda auditada con actor_id, subject_id, ip, timestamp, motivo (RN-102).


6. Retención y eliminación

La retención, tipo de eliminación y los buckets se mantienen exclusivamente en el contrato de archivos. Operaciones debe clasificar cada evidencia con el tipo correcto y no aplicar plazos locales distintos.


7. Validación al subir

El backend debe validar antes de aceptar el archivo:

  1. Tipo MIME dentro de la whitelist (image/jpeg, image/png, image/heic, application/pdf).
  2. Tamaño ≤ 10 MB.
  3. Resolución ≥ 1920×1080 (las menores se rechazan con EVIDENCE_RESOLUTION_TOO_LOW).
  4. Hash SHA-256 no esté ya registrado para el mismo resource_id (deduplicación).
  5. EXIF stripped para fotos de KYC (eliminar GPS, fecha/hora, modelo del dispositivo) por privacidad.

8. Trazabilidad

Elemento Referencia
Modelo de datos file_attachments en modelo-datos
Reglas de negocio RN-103, RN-115 en reglas-negocio
Endpoints POST /api/v1/files en api-contract
Operaciones manual-almacen
Auditoría RN-100, RN-101, RN-102
Almacenamiento físico almacenamiento-archivos