Grabaciones Envio Almacenamiento Externo Adicionalmente al respaldo de grabaciones en el servidor en la nube, es posible enviarlas a un servidor de almacenamiento externo que el cliente puede ofrecer.  Las grabaciones podran ser enviadas en formato MP3 o WAV stereo con el audio de agente en el canal izquierdo y el audio del cliente en el canal derecho y con METADATA en el nombre del archivo para poder realizar un analisis mas detallado. FORMATO (instancia) & (fecha) & (hora) & (origen) & (destino) & (campaña) & (agente) & (tipificacion) & (calidad) & (duracion) & (guid) clever&20240131&141929&13612393100&3252126294&LOANS_IN<-&Epineda&Leads&Voicemail&&0&4&d9f25bd0-ab4b-4e01-9ef2-8e4e8361414e.mp3 La definición y orden de los campos es el siguiente delimitado por un amperson (&): Nombre de la instancia Fecha (YYYMMDD) Hora (HHMMSS) Origen Destino Campaña Usuario Disposición 1 Disposición 2 Disposición 3 Quality (opcional) Duracion Guid Envio de Almacenamiento Externo (WhatsApp) Adicionalmente al respaldo de conversaciones en el servidor en la nube, es posible enviarlas a un servidor de almacenamiento externo que el cliente puede ofrecer. Las conversaciones de WhatsApp podrán ser enviadas en formato JSON , con un archivo por conversación y con toda la METADATA contenida dentro del archivo para poder realizar un análisis más detallado. FORMATO Aspecto Definición Formato del archivo JSON (UTF-8) Unidad de envío Un archivo = una conversación completa Ruta de depósito /whatsapp/YYYYMMDD/ (subcarpeta diaria) Nombre del archivo (conversation_id).json Orden de los mensajes Cronológico ascendente Versión del esquema 1.0 Ejemplo de nombre de archivo: /whatsapp/20240416/0a1aec28-90c7-43af-afaf-91b58ded8baf.json ESTRUCTURA { "schema_version": "1.0", "source": "whatsapp_channel", "generated_at": "2024-04-16T14:00:00Z", "conversation": { "conversation_id": "0a1aec28-90c7-43af-afaf-91b58ded8baf", "client_id": "5215733215563", "agent_name": "Jmartinez", "agent_group": "Cobranza WhatsApp", "conversation_status": "closed", "disposition_1": "Contacto efectivo", "disposition_2": "Promesa de pago", "disposition_3": "", "disposition_4": "", "disposition_5": "", "messages": [ { "timestamp": "2024-04-16T09:12:00-05:00", "content": "Buenos días, quiero saber el saldo de mi cuenta", "message_category": "client", "message_type": "client_message", "agent_name": "", "extras": { "channel": "whatsapp", "attachments_available": false } }, { "timestamp": "2024-04-16T09:13:20-05:00", "content": "Buen día, con gusto le ayudo. Su saldo actual es de $1,250.00", "message_category": "agent", "message_type": "agent_message", "agent_name": "Jmartinez", "extras": { "channel": "whatsapp", "attachments_available": true } } ] } } DEFINICIÓN DE CAMPOS Nivel raíz schema_version — Versión del esquema de datos. Valor fijo: 1.0 source — Canal de origen de la conversación. Valor fijo: whatsapp_channel generated_at — Fecha y hora de generación del archivo en formato ISO 8601. Ejemplo: 2024-04-16T14:00:00Z conversation — Objeto que contiene la conversación completa. No es un arreglo: cada archivo corresponde a una sola conversación Objeto conversation conversation_id — Identificador único de la conversación de WhatsApp client_id — Número de teléfono del cliente agent_name — Nombre del agente que atendió la conversación (tomado del primer mensaje enviado por el agente) agent_group — Nombre de la cola o campaña a la que pertenece la conversación conversation_status — Estado o evento final registrado al cierre de la conversación disposition_1 — Tipificación de primer nivel asignada al cierre de la conversación (puede estar vacío) disposition_2 — Tipificación de segundo nivel (puede estar vacío) disposition_3 — Tipificación de tercer nivel (puede estar vacío) messages — Arreglo con todos los mensajes de la conversación, ordenados cronológicamente de forma ascendente Objeto messages[] timestamp — Fecha y hora del mensaje en formato ISO 8601 con zona horaria. Ejemplo: 2024-04-16T09:12:00-05:00 content — Cuerpo del mensaje de texto message_category — Categoría del emisor del mensaje: client si fue enviado por el cliente, agent si fue enviado por el agente message_type — Tipo de mensaje: client_message si fue enviado por el cliente, agent_message si fue enviado por el agente agent_name — Nombre del agente asociado al mensaje (puede estar vacío en mensajes del cliente) extras — Objeto con metadatos adicionales del mensaje Objeto messages[].extras channel — Canal de la conversación. Valor fijo: whatsapp attachments_available — Indica si el mensaje incluye archivos adjuntos (imágenes, documentos, etc.). Valor: true o false CONSIDERACIONES Adjuntos: el contenido de los archivos adjuntos no se incluye en el JSON. Únicamente se indica su existencia mediante la bandera attachments_available Tipificaciones: la tipificación se asigna al cierre de la conversación. Se envían hasta 3 niveles y los niveles no utilizados se envían como cadena vacía ( "" ) Transferencias: cuando una conversación es atendida por más de un agente, el campo agent_name del encabezado corresponde al primer agente que respondió; el agent_name de cada mensaje refleja al agente que lo envió Conversaciones cerradas: únicamente se envían conversaciones que ya cuentan con evento de cierre registrado