207

Multi-Status

El informe trimestral de HTTP que te cuenta cómo fue cada operación. WebDAV y múltiples resultados en uno.

📊 Success

📋 ¿Qué narices es esto?

El código 207 Multi-Status es el "hice 10 cosas y te cuento cómo fue cada una" de HTTP. Es cuando le mandas al servidor una lista de operaciones (borrar esto, mover aquello, crear esto otro) y él te responde con un informe detallado de qué pasó con cada una. Como cuando le pides a tu asistente que haga 5 tareas y te trae un Excel con el resultado de cada una.

Este código es prácticamente exclusivo de WebDAV (Web-based Distributed Authoring and Versioning), que es como HTTP pero con esteroides para manejar archivos remotos. No es que algo saliera mal, es que pediste múltiples cosas y cada una tuvo su propio resultado. Algunas funcionaron (200), otras no existían (404), otras no tenías permisos (403).

El 207 se ve típicamente en:

  • Operaciones WebDAV masivas (mover múltiples archivos)
  • SharePoint y sistemas de documentos enterprise
  • APIs de gestión de archivos en lote
  • Sincronización de carpetas (Dropbox, Google Drive internals)
  • Operaciones PROPFIND en directorios complejos

🎯 Dato curioso

El 207 es como el manager de HTTP: no hace el trabajo directamente, pero te dice qué pasó con cada tarea que delegó. Su respuesta es un XML gigante con el status de cada operación individual. Es reporting puro.

Lo interesante del 207 es que es simultáneamente exitoso Y fallido. El código general es 2xx (éxito), pero dentro puede tener operaciones que fallaron. Es como un proyecto que se entregó a tiempo pero con algunas funcionalidades que no pudieron completarse.

🔧 Cómo implementar esto

🖥️ Para servidores WebDAV

  1. Recibe operación múltiple: PROPFIND, PROPPATCH, o bulk operations.
  2. Procesa cada elemento: Cada archivo/recurso individualmente.
  3. Recopila resultados: Status code para cada operación.
  4. Responde 207: Con XML detallando cada resultado.
  5. Incluye namespaces: XML bien formado con DAV: namespace.

📱 Para clientes WebDAV

  1. Envía operación múltiple: Batch de operaciones en XML.
  2. Maneja respuesta 207: No es error, es reporte detallado.
  3. Parsea XML respuesta: Cada elemento tiene su status.
  4. Procesa resultados individualmente: Algunos éxito, otros fallos.
  5. Actualiza UI por elemento: Mostrar qué funcionó y qué no.

Problemas típicos con 207

  • Operaciones fallidas:
    Algunos archivos en la operación pueden fallar
    El código general es 2xx, pero el XML puede contener errores como 404 o 403.
  • Falta de claridad en el reporte:
    El XML puede volverse difícil de leer si hay demasiadas operaciones
    La falta de claridad puede complicar la gestión de errores.

🚀 Respuesta rápida para emergencias

🔥 Si estás implementando 207:
1. Asegúrate de que las operaciones fallidas estén bien documentadas
2. No omitas detalles del status en la respuesta
3. Asegúrate de que los errores estén claros para el usuario
🎯 Truco ninja:
Si es posible, muestra los resultados individuales en la interfaz de usuario para mayor claridad.