← Volver a RepartidoresController

📸 Fotos de Repartidores

Endpoints para la gestión de imágenes de identificación de repartidores

Descripción General

Los endpoints de Fotos de Repartidores proporcionan las operaciones para administrar las imágenes de identificación de los repartidores del sistema RestMaster. Estos endpoints manejan el almacenamiento y recuperación de fotografías en formato JPEG para identificación visual de los repartidores.

🎯 Características de la Gestión de Fotos

  • Formato JPEG: Imágenes almacenadas en formato JPEG estándar
  • Relación 1:1: Cada repartidor puede tener una única foto
  • Almacenamiento binario: Imágenes guardadas como byte[] en la base de datos
  • Descarga directa: Endpoint específico para descargar imágenes
  • Validación de archivos: Verificación de integridad de las imágenes

Endpoints Disponibles

GET /Master/Repartidores/GetRepartidorFoto/{id}

Obtiene la foto de un repartidor específico por su ID. Este endpoint devuelve la imagen de identificación del repartidor en formato JPEG.
Parámetros de ruta:
  • id (double, requerido): ID del repartidor
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Imagen JPEG devuelta exitosamente
Content-Type: image/jpeg [Binary image data]
404 Not Found
Foto del repartidor no encontrada
500 Internal Server Error
Error interno del servidor

POST /Master/Repartidores/AddRepartidorFoto

Crea una nueva foto para un repartidor en el sistema. Este endpoint permite agregar una imagen de identificación para un repartidor.
Body (JSON):
{ "repartidor": 1.0, "imagen": [base64_encoded_jpeg_data] }
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
201 Created
Foto del repartidor creada exitosamente
{ "repartidor": 1.0, "imagen": [base64_encoded_jpeg_data] }
500 Internal Server Error
Error interno del servidor

PUT /Master/Repartidores/UpdateRepartidorFoto/{id}

Actualiza la foto de un repartidor existente en el sistema. Este endpoint permite modificar la imagen de identificación de un repartidor.
Parámetros de ruta:
  • id (double, requerido): ID del repartidor
Body (JSON):
{ "repartidor": 1.0, "imagen": [new_base64_encoded_jpeg_data] }
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Foto del repartidor actualizada exitosamente
404 Not Found
Foto del repartidor no encontrada
500 Internal Server Error
Error interno del servidor

DELETE /Master/Repartidores/DeleteRepartidorFoto/{id}

Elimina la foto de un repartidor del sistema. Este endpoint permite remover la imagen de identificación de un repartidor.
Parámetros de ruta:
  • id (double, requerido): ID del repartidor
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Foto del repartidor eliminada exitosamente
{ "repartidor": 1.0, "imagen": [base64_encoded_jpeg_data] }
404 Not Found
Foto del repartidor no encontrada
500 Internal Server Error
Error interno del servidor

Modelo de Datos - RepartidorFoto

Propiedades del modelo RepartidorFoto:
  • Repartidor (double): ID del repartidor (clave primaria)
  • Imagen (byte[]): Datos de la imagen en formato JPEG

🔑 Características del Modelo

  • Clave primaria: El campo Repartidor es la clave primaria única
  • Relación 1:1: Cada repartidor puede tener una única foto
  • Almacenamiento binario: Imágenes guardadas como array de bytes
  • Formato JPEG: Las imágenes deben estar en formato JPEG
  • Integración: Se relaciona directamente con el modelo Repartidore

Servicio Utilizado

IRepartidoresFotoService - Servicio para la gestión de fotos de repartidores
  • GetRepartidorFoto(): Obtiene la foto de un repartidor por ID
  • AddRepartidorFoto(): Crea una nueva foto para un repartidor
  • UpdateRepartidorFoto(): Actualiza la foto de un repartidor existente
  • DeleteRepartidorFoto(): Elimina la foto de un repartidor

Casos de Uso Comunes

🎯 Escenarios de Aplicación

  • Identificación visual: Mostrar fotos de repartidores en la aplicación
  • Verificación de identidad: Confirmar la identidad del repartidor
  • Gestión de personal: Mantener fotos actualizadas del equipo
  • Reportes de entrega: Incluir fotos en reportes de servicio
  • Seguridad: Verificar que el repartidor correcto realiza la entrega

⚠️ Consideraciones de Seguridad

  • Las fotos de repartidores son datos personales sensibles
  • Se recomienda implementar control de acceso a las imágenes
  • Validar el formato y tamaño de las imágenes subidas
  • Considerar la privacidad y consentimiento para el uso de fotos
  • Implementar auditoría de cambios en las fotos
  • Verificar que el usuario tenga permisos para gestionar fotos

📝 Consideraciones Técnicas

  • Tamaño de archivo: Considerar límites de tamaño para las imágenes
  • Formato de imagen: Asegurar que las imágenes sean JPEG válidas
  • Rendimiento: Optimizar el almacenamiento y recuperación de imágenes
  • Compresión: Considerar compresión de imágenes para ahorrar espacio
  • Cache: Implementar cache para imágenes frecuentemente accedidas