🎬 API: Obtener fotos, videos y documentos
Acceder a todas las fotos, videos y documentos que tus clientes envían en sus conversaciones, sin tener que buscarlos uno por uno.
✨ ¿Por qué te encantará esta funcionalidad?
Imagina poder acceder a todas las fotos, videos y documentos que tus clientes envían en sus conversaciones, sin tener que buscarlos uno por uno. Con el API de Archivos Media, puedes:
- Automatizar respaldos de toda la evidencia visual de tus tickets
- Alimentar análisis de contenido para detectar patrones en lo que envían tus clientes
- Cumplir normativas que requieren almacenar comunicaciones multimedia
Todo esto con tan solo unas llamadas a nuestra API. 💪
📈 Impacto en tu Negocio
Beneficios concretos para tu operación:
- Reducción de tiempo: Extrae archivos de cientos de tickets en segundos, no horas
- Cumplimiento normativo: Respalda automáticamente evidencia multimedia para auditorías
- Análisis de contenido: Alimenta sistemas de IA o análisis con las imágenes y documentos de tus clientes
- Integración fluida: Conecta PostCenter con tu CRM, data lake o sistema de respaldo
🤝 ¿Para qué puedo usarlo?
Casos de uso reales:
- Respaldo automático de evidencia
- Exporta todos los comprobantes de pago que envían tus clientes
- Guarda capturas de errores reportados por usuarios
- Análisis de contenido con IA
- Alimenta modelos de visión por computadora con las imágenes recibidas
- Detecta patrones en los documentos que envían tus clientes
- Auditoría y cumplimiento
- Conserva registro de todas las comunicaciones multimedia
- Exporta archivos por rango de fechas para reportes periódicos
- Integración con sistemas externos
- Sincroniza archivos con tu CRM o sistema de tickets externo
- Alimenta un data lake con contenido multimedia
🛠️ Guía Paso a Paso: Cómo usar el API
Paso 1: Obtén tu Token de Autenticación
Antes de hacer cualquier llamada, necesitas tu Token de Establishment.
- Ve a Administrador → Usuarios de API
- Copia tu Token de Acceso
- Úsalo en el header de cada petición:
Authorization: Bearer TU_TOKEN_AQUI📸 Token de API disponible en Administrador → Usuarios de API
Paso 2: Consulta archivos de un ticket específico
Endpoint: GET /v2/ticket/{ticket_id}/media/
¿Cuándo usarlo? Cuando ya tienes el ID de un ticket y quieres todos sus archivos.
Ejemplo de llamada:
GET /v2/ticket/507f1f77bcf86cd799439011/media/?direction=inbound
Authorization: Bearer abc123def456Parámetros disponibles:
Parámetro | ¿Obligatorio? | Opciones | ¿Qué hace? |
direction | No | inbound, outbound, all | Filtra por dirección: entrante (cliente), saliente (agente), o todos |
ticket_id | Sí | ID del ticket | Identifica el ticket a consultar |
Respuesta que recibirás:
{
"ticket_id": "507f1f77bcf86cd799439011",
"total_media_files": 3,
"media_files": [
{
"media_url": "https://storage.googleapis.com/.../imagen.jpg",
"type": "image",
"is_outbound": false
}
]
}Paso 3: Consulta archivos por rango de fechas
Endpoint: GET /v2/tickets/media/
¿Cuándo usarlo? Cuando quieres exportar archivos de múltiples tickets en un periodo de tiempo.
Ejemplo de llamada:
GET /v2/tickets/media/?from=2024-11-01T00:00:00Z&to=2024-11-30T23:59:59Z&page=1&page_size=50
Authorization: Key abc123def456Parámetros disponibles:
Parámetro | ¿Obligatorio? | Formato/Opciones | ¿Qué hace? |
to | Sí | ISO 8601 | Fecha final (máximo 30 días desde from) |
page | No | Número >= 1 | Página de resultados (default: 1) |
from | Sí | ISO 8601 (ej: 2024-01-01T00:00:00Z) | Fecha inicial del rango |
message_direction | No | inbound, outbound, all | Filtra por dirección del mensaje |
page_size | No | 1-100 | Cantidad de mensajes por página (default: 100) |
Respuesta que recibirás:
{
"status": 200,
"message": "Media files retrieved successfully",
"data": {
"start_date": "2024-11-01T00:00:00",
"end_date": "2024-11-30T23:59:59",
"total_media_files": 45,
"total_tickets": 12,
"tickets_media": [
{
"case_id": "507f1f77bcf86cd799439011",
"files": [
{
"media_url": "https://storage.googleapis.com/.../doc.pdf",
"type": "attachment",
"is_outbound": true
}
]
}
]
},
"pagination": {
"page": 1,
"page_size": 50,
"total_pages": 2,
"has_next": true,
"next_page": 2
}
}🛑 Zona de Peligro: Lee esto antes de usar el API
URLs que expiran en 7 días
Las URLs de archivos que devuelve el API son temporales. Tienes 7 días para descargar los archivos antes de que las URLs dejen de funcionar.
¿Qué hacer? Descarga y guarda los archivos en tu propio almacenamiento inmediatamente después de obtener las URLs.
Archivos que no se pueden recuperar
Algunos archivos pueden aparecer con media_url: null. Esto significa que el archivo ya no está disponible (fue eliminado de la plataforma, expiró, o hubo un error).
¿Qué hacer? Tu código debe manejar el caso null y mostrar un mensaje apropiado al usuario.
🔢 Límites y Restricciones
Límite | Valor | ¿Por qué? |
Máximo por página | 100 mensajes | Garantiza respuestas rápidas |
Tipos soportados | Imágenes, videos, documentos, ubicaciones | Cobertura de los tipos más comunes |
Rango máximo de fechas | 30 días | Evita consultas muy pesadas que afecten el rendimiento |
Validez de URLs | 7 días | Seguridad: las URLs son temporales por diseño |
🔧 Solución de Problemas
Error 400: "Invalid date format"
El problema: El formato de fecha no es correcto.
La solución:
- ✅ Formato correcto:
2024-12-05T10:30:00Z
- ✅ Con zona horaria:
2024-12-05T10:30:00-03:00
- ❌ Incorrecto:
2024-12-05 10:30:00(sin T ni timezone)
Error 400: "Date range cannot exceed 30 days"
El problema: Intentas consultar más de 30 días de una vez.
La solución: Divide tu consulta en múltiples llamadas de máximo 30 días cada una.
Error 404: "Ticket not found"
El problema: El ticket no existe o no pertenece a tu cuenta.
La solución:
- Verifica que el ID del ticket sea correcto
- Confirma que estás usando el token correcto (del mismo establishment)
Archivos con media_url: null
El problema: El archivo original ya no está disponible.
Las causas comunes:
- El archivo expiró en WhatsApp (archivos de WhatsApp expiran después de cierto tiempo)
- Error de red durante la recuperación
- Archivo eliminado del almacenamiento de origen
La solución: Estos archivos no pueden ser recuperados. Tu aplicación debe manejar este caso mostrando un mensaje como "Archivo no disponible".
📂 Glosario de Términos
Término | Significado | inbound | Mensajes entrantes (enviados por el cliente hacia el agente) |
outbound | Mensajes salientes (enviados por el agente hacia el cliente) | media_url | URL pública temporal donde puedes descargar el archivo |
case_id / ticket_id | Identificador único del ticket de conversación | attachment | Documento adjunto (PDF, Excel, Word, etc.) |
ISO 8601 | Formato estándar de fechas: 2024-12-05T10:30:00Z |
🧪 Pruébalo Ahora
En menos de 2 minutos puedes verificar que todo funciona:
Opción 1: Documentación Interactiva (Recomendado)
Visita nuestra documentación interactiva de Swagger donde puedes probar los endpoints directamente desde el navegador:
- Abre el enlace
- Busca los endpoints de Ticket Media
- Haz clic en "Try it out"
- Ingresa tu token y parámetros
- ¡Ejecuta y ve la respuesta en tiempo real!
📸 [Imagen: Captura de la interfaz de Swagger mostrando el endpoint de media]
Opción 2: Desde Terminal
Si prefieres usar la terminal o Postman:
curl -X GET "https://api.postcenter.app/v2/ticket/TU_TICKET_ID/media/" \
-H "Authorization: Key TU_TOKEN"Si recibes una respuesta JSON con media_files, ¡todo está funcionando! 🎉
¿Tienes dudas sobre cómo usar el API? Contáctanos en soporte@adereso.com, vía chat, al WhatsApp +56953851610 o al email soporte@adere.so.