# Menu

Para ayudar en la ayuda de navegación.

## Sesión Inicial - SMS

{% hint style="info" %}

* ​[Introducción a la mensajería](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms)​
* ​[Pantalla de inicio de la plataforma](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/tela-inicial-da-plataforma) ​
* ​[Mi perfil | Idioma](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/meu-perfil-or-idioma) ​
* ​[Cómo construir su base de clientes para el envío](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/envio-com-arquivo) ​
* ​[Campañas](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/campanhas)
* ​[Acentos y caracteres especiales](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/acentos-e-caracteres-especiais)​
* ​[Envio rápido de SMS](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/envio-rapido-de-sms) ​
* ​[Plantilla SMS](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/template-sms) ​
* ​[Contactos](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/contatos)​
* ​[Grupos](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/grupos)​
* ​[Cómo enviar un mensaje](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/como-enviar-uma-mensagem) ​
* ​[Envío y cancelación de mensajes.](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/envio-e-cancelamento-de-mensagens) ​
* ​[rastrear el envío](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/mensagens) ​
* ​[Informe consolidado](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/relatorio-consolidado) ​
* ​[Reporte detallado](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/relatorio-detalhado) ​
* ​[Configuración del límite de caracteres](https://docs-pt.sinch.com/enviar-uma-mensagem/introducao-ao-messaging-sms/configuracao-de-limite-de-caracteres)​
  {% endhint %}

## PERO LOS SMS

{% hint style="info" %}

* ​[SMS BOT](https://docs.wavy.global/permissoes/subcontas-e-usuarios)​
  {% endhint %}

## Permisos

{% hint style="info" %}

* ​[Subcuentas y Usuarios](https://docs-pt.sinch.com/permissoes/subcontas-e-usuarios)
* ​N[iveles de permiso](https://docs-pt.sinch.com/permissoes/subcontas-e-usuarios/niveis-de-permissao) ​
* ​[Verificación de dos pasos](https://docs-pt.sinch.com/permissoes/verificacao-em-duas-etapas) ​
* ​[Restricción de IP](https://docs-pt.sinch.com/permissoes/restricao-de-ips)​
* ​U[suarios del sistema](https://docs-pt.sinch.com/permissoes/usuarios-do-sistema)
  {% endhint %}

## Sesión Inicial - WhatsApp

{% hint style="info" %}

* ​[Introducción a la mensajería - WhatsApp](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp) ​
* ​[Pantalla de inicio de la plataforma](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/tela-inicial-da-plataforma) ​
* ​[Mi perfil | Idioma](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/meu-perfil-or-idioma) ​
* ​[edición de cuenta](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/sua-conta-whatsapp)​
* ​[Información importante para el primer envío](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/informacoes-importantes-para-o-primeiro-envio)​
* ​[Plantilla WA - ¿Qué es?](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/template) ​
* ​[Registro de plantillas](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/cadastro-de-template) ​
* ​[Eliminación de una plantilla WA](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/excluindo-um-template-wa) ​
* ​[Template pronto?](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/template-pronto) ​
* ​[Cómo construir su base de clientes para el envío](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/envio-com-arquivo)​
* ​[Realización de un envío de WhatsApp](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/realizando-um-envio-whatsapp) ​
* ​[Vincular tu toma a una campaña](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/vinculando-seu-disparo-a-uma-campanha) ​
* ​[programar un envío](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/agendando-um-envio) ​
* ​[Presentación y resumen](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/envio-e-resumo) ​
* ​[Mensajes enviados](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/mensagens-enviadas)​
* ​[Introducción a los informes](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/visualizar-relatorios) ​
* ​[Informe consolidado](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/relatorio-consolidado) ​
* ​[Reporte detallado](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/relatorio-detalhado) ​
* ​[Informe de exclusión voluntaria](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/relatorio-de-opt-out) ​
* ​[Informes de conversación consolidados](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/relatorios-de-conversas-consolidado) ​
* ​[Informes de conversación detallados](https://docs-pt.sinch.com/whatsapp/introducao-ao-messaging-whatsapp/relatorios-de-conversas-consolidado)
  {% endhint %}

## Contacto PRO - Agentes

{% hint style="info" %}

* ​[Cómo acceder a la plataforma](https://docs-pt.sinch.com/contactproagentes/inbox/como-acessar-a-plataforma-1) ​
* ​[pantalla de configuración](https://docs-pt.sinch.com/contactproagentes/inbox/tela-de-configuracoes)
* ​[Estado | Perfil de presencia](https://docs-pt.sinch.com/contactproagentes/inbox/perfil-de-presenca) ​
* ​[pantalla de asistencia](https://docs-pt.sinch.com/contactproagentes/inbox/tela-de-atendimentos)
* ​[Cómo hacer una llamada](https://docs-pt.sinch.com/contactproagentes/inbox/como-fazer-um-atendimento)
* ​[Historial de servicio](https://docs-pt.sinch.com/contactproagentes/inbox/historico-de-atendimentos)
  {% endhint %}

## Contact PRO - Supervisores

{% hint style="info" %}

* ​[¿Qué es el Panel de control del supervisor?](https://docs-pt.sinch.com/contactprosupervisores/todas-as-integracoes) ​
* ​[Acceso a la plataforma | configuraciones personales](https://docs-pt.sinch.com/contactprosupervisores/todas-as-integracoes/acessando-a-plataforma-or-configuracoes-pessoais)​
* ​[Tableros](https://docs-pt.sinch.com/contactprosupervisores/todas-as-integracoes/dashboards) ​
* ​[Descripciones de paneles](https://docs-pt.sinch.com/contactprosupervisores/todas-as-integracoes/descricoes-de-dashboards) ​
* ​[Agentes](https://docs-pt.sinch.com/contactprosupervisores/todas-as-integracoes/agentes)
  {% endhint %}

## Documentación Técnica - API's e Integraciones

{% hint style="info" %}

* ​[TTL - Tiempo de vida](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/ttl-time-to-live)
* ​[Campañas de API](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/campanhas-api)​
* ​[Enviar WhatsApp a través de FTP](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/envio-whatsapp-via-ftp)​
* ​[Listas WhatsApp via API](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/listas-whatsapp-via-api)​
* ​[Grupos de WhatsApp API](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/grupos-de-whatsapp-api)​
* ​[API de WhatsApp](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/whatsapp-api)​
* ​[API de respaldo](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/fallback-api)​
* ​[**API de correo electrónico**](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/e-mail-api)​
* ​[S](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/sms-api)​[**METROS API**](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/sms-api)​
* ​[**Atlas de API**](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/atlas-api)​
* ​[**Introducción - Tipos de Integración**](https://docs.wavy.global/documentacao-tecnica/todas-as-integracoes/introducao)​​
  {% endhint %}


# Introducción

Obtenga respuestas a todas sus preguntas sobre el uso de nuestras plataformas.

​[Documentación técnica en inglés (English Technical Documentation)](https://doc-messaging.wavy.global/)​![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJJJREFUWEftVkEKwCAMaz+2D7nnzA/tYxnKdGdDMTAqghdLYxKjbuLh4v6WAJKBl4ELrBlhJ1vaDOgTQK2HlXLb6hoGoB1jtXmrAQrPgPsfGJB7IEoC2gNyBqIA0AxESbB6Bcf+0BxgLnQIAAB0FDOgR03LoR7F6HP/mG+BHkBKIPdASqCWYH8CfB3zW54MyBl4ALSE7SFSFjzcAAAAAElFTkSuQmCC)

​[Documentación técnica sobre integraciones](https://doc-messaging.wavy.global/)

Obtenga respuestas a todas sus preguntas sobre opciones de integración, términos, flujos, envíos, estado, respuestas, acentos y más detalles

​[Estado en tiempo real de los servicios que brindamos](https://status.wavy.global/)&#x20;


# Mejores prácticas y consejos de seguridad – Security LATAM

Nuestra principal misión es garantizar la **Confidencialidad, Integridad, Disponibilidad y Privacidad de los Datos** en nuestras herramientas, por lo que recomendamos tener en cuenta algunos puntos de atención durante el uso de nuestras herramientas:&#x20;

* **Acceso a herramientas**: Utilice siempre redes de confianza cuando inicie sesión en sus cuentas. Asegúrese de no utilizar redes vulnerables en lugares públicos donde existan vulnerabilidades para personas malintencionadas.&#x20;
* **Credenciales de acceso:** Sus credenciales se recibirán como se describe en esta documentación. Al definirlos, tenga en cuenta la cantidad de caracteres numéricos, mayúsculas y especiales. No utilice credenciales repetidas o fáciles de adivinar como **cumpleaños, números secuenciales o información presente en sus redes.**&#x20;
* **MFA**: siempre que sea posible, habilite la autenticación de segundo factor (2FA) en sus cuentas para que sea más difícil que los malos tomen medidas.&#x20;
* **Anomalías:** Verifique periódicamente el uso de su cuenta en nuestras plataformas y notifique a nuestro equipo responsable cualquier anomalía identificada, como accesos no reconocidos o viajes no programados.&#x20;
* **Bóveda de contraseñas:** se recomienda que utilice un dispositivo de almacenamiento de contraseñas para evitar el uso de contraseñas fáciles y asegurarse de no reutilizar ninguna de sus contraseñas anteriores.&#x20;
* En caso de duda, comuníquese con: **<security-latam@sinch.com>**.


# Onboarding

Todo lo que necesitas saber para la activación de tu cuenta.


# Business Manager

### ¿Qué es un administrador de empresas?&#x20;

Business Manager es el administrador comercial de Meta, su empresa necesita tener una cuenta creada para poder conectar un número API de Whatsapp Business.&#x20;

Enlace: [Gerenciador de negócios](https://business.facebook.com/settings) &#x20;

Este es el requisito principal para poder conectar una cuenta API de Whatsapp Business.&#x20;

### ¿Cómo crear y verificar tu Business Manager?&#x20;

El primer paso es averiguar si su empresa ya cuenta con un gestor comercial, para acceder haga clic en este enlace: [Gerenciador de negócios](https://business.facebook.com/settings) , Ingrese sus credenciales de destino (corporativas), seleccione qué administrador comercial utilizará.&#x20;

<figure><img src="/files/NamVUFflnQ4XTHaQQJqt" alt=""><figcaption></figcaption></figure>

Si se le dirige a una página como esta, significa que no tiene un administrador comercial activo, en cuyo caso debe crear uno. Haga clic en Crear cuenta y complete el nombre de su empresa, su nombre y su dirección de correo electrónico comercial:

<figure><img src="/files/q0wpkwHN3oTV5H2sSPGD" alt=""><figcaption></figcaption></figure>

### ¿Cómo compruebo mi Business Manager? &#x20;

Después de crear la Cuenta, deberá verificar su empresa para que no tenga acciones limitadas con la herramienta, para ello haga clic en el centro de seguridad de la herramienta: Centro de Seguridad.&#x20;

{% hint style="danger" %}
Información necesaria para verificar tu negocio:&#x20;

* Comprobante de registro comercial: Puede presentar un memorando de asociación, una licencia comercial, un registro en el CNPJ, etc. &#x20;
* Comprobante de domicilio y número de teléfono comercial: se puede enviar una factura de servicios públicos, una factura de teléfono, un extracto bancario, estatutos, etc. &#x20;
* Tu relación con la empresa: Debes presentar un documento que demuestre que eres representante oficial de la marca. &#x20;

Importante: Una vez que hayas completado la verificación de tu empresa, no podrás cambiar el nombre, la dirección, el número de teléfono de la empresa, el sitio web ni el número de identificación fiscal de tu empresa con Facebook.&#x20;
{% endhint %}

<figure><img src="/files/KtmwCACgBR3N60DMv4Q8" alt=""><figcaption></figcaption></figure>

### ¿Cómo seguir el proceso de verificación? &#x20;

Una vez que haya enviado la información requerida, solo tiene que esperar a que se verifique. Este proceso puede tardar hasta 15 días en completarse, y ocurre solo entre usted y Facebook, Sinch no tiene acciones en esta etapa. &#x20;

Una vez que su cuenta haya sido verificada, recibirá una notificación en Facebook que indica que el proceso se ha completado. &#x20;

Si no recibes ninguna alerta, puedes hacer clic aquí y ser redirigido a la página correcta:&#x20;

&#x20;[Información da la empresa.](https://business.facebook.com/settings/info?) &#x20;

<figure><img src="/files/E7qqf4kGrhjsWvO2tgPG" alt=""><figcaption></figcaption></figure>

### ¿Por qué debo verificar mi negocio? &#x20;

&#x20;A continuación se muestran las diferencias en la funcionalidad entre una empresa verificada y una empresa no verificada:

| Empresa no verificada                                            | Empresa verificada                                                                                   |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| La cuenta está limitada a enviar solo 250 mensajes diarios.      | Hemos podido llegar hasta el nivel ilimitado de WhatsApp, donde no tienes un límite de envío diario. |
| No es posible solicitar Greencheck para la cuenta.               | Podemos pedirle a Facebook Greencheck. (Recuerde que la aprobación depende del objetivo)             |
| Solo puedes agregar 2 números de teléfono a tu Business Manager. | Podemos agregar hasta 25 números de teléfono a su Business Manager.                                  |


# Apertura de un ticket

{% hint style="info" %}
Información clave:

1\. Es necesario contar con un Gerente de Negocios de la Empresa (Business Manager); &#x20;

2.El número a conectar no se puede vincular a una cuenta activa de WhatsApp y debe poder recibir el código de verificación vía SMS o Llamada (si la cuenta está conectada a otro BSP, notificar para que se pueda realizar un proceso de migración); &#x20;

3.Se requiere acceso de administrador al Administrador de Negocios de la empresa; &#x20;

4.En el momento de la activación, es necesario contar con la información que aparecerá en la cuenta, como: nombre y descripción de la cuenta de Whatsapp; &#x20;

5.En el momento de la activación, ten acceso a la cuenta de la plataforma Sinch para realizar la activación (tendrás acceso durante el proceso de activación). &#x20;

6.Es importante informar si necesitará apoyo para la integración. &#x20;
{% endhint %}

### ¿Listo para empezar?&#x20;

Para la primera activación, el ticket se abre automáticamente después de firmar el contrato, así que tenga la seguridad de que nos pondremos en contacto con usted para comenzar.&#x20;

Para otras activaciones, es necesario abrir un ticket en nuestra plataforma de Atención al Cliente:&#x20;

[LATAM / ](https://tickets.sinch.com/plugins/servlet/desk/portal/3?requestGroup=103) [GLOBAL Applications | Help Center (sinch.com)](https://tickets.sinch.com/plugins/servlet/desk/portal/3?requestGroup=103).&#x20;

1\. Cuando inicie sesión en el servicio de atención al cliente, regístrese; &#x20;

2\. Después de registrarse, seleccione Incorporación; &#x20;

3\. A continuación, haga clic en "[I Want to connect with Sinch](https://tickets.sinch.com/plugins/servlet/desk/portal/3?requestGroup=149)" &#x20;

4\. Rellene el formulario; &#x20;

5\. Haga clic en crear; &#x20;

6\. Siga el ticket en la plataforma o por correo electrónico para estar informado de los próximos pasos.&#x20;

<figure><img src="/files/YO0jHtPoOZ9S7Ysp8Raf" alt=""><figcaption></figcaption></figure>


# Proceso de activación de WhatsApp Business

Para iniciar el proceso de Aprovisionamiento de tu cuenta de Whatsapp, es muy importante que participes durante el proceso. &#x20;

Compartimos la información clave:&#x20;

1. Debe tener acceso de administrador al administrador comercial de su empresa; &#x20;
2. El número que se utilizará para conectarse no puede tener una cuenta de Whatsapp activa; 3.&#x20;

### Inicio de la activación&#x20;

La primera activación la haremos juntos a través del vídeo:&#x20;

{% embed url="<https://youtu.be/R07tqfUbGNo>" %}

¡Este paso rápido te llevará&#x20;

Es importante recordar que debe ser administrador del BM de su empresa y tener el número listo para recibir el PIN. &#x20;

¡Cuenta con nosotros y vamos! &#x20;

### Acceso a la mensajería&#x20;

[Ir a Mensajería](https://messaging.wavy.global/) con las credenciales que el equipo de Onboarding reenvió. &#x20;

En la página de inicio, haga clic en "Activar mi número" en la esquina superior izquierda:&#x20;

<figure><img src="/files/rbcsHcQXWojoBnIX83sx" alt=""><figcaption></figcaption></figure>

Clic en iniciar sessión usando Facebook:

<figure><img src="/files/tfPIhoTVba3dJndmpCRs" alt=""><figcaption></figcaption></figure>

Haga clic en "Whatsapp login":

<figure><img src="/files/1UBj7FYyNCSsN2bRMQUV" alt=""><figcaption></figcaption></figure>

En la ventana emergente de Meta, el cliente debe iniciar sesión con las credenciales de administrador de Business Manager. Si ya han iniciado sesión, la página solo les preguntará si confirman continuar con esta cuenta.

<figure><img src="/files/EjT3BfDhayGMWAwESEBi" alt=""><figcaption></figcaption></figure>

Lee la información sobre los permisos que Sinch tendrá como tu BSP y haz clic en empezar:

<figure><img src="/files/QYODbf0szIc63o4C1L8T" alt=""><figcaption></figcaption></figure>

Seleccione la cuenta en la que desea activar el número:

<figure><img src="/files/Uv5nOFDt5OQxhDDhXk6V" alt=""><figcaption></figcaption></figure>

Seleccione si desea incluir el número en un Waba existente o crear uno nuevo. A continuación, haga clic en siguiente:

<figure><img src="/files/kSy1X3zULVVHGSbqOw1H" alt=""><figcaption></figcaption></figure>

Ingrese el nombre del Waba en el que desea insertar el número (si elige el waba existente en la ventana anterior, seleccione el waba deseado), ingrese el nombre para mostrar de la cuenta (nombre para mostrar que estará disponible para el cliente), incluya la categoría, ingrese una breve descripción si lo desea y haga clic en siguiente.

<figure><img src="/files/n0YolfdqLzoKeh0B1cHH" alt=""><figcaption></figcaption></figure>

Seleccione el DDI del país, ingrese el número que se conectará con el DDD y, finalmente, informe si desea recibir el pin a través de SMS o llamada telefónica. A continuación, haga clic en siguiente.

<figure><img src="/files/BVF7qzq9rgBG9UfIYVj5" alt=""><figcaption></figcaption></figure>

Ingrese el token recibido y haga clic en siguiente:

<figure><img src="/files/Xfbq3ECxGULDBXUDKpQs" alt=""><figcaption></figcaption></figure>

La cuenta se ha configurado correctamente. El display name está en revisión, haga clic en finalizar.

<figure><img src="/files/Fr8FYoWZd8cbHFxBaIxc" alt=""><figcaption></figcaption></figure>

Seleccione el número que configuró y haga clic en confirmar.

<figure><img src="/files/15b6CFbFSeqD2QFYOuSz" alt=""><figcaption></figcaption></figure>

Lea las instrucciones sobre cómo analizar el display name y haga clic en Aceptar.

<figure><img src="/files/LFFF8IGwlDAo6gPmYs5x" alt=""><figcaption></figcaption></figure>

Esperando la aprobación del nombre de la cuenta&#x20;

Después de finalizar el proceso de activación, el cliente puede verificar si el display name fue aprobado en la opción "Cuenta" en el menú de la izquierda. **Importante: puede tardar hasta 48h** &#x20;

&#x20;

<figure><img src="/files/23aWmxdqksJ0mWYVYZIq" alt=""><figcaption></figcaption></figure>

Tan pronto como finalices el proceso Embedded, informa a nuestro Equipo que has finalizado el proceso, a través del ticket de Onboarding.&#x20;

Haremos un seguimiento del análisis del Display name para ayudarlo si es necesario.


# Green Check​

Las cuentas comerciales oficiales tienen el ícono verde de WhatsApp junto a su nombre en el perfil.​

Además, se muestra el nombre de una cuenta comercial oficial incluso si el número no se guarda como contacto en WhatsApp.​

Meta evalúa cada solicitud de cuenta oficial y no garantiza que la empresa la reciba. La evaluación de si su empresa recibe una insignia verde depende de varios factores.​

Para solicitar o Green Check de sua conta, é importante que alguns passos já tenham sido realizados: ​

* Verificación de la empresa completada. ​
* La cuenta de Whatsapp ya está conectada a través de Embedded ​
* Nombre para mostrar del perfil aprobado. ​
* Verificación en dos pasos habilitada.&#x20;

### Solicitud del Green check:

1. Ve a WhatsApp Manager en tu Business Manager. En la sección Información general, haga clic en el número de teléfono para el que desea solicitar un OBA.​

<figure><img src="/files/eM5d7ub6mRWEKaLEZHqU" alt=""><figcaption></figcaption></figure>

&#x20;2\. Habilite la verificación en dos pasos para ese número de teléfono para solicitar OBA. ​\
(Si necesita ayuda, siga las instrucciones de la documentación[Confirmação em duas etapas](https://developers.facebook.com/docs/whatsapp/api/settings/two-factor))​

<figure><img src="/files/44b8WEoCbvupXnWfxYti" alt=""><figcaption></figcaption></figure>

3. Haga clic en el botón "Enviar solicitud" y complete la información requerida.​

### Green Check

4. Incluye el enlace al sitio web y en el elemento Motivo de la solicitud incluye toda la información que consideres importante para ayudar en el proceso con el equipo de soporte de Meta.​

* Es posible enviar hasta 5 enlaces de soporte para demostrar la existencia de la empresa.​
* Sugerimos incluir siempre un enlace de empresa en wikipedia en caso de que tengas.​

​

<figure><img src="/files/RfokoHLxDvOZEimLuC9B" alt=""><figcaption></figcaption></figure>

Cuando Meta complete la revisión de tu solicitud, recibirás una notificación en la que se te informará si tu cuenta ha sido aprobada o no para Green Check. ​ Si la solicitud es rechazada, puede enviar una nueva solicitud después de 30 días.​


# Migración de números

### ¿Qué es la migración entre BSP? &#x20;

Los BSP (proveedores de soluciones empresariales) y las empresas integradas directamente con la plataforma de WhatsApp Business pueden migrar un número de teléfono registrado de una cuenta de WhatsApp Business (WABA) a otra en cualquier momento. &#x20;

La migración telefónica significa que una empresa puede mantener el mismo número de teléfono si: &#x20;

1. Está utilizando la plataforma con un BSP y desea cambiar a otro proveedor.&#x20;
2. Está utilizando su propia implementación y desea cambiar a un BSP. &#x20;

{% hint style="danger" %}
**Solo los proveedores de soluciones empresariales (BSP) y las empresas integradas directamente con la plataforma de WhatsApp Business pueden realizar la migración de números de teléfono.** &#x20;
{% endhint %}

### Información que se conservará después de la migración&#x20;

* Nombre para mostrar (vname);&#x20;
* Calificación de la calidad de la cuenta;&#x20;
* Límites de envío de cuentas (nivel);&#x20;
* Estado oficial de la cuenta de operaciones;&#x20;
* Cualquier mensaje de alta calidad previamente aprobado (Plantilla); &#x20;

### Visión general &#x20;

El proceso de migración del teléfono involucra 3 activos clave: &#x20;

| WABA actual                                                        | Número de teléfono       | WABA Final​              |
| ------------------------------------------------------------------ | ------------------------ | ------------------------ |
| La cuenta en la que se registró previamente el número de teléfono. | Número que será migrado. | Número que será migrado. |

La migración telefónica siempre es iniciada por el BSP o la empresa propietaria del WABA final. &#x20;

Para ello, tienes que introducir tu ID de Business Manager. &#x20;

### Cómo funciona la migración &#x20;

Hasta que se complete la migración del teléfono en el BSP final, la cuenta puede seguir recibiendo y enviando mensajes sin interrupción en el servicio. &#x20;

Una vez completada la migración, el BSP final comenzará a enviar mensajes inmediatamente, sin tiempo de inactividad. &#x20;

La migración tarda entre **1 y 3 horas** después de que el cliente acepte nuestra notificación y esté disponible para recibir el código PIN. &#x20;

Si hay más de un número, la migración se realizará número por número, no es posible hacer una sola migración para varios números. Pero, es posible que se realice en una sola llamada con el cliente, teniendo en cuenta que el cliente necesitará recibir el pin de todos los números a migrar. &#x20;

### Migración de templates&#x20;

Los templates de alta calidad previamente aprobadas en el BSP inicial se copiarán automáticamente en el nuevo BSP. Si supera el límite de plantillas, para crear una nueva deberá eliminar algunas de las que se han copiado. &#x20;

Las plantillas de baja calidad, rechazadas o pendientes <mark style="color:red;">**no se migrarán**</mark>.&#x20;

{% hint style="danger" %}
El historial de mensajes y los chats **no se migran.** &#x20;

**Tampoco es posible migrar varios números al mismo tiempo.** &#x20;

Es posible programar una cita y hacer todos los números en secuencia, pero el cliente deberá recibir el pin de todos los números a migrar. &#x20;
{% endhint %}

### Migración de facturación &#x20;

Los mensajes enviados antes de la migración se facturan al BSP actual. &#x20;

Los mensajes enviados después de la migración se facturarán al BSP final. &#x20;

Los mensajes enviados antes de la migración siempre se facturarán al BSP inicial, incluso si se entregan después de la migración.&#x20;

**Para ser elegible para la migración, debe cumplir los siguientes criterios:**&#x20;

* Número de teléfono;&#x20;
* Si se ha **habilitado la autenticación de dos factores (2FA)** para este número, debe deshabilitarse. &#x20;
* Para ello, el cliente debe solicitar al BSP actual que desactive la autenticación de dos factores (2FA) en su cuenta. &#x20;

### Cuenta de origen &#x20;

Debe tener la verificación comercial completada y aprobada. &#x20;

El estado de la cuenta debe ser aprobado. &#x20;

<figure><img src="/files/TF5ot7kqap1ikQqvXrIg" alt=""><figcaption></figcaption></figure>

### Pasos finales &#x20;

Cuando el BSP actual deshabilite la 2FA, tendrás que crear un ticket en el Centro de Servicio de Sinch. &#x20;

Rellena el formulario con toda la información requerida. Son importantes para que nuestro equipo de Onboarding pueda llevar a cabo el proceso de migración correctamente. &#x20;

Y envíanos la siguiente información en el ticket: &#x20;

* ¿Cuál es el BSP actual? &#x20;
* ¿Está verificada la cuenta que se va a migrar? (Verificación de Negocios) &#x20;
* ¿La cuenta actual está conectada a una infraestructura One-premise o a una API en la nube? (validar con el proveedor actual) &#x20;
* ¿Qué estado aparece su antiguo BSP (bróker) en este momento? (por ejemplo, conectado, pendiente) &#x20;
* ¿Cuál es el Waba ID de la cuenta conectada actualmente (pregúntele al corredor actual)? &#x20;
* ¿Qué es el ID de Business Manager? &#x20;

Una vez creado el ticket, nuestro equipo de Onboarding se pondrá en contacto contigo para finalizar la migración. &#x20;

<figure><img src="/files/0iBXb0KL4vc870r21f3Y" alt=""><figcaption></figcaption></figure>


# Idiomas

Para ayudar con la navegación de ayuda.

Mantenga un registro de los idiomas en los que está disponible nuestra documentación.


# Documentación Técnica - SMS

Bienvenido a nuestra documentación para desarrolladores.

Aquí encontrará todo lo que necesita para integrar su empresa con nuestra plataforma de mensajería.


# Posibles integraciones

La integración se puede realizar de las siguientes formas:

<table><thead><tr><th width="127.5" align="center">Integración</th><th align="center">Descripción</th></tr></thead><tbody><tr><td align="center"><strong>API HTTPS</strong></td><td align="center">Permite el envío y recepción de mensajes y estados a través del protocolo HTTPS utilizando los métodos GET o POST.</td></tr><tr><td align="center"><strong>API SMPP</strong></td><td align="center">Protocolo específico para el intercambio de mensajes SMS, nos permite mantener una conexión activa constante con nuestro servidor SMPP, y está recomendado para clientes con un tráfico superior a los 5 millones de mensajes al mes.</td></tr><tr><td align="center"><strong>API SFTP</strong></td><td align="center">Protocolo utilizado para la transferencia de archivos, se recomienda para el envío de mensajes masivos (batch). Los archivos son transferidos por el cliente a nuestros servidores y son procesados ​​inmediatamente.</td></tr><tr><td align="center"><strong>Websphere MQ</strong></td><td align="center">Utilizado para transferir mensajes entre servidores Websphere MQ, está indicado para clientes con tráfico superior a 30 millones de mensajes al mes, principalmente para bancos financieros, donde el cliente ya tiene en funcionamiento este sistema para mensajes internos. Esta opción de integración tiene un costo de instalación y mantenimiento del ambiente, fijado en R$ 50.000,00 y R$ 2.000,00 respectivamente.</td></tr></tbody></table>


# Términos importantes

<table data-header-hidden><thead><tr><th width="114"></th><th width="197"></th><th></th></tr></thead><tbody><tr><td><strong>MT</strong></td><td>Mobile Terminated</td><td>Es un termino utilizado para mensajes que poseen el usuario (Aparato) como destino. O sea, mensajes que fueron originados por su empresa con destino al usuario (Aparato).</td></tr><tr><td><strong>Response</strong></td><td>Respuesta sincronica de Sinch</td><td>Es una respuesta inmediata de una solicitud hecha en nuestra API, donde informamos si el mensaje fue aceptado o no por nuestra plataforma</td></tr><tr><td><strong>Callback</strong></td><td>Sent status o Estatus de envió</td><td>Es el primer status de envió que retornamos, en el informamos si fue posible, o no, hacer la entrega del mensaje. <strong>para la operadora</strong>.</td></tr><tr><td><strong>DR ou DLR</strong></td><td>Delivery Receipt</td><td>Es el segundo status de envió que retornamos, donde informamos si fue posible, o no, hacer la entrega <strong>para el aparato</strong>. Las operadoras envían para Sinch esta información y nosotros la entregamos al cliente. El tiempo de entrega es variable, por ejemplo si el aparato estaba apagado en el momento del envió y el usuario lo encendió 2 horas después este status DLR sera entregado al cliente con 2 horas de atraso.<br>Obs1: Esta confirmación de entrega en el aparato, existirá solamente para casos en que el mensaje fue entregado con éxito en la operadora. O sea, el primer status (Callback) fue de exito.<br>Obs2: Es muy importante resaltar que infelizmente las operadoras OI y Sercomtel no poseen esta funcionalidad, o sea, no nos retornan la información de entrega en el aparato. Los envíos realizados para números de estas operadoras tendrán solamente la informacion de entrega en la operadora (callback)</td></tr><tr><td><strong>MO</strong></td><td>Mobile Originated</td><td>Es el termino utilizado para mensajes que poseen su empresa como destino. O sea, mensajes que fueron originados por el usuario (Aparato). Y utilizado por ejemplo en flujos de preguntas y respuestas vía SMS, cuando es necesario una confirmación por parte del usuario.</td></tr><tr><td><strong>LA</strong></td><td>Short Code</td><td>Numero corto de 5 o 6 digitos, utilizados para envio y recibimiento de mensajes SMS. Son designados por las operadoras para integradores homologados (Sinch), y poseen reglas anti-fraude y anti-spam.</td></tr><tr><td><strong>Devolución de llamada o IDR</strong></td><td>Estado enviado</td><td>El primer estado de entrega (o Intermediate Delivery Status) que le devolvemos, donde le informamos si fue posible entregar el mensaje al transportista o no.</td></tr></tbody></table>


# Flujo simplificado - MT, Callback, DLR, e MO.

#### Flujo simplificado - MT, Callback, DLR, e MO. <a href="#flujo-simplificado-mt-callback-dlr-e-mo" id="flujo-simplificado-mt-callback-dlr-e-mo"></a>

<figure><img src="/files/EBWw87AoVL90NFZFHd3U" alt=""><figcaption></figcaption></figure>

### API HTTPS

Esta API permite que usted automatice las solicitudes de envíos de mensajes únicas o en lotes, y la recuperación de los estatus de envíos a travez de consultas. Ella utiliza el protocolo HTTP con TLS y acepta los métodos GET con parámetros query string o POST con parámetros en [JSON](http://json.org/).

#### Autenticacion <a href="#autenticacion" id="autenticacion"></a>

Para efectuar envíos y consultas en nuestra API es necesaria una autenticacion por medio de usuario o e-mail, en conjunto con un token.

| Campo               | Detalles                                                                            | Data Type |
| ------------------- | ----------------------------------------------------------------------------------- | --------- |
| UserName            | Su usuário o email                                                                  | String    |
| AuthenticationToken | Su token de autenticación. [Consigue el tuyo aquí.](/permisos/usuarios-del-sistema) | String    |

<table><thead><tr><th width="238">Tipo</th><th>Detalles</th></tr></thead><tbody><tr><td>Administrador</td><td>Usuario administrador de su empresa, es utilizado para crear/editar/desactivar sub cuentas y otros usuarios y visualizar informes de toda la empresa.<br>Este usuario no hace envíos de mensajes ni por el portal ni vía integración API.</td></tr><tr><td>Usuario</td><td>Usuario utilizado para envió de mensajes via API y portal, puede visualizar informes especificos de su sub cuenta.<br>Un usuario es siempre relacionado a una única sub cuenta.<br>Una sub cuenta puede contener multipes usuarios.<br>Cada sub cuenta es un centro de costo en nuestra plataforma, los mensajes son discriminados en informes y financieramente por sub cuenta y no por usuario.</td></tr></tbody></table>

{% hint style="danger" %}
&#x20;**IMPORTANTE! Para cada usuario existe un token de autenticacion único.**

**Para enviar mensajes y obtener el estado a través de la API, es necesario autenticarse utilizando una combinación de nombre de usuario o correo electrónico y token de autenticación. Los siguientes parámetros deben estar presentes en encabezados específicos de su solicitud.**
{% endhint %}

#### Detalles de conexión <a href="#detalles-de-conexi-n" id="detalles-de-conexi-n"></a>

|                   |                                                                             |
| ----------------- | --------------------------------------------------------------------------- |
| **Hostname**      | api-messaging.wavy.global                                                   |
| **APIs**          | <p>Envíos individuales /v1/send-sms<br>Envíos en lote /v1/send-bulk-sms</p> |
| **Puerta**        | 443 (https)                                                                 |
| **Protocolo**     | HTTPS (encriptacion TLS)                                                    |
| **Autenticacion** | username + token                                                            |
| **Portal**        | messaging.wavy.global                                                       |

### Codificación (encoding) <a href="#codificaci-n-encoding" id="codificaci-n-encoding"></a>

El estándar de codificación utilizado es UTF-8, todo el contenido de los mensajes deben seguir ese estándar.

Es posible escapar los caracteres caso desee codificar utilizando el formato HTTP

A seguir algunos ejemplos de codificación

```
“messageText”:“La combinación fue perfecta :)”
```

O usted puede escapar los caracteres en el caso que quiera:

```
“messageText”:“La combina\u00e7\u00e3o fue perfecta :)”
```


# Envió de mensajes (MT)

### **URL para envíos unitarios via POST**

`POST https://api-messaging.wavy.global/v1/send-sms - Content-Type: application/json`

Parametros

\* Campo obligatorio

<table><thead><tr><th width="187">Campo</th><th width="379">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>destination*</td><td>Teléfono para el cual sera enviado el mensaje (incluido código de país). Ejemplo: 5511900000000</td><td>String</td></tr><tr><td>messageText*</td><td>Texto del mensaje que sera enviado (max 1280 chars).</td><td>String</td></tr><tr><td>correlationId</td><td>Un ID único definido por usted para coincidencia con los estatus de envió (Callback y DLR). Este parámetro es opcional y usted puede utilizar el ID generado por Sinch para coincidencia (max 64 chars).</td><td>String</td></tr><tr><td>extraInfo</td><td>Cualquier información extra que usted desee adicionar al mensaje (max 255 chars).</td><td>String</td></tr><tr><td>timeWindow</td><td>Mensajes serán enviados apenas en horarios específicos. Por ejemplo, si usted configura la ventana [11, 12, 18], los mensajes seran enviados entre 11:00 y 11:59, 12:00 y 12:59, 18:00 y 18:59, este parámetro se debe definir en la raíz del objeto JSON</td><td>Integer[]</td></tr><tr><td>expiresAt</td><td>Los mensajes no serán enviados después de esta fecha. El formato utilizado es <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a> . Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>expiresInMinutes</td><td>El mensaje sera expirado después del tiempo informado en este campo. El tiempo pasa a ser contabilizado en el momento que el mensaje es recibido por Sinch. Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>expiresDate</td><td>El mensaje no sera enviado después de esta fecha. El campo acepta el siguiente formato yyyy-MM-dd’T'HH:mm:ss. Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>String</td></tr><tr><td>scheduledAt</td><td>El mensaje no sera enviado después de esta fecha. ¡IMPORTANTE! Es posible realizar una agenda solo en un período superior a 30 minutos, un proceso por el cual fluxo diferenciado do envio sem agendamento. El formato utilizado es <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a>. Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>delayedInMinutes</td><td>Minutos después que la solicitud es realizada el mensaje sea enviado. Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>scheduledDate</td><td>El mensaje no sera enviado antes de este fecha. El campo soporta el siguiente formato yyyy-MM-dd’T'HH:mm:ss. Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>String</td></tr><tr><td>timeZone</td><td>Especifica el timezone que sera utilizado directamente en los campos: expiresDate, scheduledDate y timeWindow (que sera modificado en caso que sean utilizados timezones dinámicos como los horarios de verano). Si el timezone no estuviese presente en la solicitud el sistema verificara el timezone del usuario - si estuviera presente - o el timezone del país del usuario en el ultimo caso. Si ninguna de las opciones estuvieran presentes, el sistema utilizara el horario UTC</td><td>String</td></tr><tr><td>campaignAlias</td><td>Identificación de campaña creada previamente. <a href="https://messaging.wavy.global/dashboard/campaigns">Clique aqui</a> para registar una nueva campaña, este parámetro se debe definir en la raíz del objeto JSON</td><td>String</td></tr><tr><td>flashSMS</td><td>Flash SMS,use esta opción para enviar un mensaje pop-up al teléfono del usuario. Para enviar un mensaje Flash pase el parámetro true.</td><td>Boolean</td></tr><tr><td>flowId</td><td>Identificador del flujo del bot. El mensaje de texto provendrá del flujo</td><td>String</td></tr><tr><td>subAccount</td><td>Referencia de subcuenta. Solo puede ser utilizado por Administradores.</td><td>String</td></tr><tr><td>params</td><td>Mapa de marcadores de posición que serán reemplazados en el mensaje. Si uno o más parámetros son incorrectos, el mensaje se marcará como no válido, pero el envío no se cancelará. Es necesario enviar el flowId para utilizar los parámetros</td><td>Map</td></tr></tbody></table>

{% tabs %}
{% tab title="cURL" %}

```
curl -X POST \
  https://api-messaging.wavy.global/v1/send-sms \
  -H 'authenticationtoken: <authenticationtoken>' \
  -H 'username: <username>' \
  -H 'content-type: application/json' \
  -d '{"destination": "5511900000000" , "messageText": "linha\nquebrada"}'
```

{% endtab %}

{% tab title="Ruby" %}

```
require 'uri'
require 'net/http'

url = URI("https://api-messaging.wavy.global/v1/send-sms")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["username"] = '<username>'
request["authenticationtoken"] = '<authenticationtoken>'
request["content-type"] = 'application/json'
request.body = "{\"destination\": \"5511900000000\" ,  \"messageText\": \"linha\\nquebrada\"}"

response = http.request(request)
puts response.read_body
```

{% endtab %}

{% tab title="Python" %}

```
import requests

url = "https://api-messaging.wavy.global/v1/send-sms"

payload = "{\"destination\": \"5511900000000\" ,  \"messageText\": \"linha\\nquebrada\"}"
headers = {
    'username': "<username>",
    'authenticationtoken': "<authenticationtoken>",
    'content-type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
```

{% endtab %}

{% tab title="PHP" %}

```
Mod curl:
sudo apt-get/yum install php5-curl

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api-messaging.wavy.global/v1/send-sms",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"destination\": \"5511900000000\" ,  \"messageText\": \"linha\\nquebrada\"}",
  CURLOPT_HTTPHEADER => array(
    "authenticationtoken: <authenticationtoken>",
    "username: <username>",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

{% endtab %}

{% tab title="Java" %}

```
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

public class SendSms {

    public static void main(String[] args) {
        String url = "https://api-messaging.wavy.global/v1/send-sms";

        String userName = "<username>";
        String authenticationToken = "<authenticationtoken>";

        String body = "{\"destination\": \"5511900000000\" ,  \"messageText\": \"linha\\nquebrada\"}";

        String response = doPost(url, body, userName, authenticationToken);
        System.out.println(response);
    }

    public static String doPost(String strUrl, String request, String userName, String authenticationToken) {
        HttpURLConnection conn = null;
        OutputStreamWriter wr = null;
        BufferedReader br = null;
        try {
            URL url = new URL(strUrl);

            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setInstanceFollowRedirects(true);
            conn.setConnectTimeout(30000);
            conn.setReadTimeout(30000);

            conn.setRequestProperty("Content-Type", "application/json");
            conn.setRequestProperty("UserName", userName);
            conn.setRequestProperty("AuthenticationToken", authenticationToken);

            // write the request
            wr = new OutputStreamWriter(conn.getOutputStream());
            wr.write(request);
            wr.close();

            // read the response
            br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

            StringBuilder resp = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                resp.append(line).append("\n");
            }
            return resp.toString();

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (wr != null) {
                    wr.close();
                }
                if (br != null) {
                    br.close();
                }
                if (conn != null) {
                    conn.disconnect();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}
```

{% endtab %}
{% endtabs %}

Al hacer el envió usted recibirá un JSON informando el id que fue generado para este mensaje (Response o Respuesta sincrona de Sinch):

{% tabs %}
{% tab title="cURL" %}

```
[
  {
  "id":"9cb87d36-79af-11e5-89f3-1b0591cdf807",
  "correlationId":"myId"
  }
]
```

{% endtab %}

{% tab title="Ruby" %}

```
[
  {
  "id":"9cb87d36-79af-11e5-89f3-1b0591cdf807",
  "correlationId":"myId"
  }
]
```

{% endtab %}

{% tab title="Python" %}

```
[
  {
  "id":"9cb87d36-79af-11e5-89f3-1b0591cdf807",
  "correlationId":"myId"
  }
]
```

{% endtab %}

{% tab title="PHP" %}

```
[
  {
  "id":"9cb87d36-79af-11e5-89f3-1b0591cdf807",
  "correlationId":"myId"
  }
]
```

{% endtab %}

{% tab title="Java" %}

```
[
  {
  "id":"9cb87d36-79af-11e5-89f3-1b0591cdf807",
  "correlationId":"myId"
  }
]
```

{% endtab %}
{% endtabs %}

### Envio por método POST - Individual o e lote <a href="#envio-por-m-todo-post-individual-o-e-lote" id="envio-por-m-todo-post-individual-o-e-lote"></a>

Permite el envió de mensajes en lote o individuales pasando los parámetros de un objeto JSON.

{% hint style="danger" %}
**Existe um limite de 1000 mensajes por solicitud**
{% endhint %}

#### Solicitud HTTP Method POST <a href="#solicitud-http-method-post" id="solicitud-http-method-post"></a>

> Ejemplo de JSON para envio em Lote:
>
> Exemplo 1:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    },
    {
      "destination":"5519900003333"
    }
  ],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 2:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    }
  ],
  "timeZone":"America/Sao_Paulo",
  "scheduledDate": "2017-01-28T02:30:43",
  "timeWindow": [12, 15, 20],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 3:

```
`
{
  "messages":[
    {
      "destination":"5519900001111",
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "messageText":"Default message",
    "flashSMS":"true"
  }
}
```

> Ejemplo 4, com flowId y params:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "params": {
        "param1": "other_value1",
        "param2": "other_value2"
      }
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "params": {
      "param1": "value1",
      "param2": "value2"
    }
  },
  "flowId": "14f8142d-e731-4971-8220-5a76a12c413f"
}
```

> Observe que en los ejemplos de arriba, algunos campos “destination” no tienen un “messageText” atribuido directamente para ellos, en este caso, el texto del mensaje sera el “messageText” dentro de “defaultValues”. Esa función es útil cuando es necesario el envió del mismo mensaje para varios números diferentes.

`POST https://api-messaging.wavy.global/v1/send-bulk-sms Content-Type: application/json`

El cuerpo de la solicitud necesita contener el objeto JSON con las informaciones conforme los campos abajo:

\* Campo obligatorio

<table><thead><tr><th width="171">Campo</th><th width="390">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>destination*</td><td>Teléfono para el cual sera enviado el mensaje (incluido código de país). Ejemplo: 5511900000000</td><td>String</td></tr><tr><td>messageText*</td><td>Texto del mensaje que sera enviado (max 1280 chars).</td><td>String</td></tr><tr><td>correlationId</td><td>Un ID único definido por usted para coincidencia con los estatus de envió (Callback y DLR). Este parámetro es opcional y usted puede utilizar el ID generado por Sinch para coincidencia (max 64 chars).</td><td>String</td></tr><tr><td>extraInfo</td><td>Cualquier información extra que usted desee adicionar al mensaje (max 255 chars).</td><td>String</td></tr><tr><td>timeWindow</td><td>Mensajes serán enviados apenas en horarios específicos. Por ejemplo, si usted configura la ventana [11, 12, 18], los mensajes seran enviados entre 11:00 y 11:59, 12:00 y 12:59, 18:00 y 18:59</td><td>Integer[]</td></tr><tr><td>expiresAt</td><td>Los mensajes no serán enviados después de esta fecha. El formato utilizado es <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a> . Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>expiresInMinutes</td><td>El mensaje sera expirado después del tiempo informado en este campo. El tiempo pasa a ser contabilizado en el momento que el mensaje es recibido por Sinch. Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>expiresDate</td><td>El mensaje no sera enviado después de esta fecha. El campo acepta el siguiente formato yyyy-MM-dd’T'HH:mm:ss. Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>String</td></tr><tr><td>scheduledAt</td><td>El mensaje no sera enviado después de esta fecha. El formato utilizado es <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a>. Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>delayedInMinutes</td><td>Minutos después que la solicitud es realizada el mensaje sea enviado. Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>Long</td></tr><tr><td>scheduledDate</td><td>El mensaje no sera enviado antes de este fecha. El campo soporta el siguiente formato yyyy-MM-dd’T'HH:mm:ss. Obs: Los campos expiresAt, expiresInMinutes y expiresDate son mutuamente exclusivos (Use solamente uno de ellos)</td><td>String</td></tr><tr><td>timeZone</td><td>Especifica el timezone que sera utilizado directamente en los campos: expiresDate, scheduledDate y timeWindow (que sera modificado en caso que sean utilizados timezones dinámicos como los horarios de verano). Si el timezone no estuviese presente en la solicitud el sistema verificara el timezone del usuario - si estuviera presente - o el timezone del país del usuario en el ultimo caso. Si ninguna de las opciones estuvieran presentes, el sistema utilizara el horario UTC</td><td>String</td></tr><tr><td>campaignAlias</td><td>Identificación de campaña creada previamente. <a href="https://messaging.wavy.global/dashboard/campaigns">Clique aqui</a> para registar una nueva campaña</td><td>String</td></tr><tr><td>flashSMS</td><td>Flash SMS,use esta opción para enviar un mensaje pop-up al teléfono del usuario. Para enviar un mensaje Flash pase el parámetro true.</td><td>Boolean</td></tr><tr><td>flowId</td><td>Identificador del flujo del bot. El mensaje de texto provendrá del flujo</td><td>String</td></tr><tr><td>subAccount</td><td>Referencia de subcuenta. Solo puede ser utilizado por Administradores.</td><td>String</td></tr><tr><td>params</td><td>Mapa de marcadores de posición que serán reemplazados en el mensaje. Si uno o más parámetros son incorrectos, el mensaje se marcará como no válido, pero el envío no se cancelará. Es necesario enviar el flowId para utilizar los parámetros</td><td>Map</td></tr></tbody></table>

{% hint style="danger" %}
**IMPORTANTE! Para cada usuario existe un token de autenticacion único**
{% endhint %}

{% tabs %}
{% tab title="cURL" %}

```
curl -X POST \
  https://api-messaging.wavy.global/v1/send-sms \
  -H 'authenticationtoken: <authenticationtoken>' \
  -H 'username: <username>' \
  -H 'content-type: application/json' \
  -d '{"destination": "5511900000000" , "messageText": "linha\nquebrada"}'
```

{% endtab %}

{% tab title="Ruby" %}

```
require 'uri'
require 'net/http'

url = URI("https://api-messaging.wavy.global/v1/send-bulk-sms")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["username"] = '<username>'
request["authenticationtoken"] = '<authenticationtoken>'
request["content-type"] = 'application/json'
request.body = '{ "messages":[{ "destination":"5519999999999", "messageText":"First message" }, { "destination":"5519999999999" }, { "destination":"5519999999999" }], "defaultValues":{"messageText":"Default message" }}'

response = http.request(request)
puts response.read_body
```

{% endtab %}

{% tab title="Python" %}

```
import requests

url = "https://api-messaging.wavy.global/v1/send-bulk-sms"

payload = '{ "messages":[{ "destination":"5519999999999", "messageText":"First message" }, { "destination":"5519999999999" }, { "destination":"5519999999999" }], "defaultValues":{"messageText":"Default message" }}'
headers = {
    'username': "<username>",
    'authenticationtoken': "<authenticationtoken>",
    'content-type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
```

{% endtab %}

{% tab title="PHP" %}

```
Mod: curl

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api-messaging.wavy.global/v1/send-bulk-sms",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{ \"messages\":[{ \"destination\":\"5519999999999\", \"messageText\":\"First message\" }, { \"destination\":\"5519999999999\" }, { \"destination\":\"5519999999999\" }], \"defaultValues\":{\"messageText\":\"Default message\" }}",
  CURLOPT_HTTPHEADER => array(
    "authenticationtoken: <authenticationtoken>",
    "content-type: application/json",
    "username: <username>"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

{% endtab %}

{% tab title="Java" %}

```
 {
  "id": "ce528d70-013b-11e7-98f2-e27c463c8809",
  "messages": [
    {
      "id": "ce528d71-013b-11e7-98f2-e27c463c8809"
    },
    {
      "id": "ce528d72-013b-11e7-98f2-e27c463c8809"
    }
  ]
}
Permite el envió de mensajes en lote o individuales pasando los parámetros de un objeto JSON

 Existe um limite de 1000 mensajes por solicitud
Solicitud HTTP Method POST
Ejemplo de JSON para envio em Lote:

Exemplo 1:

{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    },
    {
      "destination":"5519900003333"
    }
  ],
  "defaultValues":{
    "messageText":"Default message"
  }
}
Exemplo 2:

{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    }
  ],
  "timeZone":"America/Sao_Paulo",
  "scheduledDate": "2017-01-28T02:30:43",
  "timeWindow": [12, 15, 20],
  "defaultValues":{
    "messageText":"Default message"
  }
}
Exemplo 3:

`
{
  "messages":[
    {
      "destination":"5519900001111",
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "messageText":"Default message",
    "flashSMS":"true"
  }
}
Ejemplo 4, com flowId y params:

{
  "messages":[
    {
      "destination":"5519900001111",
      "params": {
        "param1": "other_value1",
        "param2": "other_value2"
      }
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "params": {
      "param1": "value1",
      "param2": "value2"
    }
  },
  "flowId": "14f8142d-e731-4971-8220-5a76a12c413f"
}
Observe que en los ejemplos de arriba, algunos campos “destination” no tienen un “messageText” atribuido directamente para ellos, en este caso, el texto del mensaje sera el “messageText” dentro de “defaultValues”. Esa función es útil cuando es necesario el envió del mismo mensaje para varios números diferentes.
```

{% endtab %}
{% endtabs %}

Al hacer el envió usted recibirá un JSON informando el id que fue generado para este mensaje (Response o Respuesta sincrona de Sinch):

{% tabs %}
{% tab title="cURL" %}

```
{
  "id": "ce528d70-013b-11e7-98f2-e27c463c8809",
  "messages": [
    {
      "id": "ce528d71-013b-11e7-98f2-e27c463c8809"
    },
    {
      "id": "ce528d72-013b-11e7-98f2-e27c463c8809"
    }
  ]
}
Permite el envió de mensajes en lote o individuales pasando los parámetros de un objeto JSON

 Existe um limite de 1000 mensajes por solicitud
Solicitud HTTP Method POST
Ejemplo de JSON para envio em Lote:

Exemplo 1:

{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    },
    {
      "destination":"5519900003333"
    }
  ],
  "defaultValues":{
    "messageText":"Default message"
  }
}
Exemplo 2:

{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    }
  ],
  "timeZone":"America/Sao_Paulo",
  "scheduledDate": "2017-01-28T02:30:43",
  "timeWindow": [12, 15, 20],
  "defaultValues":{
    "messageText":"Default message"
  }
}
Exemplo 3:

`
{
  "messages":[
    {
      "destination":"5519900001111",
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "messageText":"Default message",
    "flashSMS":"true"
  }
}
Ejemplo 4, com flowId y params:

{
  "messages":[
    {
      "destination":"5519900001111",
      "params": {
        "param1": "other_value1",
        "param2": "other_value2"
      }
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "params": {
      "param1": "value1",
      "param2": "value2"
    }
  },
  "flowId": "14f8142d-e731-4971-8220-5a76a12c413f"
}
Observe que en los ejemplos de arriba, algunos campos “destination” no tienen un “messageText” atribuido directamente para ellos, en este caso, el texto del mensaje sera el “messageText” dentro de “defaultValues”. Esa función es útil cuando es necesario el envió del mismo mensaje para varios números diferentes.
```

{% endtab %}

{% tab title="Ruby" %}

```
  {
  "id": "ce528d70-013b-11e7-98f2-e27c463c8809",
  "messages": [
    {
      "id": "ce528d71-013b-11e7-98f2-e27c463c8809"
    },
    {
      "id": "ce528d72-013b-11e7-98f2-e27c463c8809"
    }
  ]
}
```

Permite el envió de mensajes en lote o individuales pasando los parámetros de un objeto JSON

&#x20;Existe um limite de 1000 mensajes por solicitud

#### Solicitud HTTP Method POST <a href="#solicitud-http-method-post" id="solicitud-http-method-post"></a>

> Ejemplo de JSON para envio em Lote:
>
> Exemplo 1:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    },
    {
      "destination":"5519900003333"
    }
  ],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 2:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    }
  ],
  "timeZone":"America/Sao_Paulo",
  "scheduledDate": "2017-01-28T02:30:43",
  "timeWindow": [12, 15, 20],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 3:

```
`
{
  "messages":[
    {
      "destination":"5519900001111",
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "messageText":"Default message",
    "flashSMS":"true"
  }
}
```

> Ejemplo 4, com flowId y params:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "params": {
        "param1": "other_value1",
        "param2": "other_value2"
      }
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "params": {
      "param1": "value1",
      "param2": "value2"
    }
  },
  "flowId": "14f8142d-e731-4971-8220-5a76a12c413f"
}
```

> Observe que en los ejemplos de arriba, algunos campos “destination” no tienen un “messageText” atribuido directamente para ellos, en este caso, el texto del mensaje sera el “messageText” dentro de “defaultValues”. Esa función es útil cuando es necesario el envió del mismo mensaje para varios números diferentes.
> {% endtab %}

{% tab title="Python" %}

> Al hacer el envió, retornara un objeto JSON con un UUID del lote e de los mensajes individuales :

```

  {
  "id": "ce528d70-013b-11e7-98f2-e27c463c8809",
  "messages": [
    {
      "id": "ce528d71-013b-11e7-98f2-e27c463c8809"
    },
    {
      "id": "ce528d72-013b-11e7-98f2-e27c463c8809"
    }
  ]
}
```

Permite el envió de mensajes en lote o individuales pasando los parámetros de un objeto JSON

&#x20;Existe um limite de 1000 mensajes por solicitud

#### Solicitud HTTP Method POST <a href="#solicitud-http-method-post" id="solicitud-http-method-post"></a>

> Ejemplo de JSON para envio em Lote:
>
> Exemplo 1:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    },
    {
      "destination":"5519900003333"
    }
  ],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 2:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    }
  ],
  "timeZone":"America/Sao_Paulo",
  "scheduledDate": "2017-01-28T02:30:43",
  "timeWindow": [12, 15, 20],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 3:

```
`
{
  "messages":[
    {
      "destination":"5519900001111",
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "messageText":"Default message",
    "flashSMS":"true"
  }
}
```

> Ejemplo 4, com flowId y params:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "params": {
        "param1": "other_value1",
        "param2": "other_value2"
      }
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "params": {
      "param1": "value1",
      "param2": "value2"
    }
  },
  "flowId": "14f8142d-e731-4971-8220-5a76a12c413f"
}
```

> Observe que en los ejemplos de arriba, algunos campos “destination” no tienen un “messageText” atribuido directamente para ellos, en este caso, el texto del mensaje sera el “messageText” dentro de “defaultValues”. Esa función es útil cuando es necesario el envió del mismo mensaje para varios números diferentes.
> {% endtab %}

{% tab title="PHP" %}

> Al hacer el envió, retornara un objeto JSON con un UUID del lote e de los mensajes individuales :

```

  {
  "id": "ce528d70-013b-11e7-98f2-e27c463c8809",
  "messages": [
    {
      "id": "ce528d71-013b-11e7-98f2-e27c463c8809"
    },
    {
      "id": "ce528d72-013b-11e7-98f2-e27c463c8809"
    }
  ]
}
```

Permite el envió de mensajes en lote o individuales pasando los parámetros de un objeto JSON

&#x20;Existe um limite de 1000 mensajes por solicitud

#### Solicitud HTTP Method POST <a href="#solicitud-http-method-post" id="solicitud-http-method-post"></a>

> Ejemplo de JSON para envio em Lote:
>
> Exemplo 1:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    },
    {
      "destination":"5519900003333"
    }
  ],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 2:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "messageText":"First message"
    },
    {
      "destination":"5519900002222"
    }
  ],
  "timeZone":"America/Sao_Paulo",
  "scheduledDate": "2017-01-28T02:30:43",
  "timeWindow": [12, 15, 20],
  "defaultValues":{
    "messageText":"Default message"
  }
}
```

> Exemplo 3:

```
`
{
  "messages":[
    {
      "destination":"5519900001111",
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "messageText":"Default message",
    "flashSMS":"true"
  }
}
```

> Ejemplo 4, com flowId y params:

```
{
  "messages":[
    {
      "destination":"5519900001111",
      "params": {
        "param1": "other_value1",
        "param2": "other_value2"
      }
    },
    {
      "destination":"5519900002222"
    }
  ],
  "defaultValues":{
    "params": {
      "param1": "value1",
      "param2": "value2"
    }
  },
  "flowId": "14f8142d-e731-4971-8220-5a76a12c413f"
}
```

> Observe que en los ejemplos de arriba, algunos campos “destination” no tienen un “messageText” atribuido directamente para ellos, en este caso, el texto del mensaje sera el “messageText” dentro de “defaultValues”. Esa función es útil cuando es necesario el envió del mismo mensaje para varios números diferentes.
> {% endtab %}

{% tab title="Java" %}

```
[
  {
  "id":"9cb87d36-79af-11e5-89f3-1b0591cdf807",
  "correlationId":"myId"
  }
]
```

{% endtab %}
{% endtabs %}

### Respuestas de mensajes en lote <a href="#respuestas-de-mensajes-en-lote" id="respuestas-de-mensajes-en-lote"></a>

La respuesta de envíos en lote contendrá un archivo JSON con las informaciones necesarias para su rastreamiento, sera generado un id para todo el lote y un id y correlationid individual para cada mensaje:

| Campo    | Detalles                                                                                                                                    | Tipo                 |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
| id       | UUID generado para este lote                                                                                                                | String               |
| messages | Este campo es un array con las respuestas de los mensajes individuales del lote, contiene el id y el correlationid de cada mensaje enviado. | SingleSMSResponse\[] |


# Respuesta del código de estado HTTP

Código de estado de respuesta HTTP común:

<table><thead><tr><th width="183">Grupo</th><th>Descripción</th></tr></thead><tbody><tr><td>2xx</td><td>El éxito</td></tr><tr><td>4xx</td><td>Error del cliente</td></tr><tr><td>5xx</td><td>Error del servidor</td></tr></tbody></table>

<table><thead><tr><th width="185">Código</th><th>Descripción</th></tr></thead><tbody><tr><td>200</td><td>El éxito</td></tr><tr><td>400</td><td>Mal pedido</td></tr><tr><td>401</td><td>No autorizado</td></tr><tr><td>403</td><td>Prohibido</td></tr><tr><td>404</td><td>No encontrado</td></tr><tr><td>500</td><td>Error interno del servidor</td></tr><tr><td>503</td><td>Servicio no disponible</td></tr><tr><td>504</td><td>Tiempo de espera</td></tr></tbody></table>


# Estatus de envio (Callback e DLR)

Existen dos maneras de obtener los estatus de envíos de los mensajes, son ellas:

* Webhook - Recibir los estatus en un webservice de su empresa (recomendado)

Cuando entregamos el mensaje en la operadora, o en el momento que la operadora nos informa que se entrego el mensaje en el aparato, la información es pasada instantáneamente para usted.

* API de consulta - Hacer solicitudes de consulta en nuestra API sms-status.

Los estatus quedan disponibles por 3 días, e pueden ser consultados por el UUID que Sinch retorno al recibir el mensaje de su empresa, o por el ID que su empresa paso al entregar el mensaje para Sinch.\
La desventaja de esta opción de consulta al revés de webhook, es que usted hará solicitudes de consulta de un ID que puede todavía no haber sido entregado en la operadora o en el aparato, en este caso, una serie de solicitudes innecesarias serán realizadas. Por ejemplo, si un usuario estaba con el aparato apagado cuando envio un mensaje para el y lo encendió dos horas después, usted consultara este ID innumerables veces por dos horas. En el caso de la utilización de webhook, esta información seria enviada para usted en el momento que el mensaje fuese entregado en el aparato, sin solicitudes vaciás.

{% hint style="danger" %}
**¡IMPORTANTE! Las consultas de estado tienen un límite de 1 solicitud por segundo por dirección IP. Las solicitudes, más allá de este límite, seran respondidas con el código de estado HTTP 429.**
{% endhint %}

#### Estatus via webhook (entrega en su webservice) <a href="#estatus-via-webhook-entrega-en-su-webservice" id="estatus-via-webhook-entrega-en-su-webservice"></a>

Para configurar el envió de los Callbacks y DRs (dudas sobre los términos consulte la pestaña [Términos Importantes](https://doc-messaging.wavy.global/es.html?java#t-rminos-importantes)) primeramente es necesario loguear en [**Sinch messaging**](https://messaging.sinch.com) las configuraciones de la API, en el formulario de configuración usted podrá proveer las URLs para donde serán enviados los estatus de envió (Callbacks) y los estatus de confirmación de entrega en el aparato (DRs)

Después de la inclusión de su webhook en el portal arriba, las configuraciones serán replicadas para nuestra plataforma en hasta 10 minutos, y llamaremos su URL cuando las siguientes acciones ocurran:

| Accion                                                          | Estatus de retorno enviado         |
| --------------------------------------------------------------- | ---------------------------------- |
| Después que un mensaje fue entregado o no, en la operadora      | API de estatus de envió (callback) |
| Cuando un mensaje fue entregado o no, en el aparato del cliente | API de Delivery Report (DRs)       |

#### Campos JSON respuesta Callbacks (sent status) <a href="#campos-json-respuesta-callbacks-sent-status" id="campos-json-respuesta-callbacks-sent-status"></a>

| Campo          | Descripción                                                                                                                                                                                                            |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id             | UUID generado del mensaje                                                                                                                                                                                              |
| correlationId  | Su identificación de este mensaje                                                                                                                                                                                      |
| carrierId      | Identificador de la operadora                                                                                                                                                                                          |
| carrierName    | Nombre de la operadora                                                                                                                                                                                                 |
| destination    | Número de telefone da mensagem enviada                                                                                                                                                                                 |
| sentStatusCode | Códigos de estatus generado por Sinch para mensajes indicando el estatus de envió. Verifique en [codigos de status](https://doc-messaging.wavy.global/es.html?java#c-digos-de-estatus-de-envi) para mas informaciones. |
| sentStatus     | descripción de estatus de envió. Verifique en códigos de estatus para mas informaciones.                                                                                                                               |
| sentAt         | Hora do envió, el formato utilizado es Unix\_time.                                                                                                                                                                     |
| sentDate       | Fecha que el mensaje fue enviado. Formato: yyyy-MM-dd’T'HH:mm:ssZ                                                                                                                                                      |
| campaignId     | Identificador de campaña en el caso que exista.                                                                                                                                                                        |
| extraInfo      | Cualquier información extra adicionada por el cliente en el envió del mensaje                                                                                                                                          |

Ejemplo JSON Estatus de Envio (callback - entrega en la operadora)

{% tabs %}
{% tab title="cURL" %}

```
POST https://example.com/callback/
Content-Type: application/json

{
  "id":"f9c100ff-aed0-4456-898c-e57d754c439c",
  "correlationId":"client-id",
  "carrierId":1,
  "carrierName":"VIVO",
  "destination":"5511900009999",
  "sentStatusCode":2,
  "sentStatus":"SENT_SUCCESS",
  "sentAt":1266660300000,
  "sentDate":"2010-02-20T10:05:00Z",
  "campaignId":"64",
  "extraInfo":"",
}
```

{% endtab %}

{% tab title="Ruby" %}

```
POST https://example.com/callback/
Content-Type: application/json

{
  "id":"f9c100ff-aed0-4456-898c-e57d754c439c",
  "correlationId":"client-id",
  "carrierId":1,
  "carrierName":"VIVO",
  "destination":"5511900009999",
  "sentStatusCode":2,
  "sentStatus":"SENT_SUCCESS",
  "sentAt":1266660300000,
  "sentDate":"2010-02-20T10:05:00Z",
  "campaignId":"64",
  "extraInfo":"",
}
```

{% endtab %}

{% tab title="Python" %}

```
POST https://example.com/callback/
Content-Type: application/json

{
  "id":"f9c100ff-aed0-4456-898c-e57d754c439c",
  "correlationId":"client-id",
  "carrierId":1,
  "carrierName":"VIVO",
  "destination":"5511900009999",
  "sentStatusCode":2,
  "sentStatus":"SENT_SUCCESS",
  "sentAt":1266660300000,
  "sentDate":"2010-02-20T10:05:00Z",
  "campaignId":"64",
  "extraInfo":"",
}
```

{% endtab %}

{% tab title="PHP" %}

```
POST https://example.com/callback/
Content-Type: application/json

{
  "id":"f9c100ff-aed0-4456-898c-e57d754c439c",
  "correlationId":"client-id",
  "carrierId":1,
  "carrierName":"VIVO",
  "destination":"5511900009999",
  "sentStatusCode":2,
  "sentStatus":"SENT_SUCCESS",
  "sentAt":1266660300000,
  "sentDate":"2010-02-20T10:05:00Z",
  "campaignId":"64",
  "extraInfo":"",
}
```

{% endtab %}

{% tab title="Java" %}

```
POST https://example.com/callback/
Content-Type: application/json

{
  "id":"f9c100ff-aed0-4456-898c-e57d754c439c",
  "correlationId":"client-id",
  "carrierId":1,
  "carrierName":"VIVO",
  "destination":"5511900009999",
  "sentStatusCode":2,
  "sentStatus":"SENT_SUCCESS",
  "sentAt":1266660300000,
  "sentDate":"2010-02-20T10:05:00Z",
  "campaignId":"64",
  "extraInfo":"",
}
```

{% endtab %}
{% endtabs %}

### Campos JSON respuesta Delivery Reports (DRs) <a href="#campos-json-respuesta-delivery-reports-drs" id="campos-json-respuesta-delivery-reports-drs"></a>

| Campo               | Descripción                                                                                                                                                                                                            |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                  | UUID generado del mensaje                                                                                                                                                                                              |
| correlationId       | Su identificación de este mensaje                                                                                                                                                                                      |
| carrierId           | Identificador de la operadora                                                                                                                                                                                          |
| carrierName         | Nombre de la operadora                                                                                                                                                                                                 |
| destination         | Número de telefone da mensagem enviada                                                                                                                                                                                 |
| sentStatusCode      | Códigos de estatus generado por Sinch para mensajes indicando el estatus de envió. Verifique en [codigos de status](https://doc-messaging.wavy.global/es.html?java#c-digos-de-estatus-de-envi) para mas informaciones. |
| sentStatus          | descripción de estatus de envió. Verifique en códigos de estatus para mas informaciones.                                                                                                                               |
| sentAt              | Hora do envió, el formato utilizado es Unix\_time.                                                                                                                                                                     |
| sentDate            | Fecha que el mensaje fue enviado. Formato: yyyy-MM-dd’T'HH:mm:ssZ                                                                                                                                                      |
| deliveredStatusCode | Código de estatus generado por Sinch para un mensaje indicando el estatus de envió. Verifique en el código de estatus para mas informaciones                                                                           |
| deliveredStatus     | descripción de estatus de envió. Verifique en código de estatus para mas informaciones.                                                                                                                                |
| deliveredAt         | Hora do envió, el formato utilizado es Unix\_time.                                                                                                                                                                     |
| deliveredDate       | Fecha que el mensaje fue enviado. Formato: yyyy-MM-dd’T'HH:mm:ssZ                                                                                                                                                      |
| campaignId          | Identificador de campaña en el caso que exista.                                                                                                                                                                        |
| extraInfo           | Cualquier información extra adicionada por el cliente en el envió del mensaje                                                                                                                                          |

Ejemplo JSON Estatus de Envio (callback - entrega en la operadora)

#### Consulta Estatus via solicitud HTTP <a href="#consulta-estatus-via-solicitud-http" id="consulta-estatus-via-solicitud-http"></a>

Para obtener una lista del estado aún no consultado, puede realizar una solicitud GET a la siguiente URL:

`GET https://api-messaging.wavy.global/v1/sms/status/list`

Observe que este endpoint solo devuelve los estados que aún no ha enviado.

### Respuesta <a href="#respuesta" id="respuesta"></a>

Campos JSON de respuesta:

| Campo               | Detalles                                                                                                           | Tipo                                                                                                                                                                                                                   |
| ------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                  | UUID generado en la solicitud para el mensaje                                                                      | String                                                                                                                                                                                                                 |
| correlationId       | Mismo correlationId de la solicitud                                                                                | String                                                                                                                                                                                                                 |
| carrierId           | ID de la operadora, para mas informaciones consulte el código de error                                             | Long                                                                                                                                                                                                                   |
| carrierName         | Nombre da la operadora                                                                                             | String                                                                                                                                                                                                                 |
| destination         | Número de telefono del mensaje enviado                                                                             | String                                                                                                                                                                                                                 |
| sentStatusCode      | sentStatusCode                                                                                                     | Códigos de estatus generado por Sinch para mensajes indicando el estatus de envió. Verifique en [codigos de status](https://doc-messaging.wavy.global/es.html?java#c-digos-de-estatus-de-envi) para mas informaciones. |
| sentStatus          | Descripción de estatus de envió. Verifique en códigos de estatus para mas informaciones.                           | String                                                                                                                                                                                                                 |
| sentStatusAt        | Cuando el mensaje fue enviado. Es un Epoch Date                                                                    | Long                                                                                                                                                                                                                   |
| sentStatusDate      | Cuando el mensaje fue enviado. Formato yyyy-MM-dd’T'HH:mm:ssZ. Formato de fecha con hora y zona horaria (ISO 8601) | String                                                                                                                                                                                                                 |
| deliveredStatusCode | Código de estatus indicando el estatus de envió. Verifique en el código de estatus para mas informaciones.         | Long                                                                                                                                                                                                                   |
| deliveredStatus     | Descripción de estatus de envió. Verifique en código de estatus para mas informaciones.                            | String                                                                                                                                                                                                                 |
| deliveredAt         | Cuando el mensaje fue enviado. Es un Epoch Date                                                                    | Long                                                                                                                                                                                                                   |
| deliveredDate       | Cuando el mensaje fue enviado. Formato yyyy-MM-dd’T'HH:mm:ssZ. Formato de fecha con hora y zona horaria (ISO 8601) | String                                                                                                                                                                                                                 |
| campaignId          | Identificador de campaña                                                                                           | Long                                                                                                                                                                                                                   |
| extraInfo           | Cualquier información extra adicionada por el cliente en el envió del mensaje                                      | String                                                                                                                                                                                                                 |


# Respuesta del usuario (MO)

La API de MO permite la automatización del proceso de recuperación de respuestas enviadas por los clientes a los mensajes que usted le envió a ellos. Todas las solicitudes usan el método GET y las respuestas son enviadas en formato JSON.

{% hint style="danger" %}
**Póngase en contacto con el soporte para configurar su cuenta para recibir MO.**
{% endhint %}

Es posible también la configuración para que los MOs sean encaminados conforme llegan, para una API del cliente. Esa es la forma mas eficiente ya que no es necesario realizar ninguna llamada, solo se tratan los envíos conforme van llegando. Para que esta configuración sea realizada es necesario abrir un ticket con nuestro equipo de soporte técnico a través de nuestro [Service Center](https://servicecenter.wavy.global/) pasando la URL que recibirán los MOs.

{% hint style="success" %}
&#x20;Hemos podido enviar los MOs tanto vía método GET (query string) como vía método POST (Json)
{% endhint %}

Cada solicitud realizada retornara los MOs de los últimos 5 días, hasta un limite de 1.000 MOs. Para las fechas anteriores o cantidades mayores por favor entrar en contacto con nuestro equipo de soporte a través del nuestro [Service Center](https://servicecenter.wavy.global/).

El comportamiento de Query List MO sera diferente para cada usuario autenticado debido al nivel de permisos de cada usuario.

Recomendamos el metodo de envio de los MOs para la API, todo MO enviado será automaticamente enviada para la API ya que de esta forma las respuestas pueden ser tratadas inmediatamente despues de recibidas

<table><thead><tr><th width="191">Perfil</th><th>Permisos</th></tr></thead><tbody><tr><td>Regular</td><td>Cada solicitud realizada en la MO API solo retornara los MOs correspondientes a la subcuenta a la que el usuario pertenece. No es posible para un usuario regular recuperar los MOs de otras subcuentas.</td></tr><tr><td>Administrador</td><td>El comportamiento estándar para el usuario administrador es recuperar todos los MOs de todas las subcuentas. Si un admin desea recuperar los MOs de apenas una de las subcuentas es necesario especificar la subcuenta en el parámetro subAccount con el id de la subcuenta deseada.</td></tr></tbody></table>

Ejemplo JSON enviado a su API (método POST)

{% tabs %}
{% tab title="cURL" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "Sinch",
     "campaignAlias": "Sinch",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "55119123456789",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "Sinch",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="Ruby" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "Sinch",
     "campaignAlias": "Sinch",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "55119123456789",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "Sinch",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="Python" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "Sinch",
     "campaignAlias": "Sinch",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "55119123456789",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "Sinch",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="PHP" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "Sinch",
     "campaignAlias": "Sinch",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "55119123456789",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "Sinch",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="Java" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "Sinch",
     "campaignAlias": "Sinch",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "55119123456789",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "Sinch",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}
{% endtabs %}

### Fomato de respuesta estandar de MO  <a href="#fomato-de-respuesta-estandar-de-mo" id="fomato-de-respuesta-estandar-de-mo"></a>

Tanto las solicitudes de listado (list) como la funcion de busqueda (search) retornan un objeto JSON con los campos abajo:

<table><thead><tr><th width="142">Campo</th><th width="409">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>total</td><td>Numero total de MOs retornados por la solicitud</td><td>Integer</td></tr><tr><td>start</td><td>Limite minimo de la query</td><td>String</td></tr><tr><td>end</td><td>Limite máximo de la query</td><td>String</td></tr><tr><td>messages</td><td>Listado de los objetos</td><td>List</td></tr></tbody></table>

Cada mensaje del campo messages posee la siguiente estructura:

<table><thead><tr><th width="154">Campo</th><th width="409">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>id</td><td>Id del mensaje</td><td>String</td></tr><tr><td>subAccount</td><td>subcuenta responsable por enviar el mensaje que genero la respuesta</td><td>String</td></tr><tr><td>carrierId</td><td>Id de la operadora</td><td>Integer</td></tr><tr><td>carrierName</td><td>Nombre de la operadora</td><td>String</td></tr><tr><td>source</td><td>Numero de telefono que envio el mensaje de respuesta</td><td>String</td></tr><tr><td>shortCode</td><td>O <a href="https://doc-messaging.wavy.global/es.html?java#t-rminos-importantes">shortcode</a> del mensaje que origino la respuesta y por el cual la respuesta fue enviada.</td><td>String</td></tr><tr><td>messageText</td><td>Texto del mensaje de respuesta.</td><td>String</td></tr><tr><td>receivedAt</td><td>hora de recebido</td><td>Long</td></tr><tr><td>receivedDate</td><td>Fecha y hora de recibimiento en formato UTC</td><td>String</td></tr><tr><td>campaignAlias</td><td>Alias da campaña que origino la respuesta</td><td>String</td></tr><tr><td>mt</td><td><a href="https://doc-messaging.wavy.global/es.html?java#t-rminos-importantes">MT</a> original que genero la respuesta</td><td>MT</td></tr></tbody></table>

MTs tienen la siguinte estructura

<table><thead><tr><th width="163">Campo</th><th width="394">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>id</td><td>Id del MT</td><td>String</td></tr><tr><td>correlationId</td><td>CorrelationID enviado en el MT</td><td>String</td></tr><tr><td>username</td><td>Username del usuário responsable por enviar el MT</td><td>String</td></tr><tr><td>email</td><td>Email del responsable por enviar el MT</td><td>String</td></tr></tbody></table>

#### Solicitud listar MO (list) <a href="#solicitud-listar-mo-list" id="solicitud-listar-mo-list"></a>

El listado ira a retornar todos los MOs recibidos desde la ultima llamada de acuerdo con la respuesta estándar descripta encima. Una vez que esta llamada es realizada sera consumida y no retornara las llamadas siguientes.

Como un usuario regular, para recuperar todos los MOs de una subcuenta use:

`GET https://api-messaging.wavy.global/v1/sms/receive/list`

Como usuario administrador, para recuperar TODOS los MOs de TODAS las subcuentas use:

`GET https://api-messaging.wavy.global/v1/sms/receive/list`

Como usuario administrador. Para recuperar los MOs de una subcuenta con la referencia “referencia\_subcuenta”, use:

`GET https://api-messaging.wavy.global/v1/sms/receive/list?subAccount=referencia_subconta`

### Ejemplo JSON de respuesta:

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "55119123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "55119876543210",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "55119123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "55119876543210",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="Pyhton" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "55119123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "55119876543210",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "55119123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "55119876543210",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "55119123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "55119876543210",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}
{% endtabs %}


# Códigos de Estatus de Envió

Existen dos niveles de estatus, que son enviados independientemente.

1. Primer estatus (sent\_status - Estatus de envió = Callback)

Estatus de entrega **en la operadora**, este es el primer estatus que retornamos, y todas las operadoras poseen.

| Código | Mensaje                              | Significado                                                                                                                                                                                                                           |
| ------ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2      | SENT\_SUCCESS                        | Entregado en la operadora con éxito (Este es un estatus que debe ser considerado para efecto de cobro.)                                                                                                                               |
| 101    | EXPIRED                              | Expirado antes de ser entregado al aparato.                                                                                                                                                                                           |
| 102    | CARRIER\_COMMUNICATION\_ERROR        | Error de comunicación con la operadora.                                                                                                                                                                                               |
| 103    | REJECTED\_BY\_CARRIER                | Operadora rechazo el mensaje.                                                                                                                                                                                                         |
| 202    | INVALID\_DESTINATION\_NUMBER         | El numero de destino es invalido (No es un numero de celular valido).                                                                                                                                                                 |
| 203    | BLACKLISTED                          | El numero de destino esta en la lista bloqueada, y fue ingresado manualmente por su empresa.                                                                                                                                          |
| 204    | DESTINATION\_BLOCKED\_BY\_OPTOUT     | El numero de destino solicito opt-out, y no quiere recibir mas mensajes de esta sub cuenta. (Este estatus es especifico para cuentas de Mobile Marketing).                                                                            |
| 205    | DESTINATION\_MESSAGE\_LIMIT\_REACHED | El numero de destino ya recibió la cantidad máxima de mensajes que una misma empresa puede enviar, dentro de un periodo de tiempo. (Este estatus es especifico para cuentas de Mobile Marketing, es esta una regla de las operadoras. |
| 207    | INVALID\_MESSAGE\_TEXT               | El texto del mensaje contiene palabras que no son aceptadas por las operadoras. Estas palabras pueden ser de mucha bajeza, o en caso que su cuenta sea de Mobile Marketing, pueden ser de grandes marcas.                             |
| 301    | INTERNAL\_ERROR                      | Ocurrio un error en la plataforma de Sinch.                                                                                                                                                                                           |

2. Segundo estatus (delivered\_status - Delivery Report Callback)

Estatus de entrega **en el aparato**, este es el segundo estatus que retornamos y solo existe para los casos en que el primer estatus de arriba fue de éxito, o sea, el mensaje fue entregado en la operadora con éxito. En este estatus informamos si el mensaje fue o no entregado en el aparato. Algunas operadoras no poseen este segundo nivel de estatus, para estas operadoras, lo máximo de información que existe es el primer estatus o sea, si la operadora acepto el mensaje o no.

<table><thead><tr><th width="123">Código</th><th width="213">Mensaje</th><th>Significado</th></tr></thead><tbody><tr><td>4</td><td>DELIVERED_SUCCESS</td><td>Mensaje enviado exitosamente al operado contenedor, pero no entregado al dispositivo del usuario. Podría deberse a que el dispositivo del usuario está fuera de alcance; el número ha sido desactivado o bloqueado</td></tr><tr><td>104</td><td>NOT_DELIVERED</td><td>La operadora acepto el mensaje, pero no consiguió entregarlo en el aparato. Posibles causas:<br>Aparato apagado o fuera del área de servicio por tiempo determinado (normalmente 24 horas, pero para algunas operadoras, este tiempo de tentativa es de 8 horas).<br>Número válido, pero inactivo (algunas operadoras retornan este tipo de error solamente en este segundo nivel de estatus).</td></tr><tr><td>201</td><td>NOT_DELIVERED</td><td>El mensaje fue rechazado debido a que no hay suficiente crédito para la cuenta.</td></tr><tr><td>401</td><td>MESSAGE_SPLIT</td><td>Ocurre cuando el mensaje SMS alcanza su formato válido; 160 caracteres sin tilde o 70 sin tilde. El mensaje final tendrá el formato según el límite de caracteres y aparecerá en los informes finales según este formato.</td></tr></tbody></table>


# API SMPP

Todos los servicios provistos por el Sinch deben obligatoriamente ser encriptados, y el protocolo [SMPP](https://doc-messaging.wavy.global/es.html?php#t-rminos-importantes) no posee encriptacion nativa. En este caso disponibilizamos dos alternativas para integración

### Opción 1: SMPP over TLS + IP whitelist (**Opción recomendada**) <a href="#opci-n-1-smpp-over-tls-ip-whitelist-opci-n-recomendada" id="opci-n-1-smpp-over-tls-ip-whitelist-opci-n-recomendada"></a>

Esta es la opción que recomendamos. En el caso que su sistema no tenga esta funcionalidad, clique [AQUI](https://doc-messaging.wavy.global/es.html?php#proxy-tls-linux) para obtener ayuda en la configuracion de un proxy TLS.

Mas allá de la encriptacion que será realizada por TLS, el acceso será autorizado solamente para la IP publica de su servidor. (Aceptamos múltiples IPs e rangos) Esta información debe ser enviada para el [Service Center](https://servicecenter.wavy.global/).

En el caso que sea necesaria la liberación de salida de trafico en su firewall, recomendamos que sea liberado cualquier IP de destino en la puerta 2444. Si esto no es posible, se deberán incluir las siguientes reglas de liberación:

\
`200.219.220.8:2444`\
`200.219.220.193:2444`\
`45.236.179.18:2444`\
`45.236.179.19:2444`

### Opcion 2: SMPP over VPN <a href="#opcion-2-smpp-over-vpn" id="opcion-2-smpp-over-vpn"></a>

La encriptacion y la liberación de acceso sera realizada vía VPN.

En el caso que elija esta opción, configure las VPNs utilizando los siguientes peers y hosts con las propuestas de fase 1 y 2 que desea. Llene y envié el formulario de VPN de su empresa para nuestro [Service Center](https://servicecenter.wavy.global/).

`peer 200.155.0.250`\
`hosts 200.219.220.8 e 200.219.220.193`\
`port 2443`

`peer 45.236.178.12`\
`hosts 45.236.179.18 e 45.236.179.19`\
`port 2443`

Obs: Por razones de alta disponibilidad y balanceamiento de carga, es obligatorio el establecimiento de las **2** VPNs definidas arriba.


# Detalles de conexión

<table><thead><tr><th width="251">Información</th><th>Detalles</th></tr></thead><tbody><tr><td>Hostname / IP Address</td><td>smpp-messaging.wavy.global<br>Al configurar su sistema SMPP, es obligatorio utilizar el dominio como destino, y no las IPs.<br>Este dominio posee 4 proxys de entrada con round robin DNS y health check, y múltiples servidores backend. Basado en el volumen de mensajes que su empresa traficara, vamos a aumentar el numero de binds (conexiones) permitidas simultáneamente.</td></tr><tr><td>Puerta</td><td>2444 (SMPP over TLS) o 2443 (VPN)</td></tr><tr><td>Version SMPP</td><td>3.4</td></tr><tr><td>Numero de binds</td><td>Mínimo 4. Establecer por lo menos 4 binds es mandatario para obtener alta-disponibilidad y balanceamiento de carga.</td></tr><tr><td>Codificación de los caracteres</td><td>GSM7 - Default (data_coding = 0) (GSM3.38 extended table is not supported by carriers.)<br>LATIN1 (data_coding = 1)<br>UCS2 (data_coding=8).<br><em>Atención:</em> Verifique <a href="https://doc-messaging.wavy.global/es.html?php#acentos-y-caracteres-especiales">AQUI</a> detalles de caracteres y cobranzas.</td></tr><tr><td>Flash SMS</td><td>Soporta<br>data_coding=0x10 para GSM7 y data_coding 0x18 para UCS2<br>Cuando recibamos un flashSMS de nuestro cliente, el mismo sera enviado a la operadora como flashSMS, en el caso que la operadora no acepte flashSMS, este será entregado como un SMS regular.</td></tr><tr><td>Enquire-link</td><td>Minimo: 30 segundos / Máximo: 59 segundos.</td></tr><tr><td>Concatenación</td><td>UDH de 8 bits y 16 bits son compatibles / <a href="https://en.wikipedia.org/wiki/Concatenated_SMS">UDH Headers</a></td></tr><tr><td>Default addr_ton</td><td>1</td></tr><tr><td>Default addr_npi</td><td>1</td></tr><tr><td>window size</td><td>10</td></tr><tr><td>System IDs</td><td>SystemIDs can NOT contain the underscore _ character</td></tr><tr><td>Passwords</td><td>De acuerdo con la especificación del protocolo versión 3.4, no puede contener mas que 8 caracteres.</td></tr><tr><td>2way</td><td>Soportado</td></tr><tr><td>SMPP bind type</td><td>Transceiver(Recomendado). Binds transmit/receiver separados también son aceptados.</td></tr><tr><td>SMPP system_type</td><td>MovileSMSC</td></tr><tr><td>SMPP source addr (senderID)</td><td>Cuando su servicio necesite respuestas de usuarios (MO), el source addres <strong>debe</strong> ser igual al system_id, o sea, el nombre de usuario. Cuando el servicio no necesita de MOs usted puede utilizar cualquier cosa en este campo.</td></tr><tr><td>Max flujo de MO</td><td>80 por bind</td></tr><tr><td>Max flujo de MT</td><td>80 por bind</td></tr><tr><td>Server Timezone</td><td>UTC</td></tr><tr><td>Formato de ID</td><td>UUID</td></tr><tr><td>Default validity_period</td><td>24 hours</td></tr></tbody></table>


# Estatus de envio (Callback e DLR)

1. Primer estatus (sent\_status - Estatus de envio = Callback)

Estatus de entrega **en la operadora**, este es el primeir estatus que retornamos, y todas las operadoras poseen.

<table><thead><tr><th width="122">stat</th><th width="67">err</th><th width="132">TLV (0x1403)</th><th width="144">TLV (0x1404)</th><th>Significado</th></tr></thead><tbody><tr><td>ACCEPTD</td><td>000</td><td>2</td><td>SENT_SUCCESS</td><td>Entregado en la operadora con éxito. <strong>(Este es un estatus que debe ser considerado para efecto de cobro.)</strong></td></tr><tr><td>EXPIRED</td><td>101</td><td>101</td><td>EXPIRED</td><td>Expirado antes de ser entregado al aparato.</td></tr><tr><td>REJECTD</td><td>102</td><td>102</td><td>CARRIER_COMMUNICATION_ERROR</td><td>Error de comunicación con la operadora.</td></tr><tr><td>REJECTD</td><td>103</td><td>103</td><td>REJECTED_BY_CARRIER</td><td>Operadora rechazo el mensaje.</td></tr><tr><td>REJECTD</td><td>202</td><td>202</td><td>INVALID_DESTINATION_NUMBER</td><td>El numero de destino es invalido (No es un numero de celular valido).</td></tr><tr><td>REJECTD</td><td>203</td><td>203</td><td>BLACKLISTED</td><td>El numero de destino esta en la lista bloqueada, y fue ingresado manualmente por su empresa.</td></tr><tr><td>REJECTD</td><td>204</td><td>204</td><td>DESTINATION_BLOCKED_BY_OPTOUT</td><td>El numero de destino solicito opt-out, y no quiere recibir mas mensajes de esta sub cuenta. (Este estatus es especifico para cuentas de Mobile Marketing).</td></tr><tr><td>REJECTD</td><td>205</td><td>205</td><td>DESTINATION_MESSAGE_LIMIT_REACHED</td><td>El numero de destino ya recibió la cantidad máxima de mensajes que una misma empresa puede enviar, dentro de un periodo de tiempo. (Este estatus es especifico para cuentas de Mobile Marketing, es esta una regla de las operadoras.</td></tr><tr><td>REJECTD</td><td>207</td><td>207</td><td>INVALID_MESSAGE_TEXT</td><td>El texto del mensaje contiene palabras que no son aceptadas por las operadoras. Estas palabras pueden ser de mucha bajeza, o en caso que su cuenta sea de Mobile Marketing, pueden ser de grandes marcas.</td></tr><tr><td>REJECTD</td><td>301</td><td>301</td><td>INTERNAL_ERROR</td><td>Ocurrio un error en la plataforma de Sinch.</td></tr><tr><td>UNKNOWN</td><td>301</td><td>301</td><td>INTERNAL_ERROR</td><td>Ocurrio un error en la plataforma de Sinch.</td></tr></tbody></table>

2. Segundo estatus (delivered\_status - Delivery Report Callback)

Estatus de entrega **en el aparato**, este es el segundo estatus que retornamos y solo existe para los casos en que el primer estatus de arriba fue de éxito, o sea, el mensaje fue entregado en la operadora con éxito. En este estatus informamos si el mensaje fue o no entregado en el aparato. Algunas operadoras no poseen este segundo nivel de estatus, para estas operadoras, lo máximo de información que existe es el primer estatus o sea, si la operadora acepto el mensaje o no.

<table><thead><tr><th>stat</th><th width="72">err</th><th width="135">TLV (0x1403)</th><th width="136">TLV (0x1404)</th><th width="135">TLV (0x1405)</th><th width="137">TLV (0x1406)</th><th width="269">Significado</th></tr></thead><tbody><tr><td>DELIVRD</td><td>000</td><td>2</td><td>SENT_SUCCESS</td><td>4</td><td>DELIVERED_SUCCESS</td><td>Entregado en el aparato con éxito.</td></tr><tr><td>UNDELIV</td><td>104</td><td>2</td><td>SENT_SUCCESS</td><td>104</td><td>NOT_DELIVERED</td><td>La operadora acepto el mensaje, pero no consiguió entregarlo en el aparato. Posibles causas:<br>Aparato apagado o fuera del área de servicio por tiempo determinado (normalmente 24 horas, pero para algunas operadoras, este tiempo de tentativa es de 8 horas).<br>Número válido, pero inactivo (algunas operadoras retornan este tipo de error solamente en este segundo nivel de estatus).</td></tr></tbody></table>

{% hint style="danger" %}
**IMPORTANTE! el estado de entrega en el aparato, operadora y MOs son encolados si ocurre algún problema de conectividad, pero el plazo es de 8hs, después de este período no será posible obtener los status por SMPP**
{% endhint %}


# Proxy TLS - Linux

El proxy es necesario en el caso que la conexión no sea vía VPN. Como fue explicado anteriormente, el protocolo SMPP no posee encriptacion TLS nativa, en este caso indicamos el siguiente proxy:

#### HAProxy <a href="#haproxy" id="haproxy"></a>

* Instalación haproxy servidores (red-hat / centos):

`$sudo yum install -y openssl-devel haproxy`

* Instalación haproxy servidores (debian / ubuntu)

`$sudo apt-get install -y openssl-devel haproxy`

* Despues de la Instalación, substituya todo el contenido del archivo /etc/haproxy/haproxy.cfg por el contenido al lado ->

{% hint style="danger" %}
**IMPORTANTE:** Configure su sistema (cliente SMPP) para utilizar como direccion de destino 127.0.0.1:2444
{% endhint %}

{% tabs %}
{% tab title="cURL" %}

> Configuración haproxy

```
global
    #    local2.*                       /var/log/haproxy.log
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    ssl-server-verify       none
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

resolvers dns
    nameserver google 8.8.8.8:53
    hold valid 1s

defaults
    log                     global
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend movile
  bind *:2444
  mode tcp
  option tcplog
  use_backend movile

backend movile
    mode tcp
    server smpp-messaging.wavy.global smpp-messaging.wavy.global:2444 ssl resolvers dns check inter 15000
```

<br>
{% endtab %}

{% tab title="Ruby" %}

> Configuración haproxy

```
global
    #    local2.*                       /var/log/haproxy.log
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    ssl-server-verify       none
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

resolvers dns
    nameserver google 8.8.8.8:53
    hold valid 1s

defaults
    log                     global
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend movile
  bind *:2444
  mode tcp
  option tcplog
  use_backend movile

backend movile
    mode tcp
    server smpp-messaging.wavy.global smpp-messaging.wavy.global:2444 ssl resolvers dns check inter 15000
```

{% endtab %}

{% tab title="Python" %}

> Configuración haproxy

```
global
    #    local2.*                       /var/log/haproxy.log
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    ssl-server-verify       none
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

resolvers dns
    nameserver google 8.8.8.8:53
    hold valid 1s

defaults
    log                     global
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend movile
  bind *:2444
  mode tcp
  option tcplog
  use_backend movile

backend movile
    mode tcp
    server smpp-messaging.wavy.global smpp-messaging.wavy.global:2444 ssl resolvers dns check inter 15000
```

{% endtab %}

{% tab title="PHP" %}

> Configuración haproxy

```
global
    #    local2.*                       /var/log/haproxy.log
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    ssl-server-verify       none
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

resolvers dns
    nameserver google 8.8.8.8:53
    hold valid 1s

defaults
    log                     global
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend movile
  bind *:2444
  mode tcp
  option tcplog
  use_backend movile

backend movile
    mode tcp
    server smpp-messaging.wavy.global smpp-messaging.wavy.global:2444 ssl resolvers dns check inter 15000
```

{% endtab %}

{% tab title="Java" %}

> Configuración haproxy

```
global
    #    local2.*                       /var/log/haproxy.log
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    ssl-server-verify       none
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

resolvers dns
    nameserver google 8.8.8.8:53
    hold valid 1s

defaults
    log                     global
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend movile
  bind *:2444
  mode tcp
  option tcplog
  use_backend movile

backend movile
    mode tcp
    server smpp-messaging.wavy.global smpp-messaging.wavy.global:2444 ssl resolvers dns check inter 15000
```

{% endtab %}
{% endtabs %}


# Proxy TLS - Windows

Es posible utilizar nginx como proxy TLS en servidores windows para realizar la encriptacion de los dados

Descargue la versión abajo (importante utilizar esta versión porque las versiones antiguas resuelven el nombre apenas en el primer request)

<http://nginx.org/download/nginx-1.12.1.zip>

Extraiga el archivo .zip en la carpeta deseada y sustituya el contenido del archivo conf/nginx.conf con los datos al lado.

### configuracion nginx

{% tabs %}
{% tab title="cURL" %}

```
worker_processes  2;

events {
    worker_connections  1024;
}

stream {
  resolver 8.8.8.8 valid=1s;
  map $remote_addr $backend {
    default smpp-messaging.wavy.global;
  }
  server {
    listen 2444;
    proxy_pass $backend:2444;
    proxy_ssl  on;
  }
}
```

{% endtab %}

{% tab title="Ruby" %}

```
worker_processes  2;

events {
    worker_connections  1024;
}

stream {
  resolver 8.8.8.8 valid=1s;
  map $remote_addr $backend {
    default smpp-messaging.wavy.global;
  }
  server {
    listen 2444;
    proxy_pass $backend:2444;
    proxy_ssl  on;
  }
}
```

{% endtab %}

{% tab title="Python" %}

```
worker_processes  2;

events {
    worker_connections  1024;
}

stream {
  resolver 8.8.8.8 valid=1s;
  map $remote_addr $backend {
    default smpp-messaging.wavy.global;
  }
  server {
    listen 2444;
    proxy_pass $backend:2444;
    proxy_ssl  on;
  }
}
```

{% endtab %}

{% tab title="PHP" %}

```
worker_processes  2;

events {
    worker_connections  1024;
}

stream {
  resolver 8.8.8.8 valid=1s;
  map $remote_addr $backend {
    default smpp-messaging.wavy.global;
  }
  server {
    listen 2444;
    proxy_pass $backend:2444;
    proxy_ssl  on;
  }
}
```

{% endtab %}

{% tab title="Java" %}

```
worker_processes  2;

events {
    worker_connections  1024;
}

stream {
  resolver 8.8.8.8 valid=1s;
  map $remote_addr $backend {
    default smpp-messaging.wavy.global;
  }
  server {
    listen 2444;
    proxy_pass $backend:2444;
    proxy_ssl  on;
  }
}
```

{% endtab %}
{% endtabs %}


# API SFTP

### Detalles de conexión <a href="#detalles-de-conexi-n" id="detalles-de-conexi-n"></a>

|                   |                                                                            |
| ----------------- | -------------------------------------------------------------------------- |
| **Hostname**      | ftp-messaging.wavy.global                                                  |
| **Puerta**        | 2222                                                                       |
| **Protocolo**     | SFTP (transferencia sobre ssh, usando criptografía entre cliente-servidor) |
| **Autenticación** | username + senha (provisto por soporte)                                    |
| **Portal**        | messaging.wavy.global                                                      |

{% hint style="danger" %}
**Es necesaria la liberación de sus IPs en el firewalls de Sinch Si fuera necesario liberación del firewall para salida sentido puerta 2222, usted debe liberar los DNS, o las IPs 200.219.220.54, 200.189.169.53, 45.236.179.22**
{% endhint %}


# Envio de mensajes via SFTP

Para realizar el disparo de mensajes vía SFTP es necesario generar un archivo en formato TXT, el formato debe seguir el siguiente ejemplo:

**numero;texto;correlationId(opcional);**\
**5511900000000;mensaje 1;;**\
**5519900000000;mensaje 2;;**\
**5521900000000;mensaje 3;;**\
**EOF**

El nombre del archivo a ser enviado debe seguir el siguiente formato:

`<ID_SUBCONTA>.<DATA(YYYYMMDD)>.<SEQUENCIA> ou <NOME_DE_REFERÊNCIA_SUBCONTA>.<DATA(YYYYMMDD)>.<SEQUENCIA>`

Las sub cuentas (projectos) pueden ser creadas por el propio cliente en el portal. En el caso que no sea seguida la nomenclatura arriba, el envío será realizado por la sub cuenta default del cliente.

**Ejemplo:**

`3486.20170101.01.txt ou PROJETO1.20170101.01.txt`

{% hint style="danger" %}
`Es`importante seguir la nomenclatura definida para que los mensajes sean debitados de la sub cuenta correcta.
{% endhint %}

Después deberá ser realizado el envió del archivo para el servidor sftp en el directorio upload. El archivo será movido para el directorio success después de procesado, en el caso que aparezca un error el archivo será movido para el directorio error.

{% hint style="danger" %}
**Se ponga en contacto con Sinch para saber más sobre las diferentes posibilidades de configuración, en caso de que el formato actual no se ajuste.**
{% endhint %}


# API Validación de números

Esta API permite realizar consultas en lote de números retornando la operadora a la que esos números pertenecen y consecuentemente los números inválidos (si un número no pertenece a ninguna operadora por lo tanto es inválido). Ella utiliza el protocolo HTTP con TLS y el metodo POST con parámetros en [JSON](http://json.org/). La consulta permite saber si determinado número pertenece a la operadora pero no es posible verificar si este número se encuentra activo.

{% hint style="danger" %}
**IMPORTANTE: Las consultas de carrier lookup poseen una tarifacion diferenciada de los envíos de SMS, antes de realizar la consulta verifique con el responsable del equipo comercial sobre las tarifaciones**
{% endhint %}

#### Autenticacion <a href="#autenticacion" id="autenticacion"></a>

Para efectuar envíos y consultas en nuestra API es necesaria la autenticacion por medio de usuario o e-mail, en conjunto con un token.

| Campo               | Detalles                                                                                                                                                 | Data Type |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
| UserName            | Su usuario o email                                                                                                                                       | String    |
| AuthenticationToken | Su token de autenticacion. Verifique [aqui](https://messaging.wavy.global/dashboard/profile/settings#profile) y lea las descripciones de usuarios abajo. | String    |

#### Detalles de conexión <a href="#detalles-de-conexi-n" id="detalles-de-conexi-n"></a>

|                   |                                     |
| ----------------- | ----------------------------------- |
| **Hostname**      | api-messaging.wavy.global           |
| **APIs**          | Consulta en lote /v1/carrier/lookup |
| **Puerta**        | 443 (https)                         |
| **Protocolo**     | HTTPS (encriptacion TLS)            |
| **Autenticacion** | username + token                    |
| **Portal**        | messaging.wavy.global               |


# Requisicion HTTP Method POST

`POST https://api-messaging.wavy.global/v1/carrier/lookup Content-Type: application/json`

Para realizar la consulta basta adicionar en el body de la requisicion un json con el array de números. Es posible hacer la consulta utilizando los formatos +55(19)999999999 y 5519999999999.

{% tabs %}
{% tab title="cURL" %}

```
curl --request POST \
  --url https://api-messaging.wavy.global/v1/carrier/lookup \
  --header 'authenticationtoken: <authenticationtoken>' \
  --header 'username: <username>' \
  --header 'Content-Type: application/json' \
  --data '{
    "destinations": ["+55(19)997712322", "5519997712322", "2312312"]
}'
```

{% endtab %}

{% tab title="Ruby" %}

```
require 'uri'
require 'net/http'

url = URI("https://api-messaging.wavy.global/v1/carrier/lookup")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authenticationtoken"] = '<authenticationtoken>'
request["username"] = '<username>'
request["Content-Type"] = 'application/json',
request.body = "{\n\t\"destinations\": [\"+55(19)997712322\", \"5519997712322\", \"2312312\"]\n}"

response = http.request(request)
puts response.read_body
```

<br>
{% endtab %}

{% tab title="Python" %}

```
import requests

url = "https://api-messaging.wavy.global/v1/carrier/lookup"

payload = "{\n\t\"destinations\": [\"+55(19)997712322\", \"5519997712322\", \"2312312\"]\n}"
headers = {
    'Content-Type: application/json',
    'authenticationtoken': "<authenticationtoken>",
    'username': "<username>"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
```

<br>
{% endtab %}

{% tab title="PHP" %}

```
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api-messaging.wavy.global/v1/carrier/lookup",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\n\t\"destinations\": [\"+55(19)997712322\", \"5519997712322\", \"2312312\"]\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json",
    "authenticationtoken: <authenticationtoken>",
    "username: <username>"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

{% endtab %}
{% endtabs %}

### Respuesta a la consulta <a href="#respuesta-a-la-consulta" id="respuesta-a-la-consulta"></a>

La respuesta de la consulta en lote contendrá un archivo JSON con las informaciones individuales sobre cada número consultado:

| Campo        | Detalles                                                                                                                                      | Tipo                  |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| id           | UUID generado para este lote                                                                                                                  | String                |
| destinations | Este campo es un array con las respuestas de las consultas individuales del lote, contiene el id y el correlationId de cada número consultado | IndividualResponse\[] |
| destination  | Número de telefono consultado                                                                                                                 | Long                  |
| active       | status del numero en la operadora (actualmente verifica apenas si el número pertenece a la operadora, no activo / en uso)                     | Boolean               |
| carrier      | Operadora y país a la cual pertenece el número consultado                                                                                     | array\[]              |
| name         | Nombre de la operadora                                                                                                                        | String                |
| countryCode  | Codigo de País                                                                                                                                | String                |

> Respuesta a la llamada en formato JSON

{% tabs %}
{% tab title="cURL" %}

```
{
    "id": "aadb5130-7dd7-11e7-baac-a6aabe61edb5",
    "destinations": [
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "2312312",
            "active": false,
            "carrier": {
                "name": "UNKNOWN"
            }
        }
    ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
    "id": "aadb5130-7dd7-11e7-baac-a6aabe61edb5",
    "destinations": [
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "2312312",
            "active": false,
            "carrier": {
                "name": "UNKNOWN"
            }
        }
    ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{
    "id": "aadb5130-7dd7-11e7-baac-a6aabe61edb5",
    "destinations": [
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "2312312",
            "active": false,
            "carrier": {
                "name": "UNKNOWN"
            }
        }
    ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
    "id": "aadb5130-7dd7-11e7-baac-a6aabe61edb5",
    "destinations": [
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "2312312",
            "active": false,
            "carrier": {
                "name": "UNKNOWN"
            }
        }
    ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{
    "id": "aadb5130-7dd7-11e7-baac-a6aabe61edb5",
    "destinations": [
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "5519997712322",
            "active": true,
            "carrier": {
                "name": "VIVO",
                "countryCode": "BR"
            }
        },
        {
            "destination": "2312312",
            "active": false,
            "carrier": {
                "name": "UNKNOWN"
            }
        }
    ]
}
```

{% endtab %}
{% endtabs %}

El ultimo numero de ejemplo se trata de un numero invalido para demostrar como la consulta retorna el JSON en este caso.


# Acentos y caracteres especiales

Mensajes que poseen **solamente** caracteres que están en la siguiente tabla, son cobrados cada 160 caracteres. En el caso que el mensaje tenga **uno o mas** caracteres que no están en la tabla el cobro sera realizado cada 70 caracteres, conforme la especificación del protocolo en la red de las operadoras.

|       |    |   |   |   |   |   |    |    |   |   |    |
| ----- | -- | - | - | - | - | - | -- | -- | - | - | -- |
| Space | (  | 0 | 8 | @ | H | P | X  | \` | h | p | x  |
| !     | )  | 1 | 9 | A | I | Q | Y  | a  | i | q | y  |
| “     | \* | 2 | : | B | J | R | Z  | b  | j | r | z  |
| #     | +  | 3 | ; | C | K | S | {  | c  | k | s | \~ |
| $     | ,  | 4 | < | D | L | T | \\ | d  | l | t |    |
| %     | -  | 5 | = | E | M | U | }  | e  | m | u |    |
| &     | .  | 6 | > | F | N | V | ^  | f  | n | v |    |
| ‘     | /  | 7 | ? | G | O | W | \_ | g  | o | w |    |

**Observaciones:**

1 - La habilitación del uso de acentos y caracteres especiales debe ser solicitada al suporte.

2 - En el caso que la operadora destino no acepte acentos y caracteres, nuestra plataforma realiza automáticamente para nuestros clientes, la substitución de los mismos, por ejemplo: á para a, é para e, etc.


# Textos grandes (concatenación)

A pesar que el protocolo utilizado en la red de las operadoras tenga limite de 70 o 160 caracteres, para mensajes con o sin [**caracteres especiales**](https://doc-messaging.wavy.global/es.html?ruby#acentos-y-caracteres-especiales) respectivamente, es posible enviar mensajes grandes con la utilización de concatenación, donde los mensajes son reagrupados por los aparatos al recibirlos.

Clientes integrados vía HTTPS, SFTP, o MQ, no existe ningún indicador adicional para activar la concatenación, basta solo enviar el texto del mensaje grande entero de una sola vez.

Clientes integrados vía SMPP, deben utilizar la funcionalidad de concatenación con indicadores en el header (UDH), [LINK](https://en.wikipedia.org/wiki/Concatenated_SMS)

Es importante notar que, a pesar de aparecer en el aparato como un único mensaje grande, los mensajes continúan traficando en la red de operadora individualmente, en este caso, continúan siendo cobrados individualmente cada 70 o 160 (dependiendo de los [**caracteres**](https://doc-messaging.wavy.global/es.html?ruby#acentos-y-caracteres-especiales) utilizados). Recordando que al utilizar concatenación parte de los caracteres (70 o 160) son utilizados por el encabezado.

Observación: En los casos de operadoras que no soportan la funcionalidad de concatenación, Sinch enviá los mensajes separadamente, sin concatenar incluyendo automáticamente para nuestros clientes, indicadores de orden,

Ex:

`Inicio do texto…. (½)`

`……fin do texto (2/2)`


# Introducción a Messeging - SMS

Messaging es nuestra plataforma de gestión de mensajería, es desde allí que puedes enviar y medir todos tus envios.

## ¿Cómo acceder a Messeging?

Para acceder a la plataforma, haga clic en el siguiente enlace:[ ](https://messaging.wavy.global/)[**Messaging - MM2**](https://messaging.sinch.global), Se le dirigirá a una página web como esta:

<figure><img src="/files/7WOGuANRlH9GSlaJOxKm" alt=""><figcaption></figcaption></figure>

## ¿Cuáles son mis credenciales de inicio de sesión?

Siempre creamos su "**Usuario**" para inicio de sesión con su dirección de correo electrónico empresarial, no utilizamos  correos de cuentas personales para crear usuarios.

Una vez que su usuario esté listo, recibirá un correo electrónico con la información de acceso.

<figure><img src="/files/l7odGNLuL4SlReLveYJv" alt=""><figcaption></figcaption></figure>

¿No recibió el correo electrónico con las pautas de acceso? Es simple, ingresa a: [**restablecimiento de contraseña**](https://messaging.wavy.global/password).

## Olvidé mi contraseña, ¿Ahora que hago?

En caso de que olvide su contraseña, puede hacer clic en el botón de [**olvide mi contraseña**](https://messaging.wavy.global/password) en la página de inicio, a continuación capture su dirección de correo electrónico y se le enviará a su correo el paso a paso para restablecer su nueva contraseña.

<figure><img src="/files/Vdx0zLFcMySRPLM4yxwq" alt=""><figcaption></figcaption></figure>

¿Listo?


# Glosario

A continuación se muestran algunos términos básicos y recurrentes con los que debe familiarizarse para utilizar nuestra plataforma Messaging.

<table><thead><tr><th width="226" align="center">Palabra</th><th align="center">Descripción</th></tr></thead><tbody><tr><td align="center"><strong>API</strong></td><td align="center">Es un conjunto de rutinas y estándares establecidos por el software para el uso de sus funcionalidades por parte de aplicaciones que no pretenden involucrarse en los detalles de la implementación del software, sino únicamente para utilizar sus servicios</td></tr><tr><td align="center"><strong>Lista de bloqueos</strong></td><td align="center">Son números que la empresa agrega y cataloga como números que no pueden recibir mensajes. Ejemplo: número de competidores.</td></tr><tr><td align="center"><strong>Carrier</strong></td><td align="center">¡Usted también es cliente de Carrier! Llamamos Carrier al Operador que posee el número en cuestión. Es decir, mi número es TIM, por lo que mi operador MSISDN es TIM.</td></tr><tr><td align="center"><strong>ID de cuenta o cliente</strong></td><td align="center">Cada uno de nuestros clientes tiene una identificación de cliente.</td></tr><tr><td align="center"><strong>Tasa de conversión</strong></td><td align="center">La tasa de conversión  (utilizada principalmente por clientes internacionales) es la fórmula utilizada para medir la cantidad de mensaje enviado VS el volumen de entrega. Cuando hay una caída en DR, los clientes se ven directamente afectados en la tasa de conversión, pudiendo dirigir el tráfico a otro operador de SMS que tenga una mejor tasa de conversión.</td></tr><tr><td align="center"><strong>Update</strong></td><td align="center">Una implementación, o lanzamiento, es cada actualización, lanzamiento o nueva versión de alguna característica. Ya sea en homologación o producción, todos los updates aumentan o eliminan alguna característica.</td></tr><tr><td align="center"><strong>RD o DLR</strong></td><td align="center">DR, o Informe de entrega, es el estado de confirmación de entrega exitosa en el transportista. Si el MT se entregó con éxito, el DR confirmará el tiempo de entrega de este SMS al usuario. Importante, si al momento de enviar el SMS, el dispositivo se encuentra apagado o fuera del área, el tiempo de DR se retrasará.</td></tr><tr><td align="center"><strong>FTP</strong></td><td align="center">Este sistema es muy utilizado en Sinch para envíos en grandes lotes. Cada plataforma (WA o SMS) debe respetar un formato preestablecido.</td></tr><tr><td align="center"><strong>LA</strong></td><td align="center">LA, o Gran Cuenta, es un número corto (hasta 6 dígitos) que se utiliza para enviar el SMS. Los números pertenecen a los operadores y solo pueden ser utilizados por socios autorizados.</td></tr><tr><td align="center"><strong>MO</strong></td><td align="center">MO, o Mobile Originated, es todo mensaje que sale de un dispositivo para la empresa en cuestión. Se utiliza en el caso de preguntas y respuestas por mensaje, cuando se requiere confirmación del usuario. Asegúrate de que tu cuenta esté habilitada para esto.</td></tr><tr><td align="center"><strong>MT</strong></td><td align="center">MT, o Mobile Terminated, es todo mensaje destinado al dispositivo del usuario. Es decir, la empresa envía un mensaje al número en cuestión.</td></tr><tr><td align="center"><strong>MSISDN</strong></td><td align="center">Es un número que identifica de manera única una suscripción en una red móvil GSM o UMTS.</td></tr><tr><td align="center"><strong>OPT-IN</strong></td><td align="center">El opt-in es el permiso que da el usuario para que una empresa pueda contactarlo a través de un determinado canal. Este permiso puede ser, por ejemplo, a través de la página web de la empresa, correo electrónico o SMS.</td></tr><tr><td align="center"><strong>OPT-OUT</strong></td><td align="center">La exclusión voluntaria es cuando el usuario elige no recibir más mensajes de ese contacto a través de un canal determinado. Cuando un usuario elige salir de la lista de contactos, nuestro sistema bloquea cualquier intento de envío que se le pueda ocurrir al usuario de ese contacto.</td></tr><tr><td align="center"><strong>Sub-cuenta</strong></td><td align="center">Dentro de una Cuenta, es posible tener varias Subcuentas con “departamentos” y configuraciones personalizadas, donde es posible realizar varios envíos, como servicio, CRM, estado de pedidos, entre otros.</td></tr><tr><td align="center"><strong>VPN</strong></td><td align="center">En resumen, crea una conexión segura y encriptada, que puede considerarse como un túnel, entre su computadora y un servidor operado por el servicio VPN.</td></tr><tr><td align="center"><strong>Webhook</strong></td><td align="center">Un webhook es un puente de información entre nuestro sistema Sinch y la empresa propietaria del webhook. Este puente se realiza a través de una URL donde viaja la información entre nuestro sistema y el sistema deseado por nuestro cliente.</td></tr><tr><td align="center"><strong>Lista Blanca</strong></td><td align="center">Los usuarios que están en la Lista Blanca son usuarios que la empresa agrega y clasifica como usuarios que pueden recibir mensajes. No significa que este usuario haya dado permiso en algún momento.</td></tr></tbody></table>


# Pantalla de inicio de la plataforma

Su pantalla de inicio para el control de datos de herramientas

Siempre que acceda a la herramienta, esta será su pantalla de inicio.

Trae información importante sobre el uso de la herramienta. En este tablero inicial, puede medir la cantidad de envíos realizados en los últimos 7, 15 o 30 días.

<figure><img src="/files/4uwTVmQJKzeMryDz8y8l" alt=""><figcaption></figcaption></figure>

En este gráfico solo tendrá una descripción general de la plataforma para que pueda medir la cantidad de tiros realizados durante el período.

La herramienta enumera la cantidad total de mensajes activados, la cantidad total de mensajes que se enviaron y la cantidad total de mensajes con errores.

El gráfico listado estará segmentado por días y colores:

* <mark style="color:green;">**Barra verde:**</mark> Envíos realizados con éxito.
* **Barra gris:** Envíos que tenían errores.

En nuestro centro de informes siempre podrás seguir qué pasó con cada uno de los mensajes enviados.

También tendrá visibilidad de todas las campañas y sus totales de envíos para el periodo seleccionado.


# Mi perfil | Idioma

Acceder a la información sobre su perfil de usuario en la plataforma.

En la parte superior derecha de la pantalla, expanda el menú de opciones y seleccione la función **Mi perfil.**

<figure><img src="/files/1FbXq36OkSONyZs76yzT" alt=""><figcaption></figcaption></figure>

Al hacer clic en este campo, tendrá información importante sobre su usuario en la plataforma, si tiene algún problema con la herramienta, nuestro equipo de soporte solicita algunos datos que se enumeran en este campo.

* **Usuario:** Este campo identifica quién eres dentro de la plataforma, también aparece en nuestro centro de informes.
* **Cliente:** Este campo identifica a qué empresa responde su usuario dentro del sistema.
* **Sub-cuenta:** A qué subcuenta responde su usuario, cada vez que realiza envíos en la herramienta, también se registra la subcuenta que llevó a cabo el activador.

El uso de subcuentas es interesante para empresas que tienen diferentes áreas usando el mismo ambiente, facilita la división por centro de costo.

* **Ficha de autenticación:** Este token es único y exclusivo para cada una de las cuentas creadas. Se utiliza si utiliza la integración con otras plataformas.

{% hint style="info" %}
¿Necesita saber más sobre las integraciones?

**​**[**Accede a nuestra documentación técnica**](https://doc-messaging.wavy.global/#key-terms)​
{% endhint %}

<figure><img src="/files/YksZhMEPYKvFhBo5HjUI" alt=""><figcaption></figcaption></figure>

Justo debajo tendrás información sobre tus datos de correo electrónico registrados en la plataforma y cambiar tu contraseña en caso de ser necesario.

<figure><img src="/files/0OVgPULIbs6LPR5MM47c" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Puede utilizar el nombre de usuario que aparece en el campo Mi perfil para iniciar sesión en la plataforma.**

**Al acceder a la plataforma, ingrese su nombre de usuario y contraseña registrados.**
{% endhint %}

## Idioma

Hoy en día, la herramienta admite tres idiomas nativos:

* **Portugués;**
* **Inglés;**
* **Español;**

Puedes configurar la herramienta en el idioma que te resulte más cómodo, para cambiar el idioma de la herramienta:

En la parte superior derecha de la pantalla, expanda el menú y seleccione el idioma:<br>

<figure><img src="/files/zXWPSresr6Tu8H8lRhe3" alt=""><figcaption></figcaption></figure>


# Como armar un archivo

Aprenda cómo ensamblar su archivo de carga con variables

{% hint style="info" %}
**El archivo de contactos puede estar en formato CSV o TXT y deben tener como máximo 105 MB.**
{% endhint %}

<figure><img src="/files/VRc5bLZEGn7VCZ5VZ1HJ" alt=""><figcaption></figcaption></figure>

**El uso del DDI está disponible solo para envío por archivo, puedes optar por agregar el DDI del país en tu base, o permitir que la herramienta lo haga automáticamente.**

Para armar un archivo en Excel o en Google Spreadsheet, debe seguir algunas premisas:

* La **primera línea** se compone por **títulos**
* La primera columna debe tener **números de contacto**;
* Las **demás columnas** son completadas por **placeholders ou variables** que pueden ser utilizadas en el cuerpo del mensaje o en las variables del HSM
* **Una de las columnas** puede ser usada como **Correlation ID** (con el título de **`correlationid`**) para identificar a los clientes en los reportes.

Ejemplo:

<table><thead><tr><th>destination</th><th>name</th><th width="132">info</th><th>correlationid</th></tr></thead><tbody><tr><td>5511987654321</td><td>André</td><td>Wavy</td><td>campanha_X</td></tr><tr><td>5511912345678</td><td>Mozart</td><td>Wavy</td><td>campanha_y</td></tr></tbody></table>

## Cómo ensamblar un archivo .CSV

Para montar el archivo en Excel o Google Spreadsheet, siga el mismo modelo anterior para el archivo XLSX y guárdelo en CSV.

**Excel:**

![](/files/-LQj4VulSl20tn4_FJd-)

**Google Sheets:**

![](/files/-LQj4VumPyoH0oNuSxhx)

## **Como armar un archivo TXT**

Para ensamblar un archivo TXT, solo complete la primera línea del archivo con la información: destino: reservado para todos los números de teléfono separado por ";" las otras "columnas" del archivo.

Para armar un archivo TXT usted debe respetar el siguiente formato:

```
destination,name,info,correlationid
5511987654321,wavy,global,list1
5511912345678,movile,company,list2
```

{% hint style="danger" %}
ATENCIÓN:&#x20;

* El uso de DDI solo está disponible para el **envío por archivo**.&#x20;
* Si los números de archivo ya tienen el código de país correspondiente, no se agregará nada.&#x20;
* Por ahora solo agregamos el código DDI de un solo país a la vez, si tu toma es para varios países haz tomas por separado.
  {% endhint %}


# Errores mapeados

Posibles errores que puedes encontrar al subir tu base de clientes.

### **Consejos:**&#x20;

Para comprender mejor el error en un archivo, la plataforma de mensajería comenzó a indicar qué está mal y en qué línea de su archivo.

Al subir un archivo con algún tipo de error, aparecerá el siguiente mensaje con un hipervínculo.

<figure><img src="/files/nO35sf98bRREzL4xHPFh" alt=""><figcaption></figcaption></figure>

Al hacer clic en ![](/files/2VHO20epyx7bg2rnY9QG), será redirigido a un archivo **.txt** (**dependiendo del navegador, se abrirá en una pestaña separada**) y verá información como esta:

<figure><img src="/files/40gzMszDG6AIRfI9bsPp" alt=""><figcaption></figcaption></figure>

Para que sea más fácil entender estos errores, tenga en cuenta este archivo:

<figure><img src="/files/GJE0p1z6lEOjWRw2nf7h" alt=""><figcaption></figcaption></figure>

¡De esta manera, será más fácil entender dónde está el problema! Si tiene alguna duda sobre la interpretación de esta información, no dude en llamar a nuestro equipo de soporte.

Sin embargo, es importante saber que tenemos un error que ocurre antes de cargar el archivo, que es Codificación, que es el error a continuación.

### Error al enviar el archivo relacionado con el formato&#x20;

**Mensaje de error:** El archivo debe estar escrito con caracteres UTF-8. Verifique y corrija el tipo antes de volver a intentarlo. Es obligatorio que el archivo esté escrito con caracteres UTF-8. Debes corregirlo antes de volver a intentarlo.


# Archivos guardados

Esta función trae la lista de todos los archivos que fueron enviados por usted, es decir, al enviar un mensaje su base se guardará automáticamente para futuros envíos.&#x20;

Para que pueda tener visibilidad de los recursos que se enumerarán a continuación, debe tener uno de los siguientes permisos:&#x20;

**Crear nuevos archivos en la plataforma:**&#x20;

* **Administrador:** puede agregar nuevos archivos que estarán disponibles para todos en la organización.&#x20;
* **Analista:** puede agregar nuevos archivos que estarán disponibles para todos en la organización.&#x20;
* **Gerente**: puede agregar nuevos archivos que estarán disponibles para todos en la organización.&#x20;
* **Revendedor:** puede agregar nuevos archivos que estarán disponibles para todos en la organización.&#x20;
* **Usuario:** Puede agregar nuevos archivos y solo estarán disponibles para su visualización.&#x20;

**Ver lista de archivos guardados:**&#x20;

* **Administrador:** Tendrás visibilidad de todos los archivos guardados en la plataforma.&#x20;
* **Analista:** Tendrás visibilidad de todos los archivos que pertenezcan a una misma subcuenta.
* **Gerente:** Tendrás visibilidad de todos los archivos guardados en la plataforma.&#x20;
* **Reseller:** Tendrás visibilidad de todos los archivos guardados en la plataforma.&#x20;
* **Usuario:** Solo tendrá visibilidad de los archivos guardados por él en la plataforma.&#x20;
* **Cargador por lotes:** tendrá visibilidad de todos los archivos que pertenecen a la misma subcuenta.&#x20;

**Eliminar lista de archivos guardados:**&#x20;

* **Administrador:** El administrador podrá eliminar cualquier archivo guardado de la plataforma.
* **Analista:** El analista podrá eliminar únicamente los archivos creados por él.&#x20;
* **Gerente:** el administrador solo puede eliminar los archivos creados por él.&#x20;
* **Usuario:** El usuario podrá eliminar únicamente los archivos creados por él.&#x20;

**Enviar archivos:**&#x20;

* **Administrador:** Puede enviar mensajes a cualquier archivo guardado creado en la plataforma.&#x20;
* **Analista:** Puede enviar mensajes a cualquier archivo guardado creado en la plataforma.&#x20;
* **Gerente:** puede enviar mensajes a cualquier archivo guardado creado en la plataforma.&#x20;
* **Revendedor:** Puede enviar mensajes a cualquier archivo guardado creado en la plataforma.&#x20;
* **Usuario:** Puede enviar mensajes a cualquier archivo guardado creado en la plataforma.
* **Cargador por lotes**: puede enviar mensajes a cualquier archivo guardado creado en la plataforma.

{% hint style="info" %}
**Importante:**&#x20;

* El administrador de la plataforma tendrá visibilidad de todos los archivos subidos.
* Los accesos con permiso del usuario solo tienen la visibilidad de los archivos enviados por él, no por otros usuarios.&#x20;
* No se permite seleccionar más de un archivo para enviar mensajes.&#x20;
* **Los archivos están disponibles durante 30 días.**
  {% endhint %}

## ¿Dónde encontrar archivos guardados?&#x20;

Para encontrar la funcionalidad, es necesario realizar el siguiente paso a paso: Haga clic en el botón Nuevo mensaje:

<figure><img src="/files/kySq7TZ9HPKAUiuotuBh" alt=""><figcaption></figcaption></figure>

Se abrirá un menú, selecciona la opción SMS:

<figure><img src="/files/az4zP2sPSxyBNze6IY9r" alt=""><figcaption></figcaption></figure>

La función estará disponible en la pantalla de destinatarios:&#x20;

<figure><img src="/files/n733fFvEqPtZ97jVXDar" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Si tiene permisos de administrador, todos los archivos cargados estarán disponibles para su visualización.&#x20;

Si tiene permisos de usuario, podrá ver todos los archivos enviados por usted.
{% endhint %}

Seleccione la base de contactos que desea utilizar y [**continúe con su envío.**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/como-enviar-un-mensaje)

## Gestión de archivos - Administrador de archivos

Cuando envías una toma a una base de clientes, se guardará automáticamente como se explicó en el tema anterior, tendrás la funcionalidad para administrar los archivos enviados con otras características como:&#x20;

* Ver las bases ya enviadas.&#x20;
* Eliminar bases de datos desactualizadas o desactualizadas.&#x20;
* Envíe un mensaje directamente a ese grupo de destinatarios.&#x20;
* Basta con subir nuevas bases para ponerlas a disposición de los usuarios.&#x20;

Para acceder a la pantalla de administración de archivos, en su menú lateral izquierdo, expanda la opción de mensajería y haga clic en [**administración de archivos - SMS:**](https://messaging.wavy.global/dashboard/messages/v2/sms/file-manager)

<figure><img src="/files/EkaHPhGTlTDtbvXF8mIQ" alt=""><figcaption></figcaption></figure>

Se le dirigirá a una pantalla como esta:

<figure><img src="/files/xL1hdgTCxpxsGwyV5f83" alt=""><figcaption></figcaption></figure>

## Subir archivo

Para cargar nuevos archivos, puede [**configurar su base de carga**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/como-montar-um-arquivo) de forma estándar y utilizar la siguiente función de carga:

<figure><img src="/files/FF7LPUXlEXKCXu9vS98l" alt=""><figcaption></figcaption></figure>

En el campo de arriba, deberá indicar si ha agregado el código de país a su envío, luego de seleccionar una de las opciones, el botón elegir archivo estará disponible para que elija su base.

{% hint style="info" %}
Preste atención, en este paso no estamos configurando un mensaje, solo estamos cargando una base de clientes para futuros envíos.
{% endhint %}

<figure><img src="/files/ktrdpI3ALeVIHyImKWw7" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**Não é possível visualizar os usuários que estão alocados no seu arquivo, você só terá essa visualização nos relatórios depois do seu arquivo enviado.**
{% endhint %}

Para enviar un mensaje a través del administrador de archivos, simplemente haga clic en el SMS en acciones, la opción estará disponible en todos sus archivos:

<figure><img src="/files/EywCZnOtI0n90Ovf0xnA" alt=""><figcaption></figcaption></figure>

Este sms que aparece en las acciones se llama Continuar Campaña:

<figure><img src="/files/vBkfSsqguRzfvjgS49FX" alt=""><figcaption></figcaption></figure>

Al hacer clic en él, será dirigido a la página de contenido de SMS:

<figure><img src="/files/0s4UO4qkZ2h1f2u2EAiK" alt=""><figcaption></figcaption></figure>

Elija la mejor manera de ensamblar su archivo y [**proceda con su envío.** ](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/como-enviar-un-mensaje)

## Exclusión de bases&#x20;

También es posible eliminar bases de datos que ya no se utilizarán, acceda al centro de [**gestión de archivos**](broken://pages/YYUhYuKg74BX4W0hdcgg).&#x20;

Ahora solo busque su archivo:

<figure><img src="/files/lWqAq8gRHz10KnVp3FK7" alt=""><figcaption></figcaption></figure>


# Campañas

Comprenda cómo funciona el análisis de mensajes a través de una campaña.

## Cómo crear una campaña en la plataforma

En el menú del lado izquierdo, expanda el menú de mensajes y seleccione campañas:

<figure><img src="/files/5aUEgxqDMDSQFGy8axhx" alt=""><figcaption></figcaption></figure>

En esta pantalla se pueden visualizar todas las campañas que se crean en la plataforma con la siguiente información:

* **Nombre de campaña;**
* **Alias ​​de campaña;**
* **Descripción;**
* **Creado en:**
* **Sub-cuenta;**
* **Estado;**
* **Comportamiento;**

Para crear una nueva campaña puedes usar el botón: <img src="/files/sez8z72wS7u8i03efCKc" alt="" data-size="line">.

Deberá agregar un nombre a la campaña y luego una descripción que es opcional, haga clic en guardar.

Eso es todo, su campaña está lista para usar.

## Enviar un mensaje con Campaña

Las campañas lo ayudan a organizar sus mensajes y compararlos entre sí.

<figure><img src="/files/z9EdZclXGxMp5NEPV7UX" alt=""><figcaption></figcaption></figure>

Hoy al hacer un envío tienes tres opciones:

* **Envío sin campaña;**
* **Seleccionar una campaña ya existe;**
* **Crear una nueva campaña;**

{% hint style="success" %}
Si ya ha enviado un mensaje con una campaña, es posible enviar nuevos mensajes utilizando una campaña existente.

Para desactivar una campaña, haga clic en el botón editar.
{% endhint %}

## Analizar Campañas

Al enviar un mensaje con una campaña, luego podemos filtrar los informes y analizar los datos de la campaña, el porcentaje de entrega, el porcentaje de lectura y otra información.


# Acentos y caracteres especiales

## Acentos y caracteres especiales

Los mensajes que **tienen solo los** caracteres que se encuentran en la tabla a continuación, se cobran cada 160 caracteres. Si el mensaje tiene uno o más caracteres que no están en la tabla a continuación, el cargo se realiza cada 70 caracteres, de acuerdo con la especificación del protocolo en la red de los operadores.

<table><thead><tr><th width="97.00000000000003"></th><th width="54"></th><th width="47"></th><th width="47"></th><th width="40"></th><th width="41"></th><th width="44"></th><th width="40"></th><th width="41"></th><th width="44"></th><th width="52"></th><th width="55"></th></tr></thead><tbody><tr><td>Space</td><td>(</td><td>0</td><td>8</td><td>@</td><td>H</td><td>P</td><td>X</td><td>`</td><td>h</td><td>p</td><td>x</td></tr><tr><td>!</td><td>)</td><td>1</td><td>9</td><td>A</td><td>I</td><td>Q</td><td>Y</td><td>a</td><td>i</td><td>q</td><td>y</td></tr><tr><td>"</td><td>*</td><td>2</td><td>:</td><td>B</td><td>J</td><td>R</td><td>Z</td><td>b</td><td>j</td><td>r</td><td>z</td></tr><tr><td>#</td><td>+</td><td>3</td><td>;</td><td>C</td><td>K</td><td>S</td><td>{</td><td>c</td><td>k</td><td>s</td><td>~</td></tr><tr><td>$</td><td>,</td><td>4</td><td>&#x3C;</td><td>D</td><td>L</td><td>T</td><td>\</td><td>d</td><td>l</td><td>t</td><td></td></tr><tr><td>%</td><td>-</td><td>5</td><td>=</td><td>E</td><td>M</td><td>U</td><td>}</td><td>e</td><td>m</td><td>u</td><td></td></tr><tr><td>&#x26;</td><td>.</td><td>6</td><td>></td><td>F</td><td>N</td><td>V</td><td>^</td><td>f</td><td>n</td><td>v</td><td></td></tr><tr><td>'</td><td>/</td><td>7</td><td>?</td><td>G</td><td>O</td><td>W</td><td>_</td><td>g</td><td>o</td><td>w</td><td></td></tr></tbody></table>

{% hint style="info" %}

### Comentarios:

* La habilitación del uso de acentos y caracteres especiales debe solicitarse al soporte.
* En caso de que el operador de destino no acepte acentos y caracteres (Oi y Sercomtel), nuestra plataforma los reemplaza automáticamente para nuestros clientes, por ejemplo: á por a, é por e, etc.
* Cuando agregamos un contenido en la codificación GSM-7 (160 caracteres), se cuentan como dos caracteres cada uno: **\ ^ \~ \[ ] { } | €.**
* Cuando se utiliza la codificación UCS-2/Unicode (70 caracteres), el conteo se realiza normalmente.
  {% endhint %}

## Textos grandes (concatenación)

El protocolo utilizado en la red de los operadores tiene límites de 70 o 160 caracteres, para mensajes con o sin **caracteres especiales**, respectivamente. Pero es posible enviar mensajes más grandes usando concatenación, donde el dispositivo reagrupa los mensajes al recibirlos. E

s importante señalar que, a pesar de aparecer en el dispositivo como un único mensaje grande, los mensajes siguen viajando por la red de los operadores de forma individual, y en este caso, nos siguen cobrando y cobrando de forma individual, cada 63 o 160 (según sobre los  utilizados). Recordando que al utilizar la concatenación parte de los caracteres (70 o 160) son utilizados por la cabecera, ya que es a través de ella que identificamos que un mensaje está enlazado con otro.&#x20;

También es importante tener en cuenta que cada vez que se concatenan mensajes, el operador deduce algunos caracteres del segundo mensaje, por lo que el segundo mensaje, en lugar de tener 160 o 70 caracteres, ahora tiene 153 o 63 caracteres disponibles para que los use el usuario en el momento. tiempo de envío.

## Clientes que utilizan SMS para marketing

En el caso de clientes que utilicen la plataforma para enviar SMS Marketing, también se descuenta el número de caracteres del encabezado y pie de página, ya que ambas identificaciones son **obligatorias** para este tipo de contenidos.&#x20;

**Encabezado:** En este caso, el encabezado es la 'referencia' de la subcuenta utilizada en el activador.&#x20;

**Pie de página:** es el mensaje de exclusión voluntaria, donde el destinatario tiene la opción de dejar de recibir este tipo de contenido.

## Palabras no permitidas en los mensajes SMS

Siguiendo las pautas de nuestros servicios y para proteger a los usuarios finales de contenido inapropiado, nuestro equipo de soporte debe habilitar algunas palabras o enlaces.

Si su mensaje no fue enviado porque **contiene un enlace** o **término específico** que puede parecer ambiguo en algunos casos, contáctenos ingresando a [**https://servicecenter.sinch.com**](https://servicecenter.sinch.com) informando el enlace o término a enviar y nuestro equipo hará una análisis de los mismos y liberación para sus futuros envíos.


# Envío rápido de SMS

Disparos rápidos de SMS

enviar un SMS más rápido y más fácil, utilice el "Envío rápido"disponible en el menú <img src="/files/3DNOvXdeLSuEvLkwnwbS" alt="" data-size="line">:&#x20;

<figure><img src="/files/J95tS2CxSViPSy8Ook6L" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Al usar esta función, hará toda su configuración de SMS en una sola pantalla y no podrá usar algunas funciones como:

* **Disparos para grupos;**
* **Disparos para contactos;**
* **El envío de su base de clientes está limitado a 80 MB de tamaño.**
* **No es posible utilizar la plantilla de SMS;**
* **No es posible utilizar campos dinámicos;**
* **No se pueden vincular campañas al envío;**
  {% endhint %}

## Subiendo destinatarios:

Puede elegir agregar números de teléfono manualmente usando la función: Ingrese los números de teléfono.

Segmentar usuarios es sencillo, siempre considere el formato: ddi + ddd + número, ejemplo:

<figure><img src="/files/ZKCVf75EPdrS8q7EGXs4" alt=""><figcaption></figcaption></figure>

Si envía a más de un destinatario, separe los números con una coma.&#x20;

¿Te preguntas si agregaste algún número repetido?&#x20;

No te preocupes, la plataforma solo entregará a ese número. Justo debajo, la plataforma cuenta los destinatarios adjuntos al mensaje:

<figure><img src="/files/VoP5xn5VBt1sBXq2Mb9w" alt=""><figcaption></figcaption></figure>

Si elige cargar su base de clientes, haga clic en cargar archivo:

<figure><img src="/files/z0DPcGyjf88pg5sM8qih" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Es obligatorio que tu archivo esté guardado en formato **.CSV, .TXT o .XLSX.**
{% endhint %}

Su archivo debe contener el siguiente formato **DDI+DDD+Número** de teléfono:

| Destination |
| ----------- |
| 52114882482 |
| 51244274512 |

En la plataforma tendrás la opción de agregar automáticamente el DDI del país a tus envíos, solo selecciona la siguiente opción:

<figure><img src="/files/k6TIDee40QiZTuich2zS" alt=""><figcaption></figcaption></figure>

Si desea que la herramienta agregue automáticamente el DDI del país, su base de clientes solo debe contener el código de área + número de teléfono.&#x20;

Simplemente habilite el botón y seleccione el país de su envío.

## Contenido

Añade el contenido de tu mensaje, tendrás 160 caracteres para describirlo.

{% hint style="danger" %}
Nuestra plataforma tiene un patrón habilitado para eliminar cualquier acento utilizado en el texto, obtenga más información sobre cómo funcionan los [**acentos haciendo clic aquí**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/acentos-y-caracteres-especiales).
{% endhint %}

<figure><img src="/files/E7AbGfya5dbccciIzUXb" alt=""><figcaption><p>Caso você ultrapasse a quantidade máxima de 160 caracteres, sua mensagem será dividida em mais partes, você pode acompanhar em quantas partes será dividida no contador de caracteres:</p></figcaption></figure>

{% hint style="danger" %}
Caso você ultrapasse a quantidade máxima de 160 caracteres, sua mensagem será dividida em mais partes, você pode acompanhar em quantas partes será dividida no contador de caracteres:
{% endhint %}

<figure><img src="/files/g7ssRoVQEiRVPLyAhhxr" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Preste atención a en cuántas partes se dividirá su mensaje para evitar cargos adicionales.&#x20;

Si desea enviar un enlace en su SMS, debe enviarlo a nuestro equipo para su evaluación. Puede acceder a nuestro [**Centro de Servicio**](https://servicecenter.sinch.com/) para esto.
{% endhint %}

En una nueva actualización de la plataforma, los administradores pueden ajustar la [**cantidad máxima de caracteres que se utilizarán en el SMS**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/configuracion-del-limite-de-caracteres).

## Enviar mensaje

Puede elegir enviar el mensaje inmediatamente o programarlo para que se envíe, si elige programar el mensaje para que se envíe, puede elegir la fecha y la hora en que se enviará el mensaje:

<figure><img src="/files/wSfnjXGmSmynL9KIrnLh" alt=""><figcaption></figcaption></figure>

Listo, ahora haz clic en enviar.


# Template SMS

Aprende a crear una plantilla de mensaje SMS

En Mensajería puede crear y guardar plantillas de mensajes SMS para futuras presentaciones!&#x20;

Agregue campos dinámicos y personalice su mensaje.

## **Cómo crear Template de SMS**

En el menú del lado izquierdo, expanda la pestaña Mensajería y haga clic en la opción de plantilla de SMS:

<figure><img src="/files/4fgeLQAMO5jK0heoUOwY" alt=""><figcaption></figcaption></figure>

Será redirigido a una nueva pantalla, donde podrá seguir todas las plantillas que ya están creadas en la plataforma, si esta es su primera plantilla, haga clic en la parte superior de la pantalla en: **Crear plantilla**.

<figure><img src="/files/DvcE9dbfUxW6bIVnuzLs" alt=""><figcaption></figcaption></figure>

Primero, debe agregar un nombre a su plantilla:

<figure><img src="/files/WnuKkj4K8Smmgkrptqfi" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Consejo:** Aplicar siempre nombres relacionados con el texto utilizado, esto facilita la gestión de la plataforma.
{% endhint %}

Luego puede comenzar a escribir el texto de su mensaje, puede usar emojis (no compatibles con todos los dispositivos) y también variables (campos dinámicos):

<figure><img src="/files/dbe2h2zBtJUfKELujjS2" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Consejo:** No te preocupes por los acentos utilizados, la plataforma los eliminará automáticamente.
{% endhint %}

Cuando usamos variables (campos dinámicos) en nuestros mensajes, aparecen entre llaves {{1}}, y se llaman variables o campos dinámicos porque son los únicos campos que puedes cambiar cuando envías tu mensaje usando una plantilla de SMS.&#x20;

Puede reemplazar estos campos con las palabras que tengan más sentido en su texto, usemos el ejemplo anterior:

```
¿Hola {{1}} todo bien?
Este es un mensaje de prueba para su empresa {{2}}
¡Hasta luego {{3}}!
```

El campo variable o dinámico **número uno** **{{1}}**, puede ser reemplazado por el nombre de mi cliente.&#x20;

El campo variable o dinámico **número dos {{2}}**, puede ser reemplazado por el nombre de la empresa de mi cliente.&#x20;

El campo variable o dinámico **número tres {{3}}**, puede ser reemplazado por un alias.

### Formateo de campos dinámicos&#x20;

Al agregar una base de clientes con campos dinámicos, podrá usar el encabezado de su base en su envío como se mencionó anteriormente.&#x20;

Pero también puede formatear cómo se utilizan estos campos.&#x20;

Imagina el siguiente escenario:&#x20;

Acabamos de crear una plantilla de SMS en la plataforma con el siguiente contenido:

```
¿Hola {{1}} todo bien?
Este es un mensaje de prueba para su empresa {{2}}.
¡Hasta luego {{3}}!
```

Sabemos que necesitaremos definir los campos {{1}}, {{2}} y {{3}}, para eso necesitaremos armar nuestra base de clientes, en este escenario usaremos la siguiente base para enviar :thumbsup:

<table><thead><tr><th>Destination</th><th>Nombre</th><th width="136">Producto</th><th>Empresa</th></tr></thead><tbody><tr><td>5511912345678</td><td>Renata Iaconelli</td><td>SMS</td><td>sinch</td></tr><tr><td>5511987654321</td><td>FULANA Ciclana</td><td>WhatsApp</td><td>SinCh</td></tr><tr><td>5511912345678</td><td>Ciclana MARIA</td><td>Sms</td><td>SINCH</td></tr></tbody></table>

{% hint style="info" %}
Tenga en cuenta que nuestros campos dinámicos no tienen un formato estándar, cada campo está configurado de forma diferente.
{% endhint %}

Al usar campos dinámicos con plantillas de SMS, cuando vamos a definir cómo se llenarán los campos dinámicos, tendrá la visualización de un campo llamado **función**, haga clic en él:

<figure><img src="/files/322pywk1Q2m445ifY5gR" alt=""><figcaption></figcaption></figure>

El campo se expandirá con la siguiente vista:

<figure><img src="/files/XYR2Mk1Lz0lMlbd9rRu2" alt=""><figcaption></figcaption></figure>

Ahora necesitamos definir cómo se completará el {{1}}, elija una de las columnas de su base de clientes:

<figure><img src="/files/WbJV0EIKQ2Rjf7fnZdRg" alt=""><figcaption></figcaption></figure>

Con el campo dinámico completado, seleccionaremos su tipo de formato:

<figure><img src="/files/smcQabikMgvjoBypZmh0" alt=""><figcaption></figcaption></figure>

Tendrás disponibles los siguientes formatos:&#x20;

* **Mayúsculas:** La plataforma pondrá todos los caracteres de tu campo dinámico en mayúsculas.<br>

  <figure><img src="/files/upY6haz6JHixRZvOXSdF" alt=""><figcaption></figcaption></figure>

* **Minúsculas:** la plataforma pondrá todos los caracteres en su campo dinámico en minúsculas.<br>

  <figure><img src="/files/llLvFpW4IlIrGgUif7va" alt=""><figcaption></figcaption></figure>

* **Primera palabra:** En nuestro ejemplo, en el campo dinámico de nombre, agregamos el nombre y apellido del usuario, en este caso la plataforma solo tomará el nombre que aparece en la columna:<br>

  <figure><img src="/files/coqfS4TvFNISYNrO2pwV" alt=""><figcaption></figcaption></figure>

* **Primera palabra en minúsculas:** la plataforma solo mantendrá la primera palabra de la lista y mantendrá todo el texto en minúsculas.<br>

  <figure><img src="/files/vONXRnNLeQuVLv6WtODg" alt=""><figcaption></figcaption></figure>

* **Fecha actual:** La plataforma agrega el día actual.<br>

  <figure><img src="/files/VTkhsqi5uQwmzIX5LgTX" alt=""><figcaption></figcaption></figure>

* **Hora actual:** La plataforma añade la hora actual.<br>

  <figure><img src="/files/lN006QXxoYNpD6XjmSe9" alt=""><figcaption></figcaption></figure>

* **Número aleatorio:** la plataforma agrega un número aleatorio a su envío.<br>

  <figure><img src="/files/pAcbXeiwJIsY9Zr2xk9F" alt=""><figcaption></figcaption></figure>

Puedes agregar un tipo de formato para cada uno de los campos dinámicos que se deben llenar en tu mensaje:

<figure><img src="/files/wYPtxRifE5tX1ayBFG3x" alt=""><figcaption></figcaption></figure>

Después de definir los campos, puede continuar con su envío.

{% hint style="info" %}

## Preguntas frecuentes sobre variables:&#x20;

**¿Es obligatorio usar variables en mi texto?** \
**Respuesta:** No, el uso de variables es opcional. \
\
**Al crear mi plantilla de mensaje, ¿debo ingresar lo que se debe completar en el campo variable?** \
**Respuesta:** No, el llenado de la variable solo se realiza cuando se dispara el mensaje.\
\
**¿Debo usar siempre las mismas variables en mis envíos?** \
**Respuesta:** No, puede agregar lo que tenga más sentido a su texto en el momento de enviarlo. Incluso puede optar por escribir una palabra predeterminada en su envío, pero en ese caso, todos los destinatarios recibirán el mismo texto.
{% endhint %}

## Visualización - \[Preestreno]

Siempre tendrás una vista previa de tu mensaje en el lado derecho de la pantalla:

<figure><img src="/files/m3Qbq4bcXmREML0agGQh" alt=""><figcaption></figcaption></figure>

Al final de la pantalla, haga clic en Crear mensaje y su plantilla estará lista para usar.

<figure><img src="/files/9CDAtptHPq7kaq6mjzc3" alt=""><figcaption></figcaption></figure>

### Enviar SMS con Templates

En el contenido de SMS, puede escribir texto libre o seleccionar entre las plantillas creadas.

Primero, haga clic en nuevo mensaje:

<figure><img src="/files/G5FCGhVcLJCDZguWG5pl" alt=""><figcaption></figcaption></figure>

Luego seleccione la opción SMS:

<figure><img src="/files/8lQYj844KTm8Lvtc3gXW" alt=""><figcaption></figcaption></figure>

Cargue su base de clientes en la plataforma o elija su método de activación de mensajes.

&#x20;Si usas la opción de **enviar un archivo**, la plataforma leerá el encabezado de tu archivo como una variable (campos dinámicos), y podrás cambiar cualquier campo entre llaves {{}} por estas palabras.

[**Subir por archivo:**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/como-montar-um-arquivo) Las variables son las últimas palabras que aparecen en esta pantalla:

<figure><img src="/files/braA2xYiKPjFH2lk5LLQ" alt=""><figcaption></figcaption></figure>

Después de hacer clic en Siguiente, puede elegir la opción **Template**:

<figure><img src="/files/8uSbfZOfi3f2Xc7l7hz1" alt=""><figcaption></figcaption></figure>

La plataforma le pedirá el nombre de su plantilla en: Elija una plantilla, simplemente escriba el nombre de la plantilla que creó:

<figure><img src="/files/UTzXO7Fw0OnYHpa64lym" alt=""><figcaption></figcaption></figure>

A continuación, verás el texto de tu mensaje:

<figure><img src="/files/GkCDTCwdUPvuNfNHFtZt" alt=""><figcaption></figcaption></figure>

Puedes optar por enviar el mensaje como flash-sms, pero no todos los operadores aceptan este tipo de envío. El mensaje aparece como una ventana emergente en la pantalla del teléfono móvil de su usuario final.

<figure><img src="/files/ef0A0S58Ig2peoe4Ark9" alt=""><figcaption></figcaption></figure>

Y finalmente, agregas variables (campos dinámicos) a tu mensaje, puedes optar por llenar el campo con una columna de tu base de clientes (llamar a los clientes por su nombre, por ejemplo), o agregar un mensaje estándar:

<figure><img src="/files/PNU1yDdKILJCtYyvdqOZ" alt=""><figcaption></figcaption></figure>

Si elige la función de columna de archivo, puede elegir entre todas las columnas que tiene su archivo:

<figure><img src="/files/9KAoLbbYczAu15fw0SJc" alt=""><figcaption></figcaption></figure>

Tendrás un campo para completar para cada una de las variables que tiene tu mensaje, solo serás dirigido a la siguiente pantalla, cuando las completes todas:

<figure><img src="/files/qraS8xiPqBDoF96ISREQ" alt=""><figcaption></figcaption></figure>

Su mensaje aparecerá en el lado derecho de la pantalla, para que pueda rastrear su envío.&#x20;

A continuación, simplemente haga clic en siguiente y envíe como de costumbre, eligiendo la campaña, la hora de envío y el resumen.


# Contactos

Aprenda a editar, eliminar o crear nuevos contactos.

## Lista de Contactos <a href="#lista-de-contatos" id="lista-de-contatos"></a>

En contactos encontrarás toda tu base de clientes que ya han sido importados a la plataforma.

{% hint style="info" %}
**Es importante tener en cuenta que sus contactos no se guardan automáticamente con cada envío, estos contactos deben registrarse en la herramienta.**
{% endhint %}

## Agregar un nuevo contacto&#x20;

En el menú del lado izquierdo, expanda el menú de mensajería y busque contactos, será dirigido a una nueva pantalla como se mostra a continuación:&#x20;

Hay dos formas posibles de agregar contactos en la herramienta:&#x20;

**Agregar un solo contacto:**

En tu menú lateral izquierdo busca contactos:

<figure><img src="/files/IvEKkJkEWnalcHYcfZh8" alt=""><figcaption></figcaption></figure>

Se le dirigirá a una pantalla como esta, haga clic en los **3 puntos laterales:**

<figure><img src="/files/6DJCt0lU0KyN85CjXbms" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Haga clic en el botón **+ único contacto** en el menú de contactos y complete el formulario, los campos con \* son obligatorios. Puede o no agregar este nuevo contacto a un grupo existente. Clic en Guardar.&#x20;

¡Listo! Su nuevo contacto ha sido creado. O puede importar varios contactos a la vez a través de una carga de hoja de cálculo.
{% endhint %}

**Añadir contactos de forma masiva:**&#x20;

Para agregar varios contactos a la vez, use el botón **IMPORTAR CONTACTOS**, está disponible en la parte superior de la página:

<figure><img src="/files/hcSXJ5bilzzJlL7olrl5" alt=""><figcaption></figcaption></figure>

Deberá crear un archivo con sus contactos para importar, cuando haga clic en importar contactos, tendrá la opción de descargar una plantilla.

Esta plantilla debe guardarse en formato CSV y tener el siguiente formato:

| Destination   | Nombre |
| ------------- | ------ |
| 5511848976468 | Renata |
| 5478458778797 | Andrea |
| 5454717585185 | Fulano |

Agrega siempre el **DDI + DDD + Número de teléfono** para que la plataforma importe correctamente.&#x20;

Con su archivo listo, solo súbalo a la plataforma.

<figure><img src="/files/ZFHZPUsWM1vAt2pfVIU2" alt=""><figcaption></figcaption></figure>

**Editar un contacto**&#x20;

{% hint style="warning" %}
En la columna "Acciones", puede editar la información de cada contacto.
{% endhint %}

<figure><img src="/files/mS8MxG68adZfZEbGmtfN" alt=""><figcaption></figcaption></figure>


# Grupos

Puede crear grupos basados ​​en sus contactos y apuntar tomas selectivas a ciertas personas. De esa manera, solo envía lo que su cliente quiere ver.

{% hint style="warning" %}

#### Não estamos nos referindo a grupos de WhatsApp, apenas grupo de pessoas para envios.

{% endhint %}

**Cómo crear un grupo**&#x20;

<figure><img src="/files/Rw55wJiFohjSYrHUs3cO" alt=""><figcaption></figcaption></figure>

Para crear grupos de envío, primero debe haber registrado sus contactos en la plataforma.&#x20;

En su menú lateral izquierdo, expanda el menú de mensajería y seleccione la opción de grupos. Serás dirigido a una nueva pantalla, en este campo podrás visualizar todos tus grupos ya creados en la plataforma, si es necesario crear un nuevo grupo, utiliza la opción **Crear Grupo**, en la parte superior de la página:

<figure><img src="/files/nWqC2GRTSJFrtwyZtKQR" alt=""><figcaption></figcaption></figure>

Introduce un nombre para facilitar su gestión y una descripción y pulsa en siguiente, listo tu grupo ha sido creado.

### Editar un grupo y agregar miembros&#x20;

Al hacer clic en Acciones > Editar, puede editar el nombre y la descripción del grupo.&#x20;

Al hacer clic en Eliminar grupo, lo elimina de su lista.&#x20;

Para agregar miembros, cambie de pestaña.

<figure><img src="/files/syBvgsdegA2jzhOT5dnj" alt=""><figcaption></figcaption></figure>


# Como enviar un mensaje

Aprende a enviar un SMS.

## Pasos de envío de mensajes

Para enviar un nuevo mensaje, debe seguir algunos pasos:

{% hint style="warning" %}

* Subcuenta y destinatarios
* Contenido
* Campaña
* Programación
* Resumen
* Envío
  {% endhint %}

Para acceder a envío en tu menú lateral izquierdo busca **Nuevo mensaje:**

<figure><img src="/files/X5POjNgo23vYVcGCu6oQ" alt=""><figcaption></figcaption></figure>

Ahora debe seleccionar su canal de envío, en este campo seleccione la opción SMS.

<figure><img src="/files/gUrD04P6yNybpPOrq0p1" alt=""><figcaption></figcaption></figure>

En este paso, deberemos seleccionar a través de qué subcuenta se realizará el envío, las subcuentas y los destinatarios son los primeros pasos de configuración para su envío. Estos ajustes se realizan tanto para el envío de SMS como para el envío de mensajes de WhatsApp.

<figure><img src="/files/chVka4FmCxtcjYxZmoK1" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Dependiendo de tu nivel de permisos en la plataforma, solo tendrás una subcuenta segmentada para envíos. Lea más sobre los [**permisos haciendo clic aquí.**](/permisos/subcuentas-y-usuarios)
{% endhint %}

Luego importaremos nuestra base de clientes a la plataforma, puede elegir entre las siguientes funciones: \
\
**Subir archivo:** Sube tu cartera de clientes a la herramienta, ¿no sabes cómo armar tu archivo? [**Haga clic aquí.** ](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/como-montar-um-arquivo)\
\
**Contactos:** Podemos crear contactos en la plataforma y solo seleccionar las personas que recibirán el contenido en el momento del envío. ¿No sabes cómo crear contactos? [**Haga clic aquí.**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/contactos)&#x20;

**Grupos:** No está relacionado con ningún tipo de grupo de WhatsApp, es solo un grupo específico de personas que están vinculadas en un mismo mensaje, puedes tener un grupo de consejos y alimentarlo semanalmente con nuevos usuarios. ¿No sabes cómo crear un grupo? [**Haga clic aquí.**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/grupos)&#x20;

**Teléfono:** Esta función permite la adición manual de números de teléfono, se utiliza principalmente para el envío de pruebas. Simplemente agregue: DDI+DDD+Número de teléfono.

<figure><img src="/files/Y8fJggUvSo6M7r5oU9lD" alt=""><figcaption></figcaption></figure>

## Asistencia DDI

{% hint style="success" %}
Si está enviando por archivo, debe seleccionar si necesita ayuda para insertar DDI en sus destinatarios.
{% endhint %}

### Contenido SMS

Defina el contenido que recibirán los destinatarios. Para SMS puede elegir entre Texto o [**Template SMS**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/template-sms).&#x20;

Infórmese también sobre el envío mediante [**BOT SMS**](broken://pages/-Llcydz8B1JPQawzoiIW).

<figure><img src="/files/9rPBTux1DQjdPHleol4f" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Texto:** escriba el contenido que desea enviar y vea la vista previa de cómo se verá su mensaje en el lado derecho de la pantalla.&#x20;

Puede seleccionar enviar como **FLASH SMS:** mensaje emergente que aparece incluso si el teléfono celular del usuario está bloqueado.&#x20;

**Template de SMS:** seleccione una plantilla creada previamente. Para obtener más información, consulte [**Template de SMS**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/template-sms) y aprenda a crear una plantilla de mensaje.
{% endhint %}

### Reglas de número de personaje

En el caso de los SMS, los operadores tienen algunas reglas con respecto al número de caracteres en los mensajes, como los que se muestran a continuación, así que <mark style="color:red;">**MANTÉNGASE ATENCIÓN**</mark> al planificar su contenido en [**Messaging**](https://messaging.sinch.global).&#x20;

[**Lea más sobre acentos y caracteres especiales.**](#acentos-y-caracteres-especiales.)

## Campaña

Las campañas lo ayudan a organizar sus mensajes y compararlos entre sí en informes.

<figure><img src="/files/THKKabtvdbRpGOFmjjzc" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Puedes configurar Campañas de 3 formas:&#x20;

* Sin campaña.&#x20;
* Seleccione una campaña existente.&#x20;
* Crear una nueva campaña.&#x20;

**El uso de campañas no es obligatorio.**
{% endhint %}

### Programación <a href="#agendamento" id="agendamento"></a>

La programación de mensajes le permite programar su mensaje para que se entregue en otro día y hora.

<figure><img src="/files/3xKTfoaAjQ3GWQ5yc2Le" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}

* **Envíalo todo de una vez:** selecciona fecha y hora;
* **Enviar partes:** establecer particiones, fecha y hora de inicio y finalización;
  {% endhint %}

Si elige enviar por partes, defina el porcentaje de cada parte con una suma total del **100%**, al lado de cada parte que se enviará, la plataforma informa la cantidad de destinatarios que recibirán el mensaje, sin embargo, usted no tendrá la visibilidad de quienes son:

<figure><img src="/files/Jm52TlNhhKGEbfntMrlK" alt=""><figcaption></figcaption></figure>

El envío por partes ayuda a evitar la sobrecarga de su centro de atención telefónica si está enviando algo que anime al consumidor a ponerse en contacto con su empresa.

### Resumen <a href="#resumo" id="resumo"></a>

Cuando haga clic en siguiente, será dirigido a la pantalla de resumen y envío de mensajes, donde tendrá la siguiente información:&#x20;

* **Tipo de mensaje:** indica si está utilizando una plantilla de mensaje o texto libre.
* **Total de mensajes**: Indica el número de mensajes a enviar.&#x20;
* **Número de destinatarios:** indica el número de remitentes que contiene su archivo, idealmente el número de destinatarios debe ser igual al número total de mensajes.&#x20;
* **Programación:** muestra la fecha y la hora en que se enviará su mensaje.&#x20;
* **Campaña:** muestra la campaña a la que está vinculado su envío.&#x20;

<figure><img src="/files/RASlrUvTcMCAsLKN6uYO" alt=""><figcaption></figcaption></figure>

Cuando haga clic en enviar mensaje, aparecerá una nueva confirmación en la pantalla, si todo está bien, haga clic en confirmar envío.

<figure><img src="/files/9ws1E3VaXhPt7uAa601b" alt=""><figcaption></figcaption></figure>

### Listo, tu mensaje fue enviado con éxito.


# Envío y cancelación de mensajes.

### Cancelación de mensajes&#x20;

Esté atento al disparo de sus mensajes, una vez que sale para la entrega no podemos detener la acción.&#x20;

Solo podemos cancelar el envío de un mensaje que tenga el **estado programado**.&#x20;

Para rastrear sus mensajes enviados:&#x20;

En el menú del lado izquierdo, expanda el menú de mensajes y haga clic en **mensajes enviados**:

<figure><img src="/files/9Q0GA02PU8d83YrfNbSg" alt=""><figcaption></figcaption></figure>

Tendrá la siguiente información en la pantalla de mensajes enviados:&#x20;

* **ID:** Cada vez que se envía un mensaje, la plataforma genera un id (lote) para enviarlo;
* **Subcuenta:** Señala la subcuenta que realizó el disparador;&#x20;
* **Nombre del archivo:** si ha utilizado una base de clientes para enviar su envío, el nombre del archivo que cargó en la plataforma aparece en este campo;&#x20;
* **Tipo:** Tendrá información sobre qué tipo de envío se realizó, en este caso: SMS o WhatsApp;&#x20;
* **Total:** Total de destinatarios contenidos en el mensaje;&#x20;
* Estado: Tendrá 3 estados de mensaje:\ <mark style="color:green;">**Verde:**</mark> Mensaje enviado con éxito, no es posible cancelar este envío.\ <mark style="color:purple;">**Púrpura:**</mark> Mensaje en la cola de disparos o programado, aquí podemos cancelar un mensaje, solo haga clic en los tres puntos laterales y cancelar el disparo:\ <mark style="color:red;">**Rojo:**</mark> Mensaje con error.

<figure><img src="/files/lLCzAPEBUNP7yYHgjCcl" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Tenga en cuenta que los únicos mensajes que muestran los tres puntos en el campo de acción son mensajes con un estado programado.
{% endhint %}

* **Creado el:** fecha y hora en que se envió el mensaje.&#x20;
* **Acciones:** Al hacer clic en los 3 puntos puede cancelar el mensaje, si ha elegido programar el mensaje para otra fecha, y al hacer clic en el ojo puede ver el mensaje que se envió.

{% hint style="success" %}
[**Obtenga más información sobre la pantalla de mensajes enviados, el estado y realice un seguimiento del envío de sus mensajes.**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/rastrear-el-envio)
{% endhint %}


# Rastrear el envío

Obtenga más información sobre las pantallas Enviado, Programado, Estado y más.

### Menú de mensajes&#x20;

Cuando activa su mensaje, ingresa a una cola en nuestro sistema para ser entregado a su usuario. Tan pronto como envíe el mensaje, será redirigido a mis Mensajes.&#x20;

Para encontrar el menú de mensajes enviados, en el lado izquierdo de la pantalla, expanda el menú de mensajes y haga clic en mensajes enviados:

<figure><img src="/files/Y2vJy4Ci6wOc3ys8cloG" alt=""><figcaption></figcaption></figure>

Al abrir la pantalla de mensajes enviados, puede usar los filtros para buscar dentro de la plataforma mensajes específicos:

<figure><img src="/files/PGi6RKWEcGFxfmMXeSSe" alt=""><figcaption></figcaption></figure>

Filtrando por **Estado (status),** puede rastrear solo los mensajes que ya se enviaron o que aún están siendo procesados ​​​​por la plataforma, por ejemplo.&#x20;

Al filtrar por **ID**, puede buscar específicamente un lote de mensajes enviados, pero para eso necesita saber la **ID** de los mensajes que envió. Cada vez que se realiza un nuevo activador, la plataforma genera un nuevo lote para sus mensajes, es el primer campo que aparece en los mensajes enviados.&#x20;

Filtrado por **Tipo**, si tienes contratado SMS y WhatsApp puedes filtrar tanto por un tipo de mensaje como por otro.

{% hint style="info" %}
Si activó por archivo, también puede encontrar el mensaje en la columna de nombre de archivo.
{% endhint %}

### Estado del mensaje&#x20;

{% hint style="info" %}

* **Programado:** Su mensaje ha sido programado y será procesado a la hora definida.&#x20;
* **Procesando:** El mensaje está listo para ingresar a la cola de envío.&#x20;
* **Enviando:** los mensajes se están enviando a la cola de envío.
* **Cancelado:** El envío del mensaje programado fue cancelado.&#x20;
* **Error:** Hubo un error al enviar el mensaje.&#x20;
* **Enviado:** el mensaje se ha puesto en cola para su entrega al usuario.&#x20;
* **Hora bloqueada:** el mensaje se configuró para enviarse a una hora no permitida por la subcuenta
  {% endhint %}

## Vista previa del mensaje enviado&#x20;

Puede obtener una vista previa del mensaje enviado en el menú de acciones. Haga clic en el **"ojo"** que aparece debajo de las acciones:

<figure><img src="/files/lNwiLKVuU9unpUicS1iY" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
En la vista previa del mensaje que ves:

* El contenido del mensaje;&#x20;
* El canal de envío;&#x20;
* Número de mensajes enviados;&#x20;
* Cuándo se realizó el envío;&#x20;
* Qué usuario y subcuenta realizaron el activador;
  {% endhint %}


# Reporte Consolidado

Rastree sus envíos y sus tarifas de entrega a sus destinatarios.

Nuestro centro de informes le permite administrar la cantidad de disparos realizados en la plataforma y cuál es su tasa de entrega para sus destinatarios.&#x20;

## Cómo acceder a la función:&#x20;

En el menú del lado izquierdo, expanda el menú de mensajes y haga clic en informes. Accederá a una pantalla como esta, cambiar a la pestaña SMS:

<figure><img src="/files/s6wilpzlcZdzKYs1MXtu" alt=""><figcaption></figcaption></figure>

El **Reporte Consolidado** es donde la herramienta trae su porcentaje de entrega basado en el filtro de fecha estipulado en la herramienta, por defecto la herramienta trae los últimos 7 días y puede buscar hasta los últimos **90 días**, cualquier período mayor al que sea necesario para ingresar póngase en contacto con nuestro equipo de soporte. Los datos se metricizan por porcentaje de entrega.

## Informe consolidado:

**Caso de uso:** imagine que está ejecutando una campaña que durará aproximadamente 3 días y durante estos 3 días le gustaría monitorear la tasa de entrega y los errores en los dispositivos de sus destinatarios.&#x20;

Usando este reporte puedes aplicar algunos filtros para que tu búsqueda sea aún más asertiva, tendrás disponibles los siguientes filtros:&#x20;

* Filtro de fecha: Este puede ser considerado el filtro más importante a aplicar en la búsqueda, por defecto la herramienta siempre trae datos de los últimos 7 días de entrega. Al usar el informe, asegúrese de buscar el período de disparo, por ejemplo: 01/03 al 03/03, también es posible medir por tiempo.

<figure><img src="/files/6PFhzGLORbQJ1Z2J8iOm" alt=""><figcaption></figcaption></figure>

* **Tipo de mensaje:** Para este campo tenemos dos búsquedas posibles y por lo tanto necesitas saber qué tipo de configuración se aplica a tu cuenta:&#x20;
* **Enviado (MT):** Es todo lo que tú como empresa envías a tu usuario final, las cuentas configuradas como unidireccionales solo tienen aplicada esta función en la cuenta, es decir, no esperan ningún tipo de devolución por parte del usuario final.

**Caso de uso:** Ejecutamos una campaña de envío y me gustaría realizar un seguimiento de la tasa de entrega y error de mis destinatarios.

<figure><img src="/files/N1P4aeGqxtFqbYRNxLuD" alt=""><figcaption></figcaption></figure>

* **Recibido (MO):** Es todo lo que recibe a cambio de su usuario final, para que se reciba esta devolución, debe tener la cuenta configurada como bidireccional, este tipo de configuración le permite tener algunos conocimientos de su usuario final.

**Caso de uso:** Estamos realizando una encuesta donde esperamos retroalimentación del usuario final, en este campo podemos monitorear la tasa de respuesta de estos usuarios.

<figure><img src="/files/Ie8U9RU7zaHqoFW80jPk" alt=""><figcaption></figcaption></figure>

**Generalmente para este filtro siempre se aplica el filtro ENVIADO (MT).**&#x20;

* **Subcuenta:** Si su empresa utiliza la misma plataforma para distintas áreas para comunicarse con sus clientes y al final del mes se divide este monto para que cada uno pague su número de tomas, las subcuentas facilitan su gestión al permitirle elegir en qué subcuenta desea obtener la información de entrega. Si no apunta a ninguna subcuenta, la plataforma brindará información relacionada con todas las subcuentas de la herramienta.

**Caso de uso:** Dentro de la empresa Sinch, tenemos 3 áreas diferentes utilizando la herramienta de tiro, al final del mes necesitamos saber la cantidad de envíos que realiza cada una de las subcuentas para que se divida el valor, primero estipulamos el filtro de la fecha del mes y luego segmentar la subcuenta que vamos a obtener la información.

<figure><img src="/files/0dVBG7ZbawG2YlfjjP9I" alt=""><figcaption></figcaption></figure>

* **Usuarios:** Todas las personas que utilicen la herramienta deben tener un usuario creado, al realizar cualquier toma su nombre de usuario queda registrado con la subcuenta que utilizó para realizar la toma. Si no se dirige a ningún usuario, la plataforma traerá información relacionada con todos los usuarios de la herramienta.

**Caso de uso:** Quiero rastrear cuántos disparos se hicieron desde la cuenta de la usuaria Renata para medir la calidad de su entrega y sus totales semanales.

<figure><img src="/files/4i1fPRasaqolHKTKof04" alt=""><figcaption></figcaption></figure>

* **Campañas:** las campañas facilitan la gestión de envíos dentro de la plataforma.&#x20;

**Caso de uso:** Imaginemos que vamos a realizar una promoción relacionada con el Día de la Madre, al configurar una toma puedo crear una campaña llamada Día de la Madre, en los reportes agrego la campaña que creamos y la plataforma traerá solo la información relacionada con esa campaña para que sigas la calidad de tu entrega.

<figure><img src="/files/Ec5fbp1xTWQc8v3zK2ya" alt=""><figcaption></figcaption></figure>

* **Operadora:** Operadora de los celulares de los destinatarios, esta función le permite realizar un seguimiento de sus tarifas de entrega de acuerdo a cada uno de los operadores de sus destinatarios.

**Caso de uso:** Imagine que es necesario medir el porcentaje de entrega solo para números VIVO, usando esta función es posible.

<figure><img src="/files/x6aS7AsEZ42HquvDX0Xr" alt=""><figcaption></figcaption></figure>

Estado: Este campo muestra todos los posibles estados de mensajes dentro de la plataforma, para SMS, tenemos disponibles los siguientes estados:&#x20;

<table><thead><tr><th width="166" align="center">Estado</th><th align="center">Entregado</th></tr></thead><tbody><tr><td align="center"><strong>Entregado</strong></td><td align="center">Mensaje entregado al dispositivo</td></tr><tr><td align="center"><strong>Mensaje entregado al dispositivo</strong></td><td align="center">Mensaje enviado con éxito al transportista o corredor. El operador respondió aceptando el mensaje.</td></tr><tr><td align="center"><strong>Tiempo de vida vencido (TTL)</strong></td><td align="center">A mensagem expirou na plataforma Sinch, antes de ser enviada para a operadora. (Mensagem não enviada).</td></tr><tr><td align="center"><strong>Error de comunicación del operador</strong></td><td align="center">Falha de comunicação com a operadora.</td></tr><tr><td align="center"><strong>Rechazado por el operador</strong></td><td align="center">Mensaje rechazado por el operador. El operador puede rechazar el mensaje por varias razones. Los más comunes se deben a una inestabilidad temporal oa un receptor incapacitado.</td></tr><tr><td align="center"><strong>No entregado</strong></td><td align="center">El mensaje se envió con éxito al operador, pero no se pudo entregar al dispositivo. Algunas de las razones son el dispositivo fuera de la red y el destinatario deshabilitado.</td></tr><tr><td align="center"><strong>No entregado por opt-out</strong></td><td align="center">Destino bloqueado por opt-out.</td></tr><tr><td align="center"><strong>Error interno</strong></td><td align="center">Error interno, póngase en contacto con nuestro equipo de <a href="/pages/-MCCUnDUYr-FBEzGaedv"><strong>soporte</strong></a>.</td></tr><tr><td align="center"><strong>Parámetro/contacto no válido</strong></td><td align="center">Datos de destino no válidos</td></tr><tr><td align="center"><strong>Blocklist</strong></td><td align="center">El mensaje no se envía porque el número del destinatario ha sido bloqueado por el cliente en la plataforma Sinch.</td></tr><tr><td align="center"><strong>Mensaje de texto inválido</strong></td><td align="center">El texto del mensaje contiene algún contenido no válido, como malas palabras, fraude o contenido falso.</td></tr><tr><td align="center"><strong>Contenido inválido</strong></td><td align="center">El contenido del mensaje no es válido porque faltan parámetros para una plantilla de texto o son incorrectos.</td></tr><tr><td align="center"><strong>Expirado por el transportista</strong></td><td align="center">Mensaje caducado por el operador. Error después de que el operador intenta enviar el mensaje dentro de las 24 horas al teléfono celular.</td></tr><tr><td align="center"><strong>Mensaje duplicado</strong></td><td align="center">El mensaje al mismo número con algún contenido fue rechazado debido a demasiadas repeticiones</td></tr></tbody></table>

**Identificado por BOT SMS:** En la plataforma es posible crear un flujo inteligente de preguntas y respuestas.

**Caso de uso:** Imagina que necesitas aplicar una encuesta NPS a tus clientes, puedes crear un flujo inteligente y disparar mensajes, en este campo del reporte puedes buscar información relacionada únicamente con ese flujo.

<figure><img src="/files/GsiDzSfdqTNecdcnOLCO" alt=""><figcaption></figcaption></figure>

**País:** Segmenta los países de interés para la búsqueda, dejando el campo en blanco, la plataforma buscará todas tus tomas.

<figure><img src="/files/Vlb2mWKi3LoDfM3suWNK" alt=""><figcaption></figcaption></figure>

Aplique los filtros adecuados para su búsqueda, la plataforma cargará los datos y traerá la información que se detalla a continuación:&#x20;

## Gráfico:&#x20;

La herramienta genera los resultados de búsqueda en forma de gráfico para que puedas seguirlo visualmente inicialmente.

<figure><img src="/files/E9VUPFmU8A1oSA98VXTB" alt=""><figcaption></figcaption></figure>

La línea roja está relacionada con su tasa de error, la línea verde indica entregas exitosas, al pasar el mouse sobre las bolas puede seguir la cantidad de tiros.&#x20;

Es importante tener en cuenta que para esta vista, la plataforma tiene en cuenta sus filtros aplicados, así que mantenga su filtro de fecha correcto.&#x20;

## Totalizadores:&#x20;

Luego la plataforma traerá los datos del totalizador, divididos en 3 sesiones:

<figure><img src="/files/HOhVO5Fg2qN7VAMIUEsY" alt=""><figcaption></figcaption></figure>

* **Mensajes enviados:** La cantidad de mensajes enviados en el periodo estipulado, este campo no indica la cantidad de mensajes entregados a sus destinatarios, solo la cantidad de mensajes enviados, recuerda que para que un mensaje sea entregado al dispositivo del usuario final necesitamos disponibilidad del usuario y del operador.
* **Enviado con éxito:** Este campo indica los mensajes que se entregaron con éxito a su usuario final, este número puede diferir de la cantidad de mensajes enviados.
* **Mensajes con error:** Indica la cantidad de mensajes que no fueron entregados en el dispositivo del usuario final, recuerda que en el reporte consolidado no tendremos información del estado de los mensajes, esto solo aparecerá en el reporte detallado.&#x20;

Al visualizar esta información, tenga en cuenta el siguiente ejemplo:&#x20;

Imagine que los totalizadores de la plataforma se enumeran de la siguiente manera:&#x20;

**Mensajes enviados: 3000**&#x20;

<mark style="color:green;">**Enviado con éxito: 2950**</mark>&#x20;

<mark style="color:red;">**Mensajes de error: 50**</mark>&#x20;

De los **3000** mensajes enviados, <mark style="color:green;">**2950**</mark> se activaron y entregaron con éxito a los dispositivos de los usuarios finales y <mark style="color:red;">**50**</mark> mensajes no se entregaron.&#x20;

## Detalles del mensaje:&#x20;

Aquí habremos enumerado todos los días segmentados en el rango de fechas con su información de tarifa de envío.

<figure><img src="/files/IhiQTmpbDG0j9qapsHwm" alt=""><figcaption></figcaption></figure>

* **Fecha:** Este campo varía de acuerdo a lo estipulado en el filtro de visualización, podemos haber listado: fecha, hora o mes.&#x20;
* **Filtros adicionales:** Si selecciona un filtro adicional para la búsqueda, se listará un nuevo campo después de la fecha con la información solicitada, como operador, subcuenta, campaña, o si marca todas las opciones, todos se registrarán a continuación. entre sí antes de que el campo se entregue en el dispositivo.&#x20;
* **Entregado al dispositivo:** Este campo brinda información sobre el porcentaje de entregas exitosas a los dispositivos, los datos se presentan de la siguiente manera: **86 – 24%**, esto significa que **86** mensajes fueron enviados con éxito y esto está relacionado con el **24%** de su base de envío.&#x20;
* **Errores:** Este campo muestra la cantidad y porcentaje de errores relacionados con su base de envío, los datos se presentan de la siguiente manera: **276 – 76%**, esto significa que no se entregaron 276 mensajes, y esto está relacionado con el **76%** de su base de envío.&#x20;

En un escenario como el anterior, lo ideal es revisar tus disparadores y números de comunicación, ¿realmente tus usuarios quieren recibir información? ¿Saben que serán contactados?&#x20;

* **Total:** el número total de mensajes que se activaron ese día para medir sus entregas.&#x20;
* **Confirmado por el dispositivo:**

Este informe se puede exportar a PDF, CSV o XLSX.&#x20;

También puede guardar este modelo para futuras búsquedas usando el botón: **Guardar Modelo.**


# Reporte Detallado

Realice un seguimiento de sus envíos y comprenda qué sucedió con los mensajes de cada uno de sus destinatarios.

Nuestro centro de informes le permite administrar la cantidad de disparos realizados en la plataforma y cuál es su tasa de entrega para sus destinatarios.&#x20;

### Cómo acceder a la función:&#x20;

En el menú del lado izquierdo, expanda el menú de mensajes y haga clic en informes. Accederá a una pantalla como esta, cambiar a la pestaña SMS:

<figure><img src="/files/KFwH5jtDS6htrVvrelJr" alt=""><figcaption></figcaption></figure>

El **Informe Detallado** es donde la herramienta trae lo sucedido a cada una de tus entregas en base al filtro de fecha estipulado en la herramienta, por defecto la herramienta trae los últimos 7 días y puedes buscar hasta los últimos **90 días**, cualquier periodo mayor que sea esto es necesario para ponerse en contacto con nuestro equipo de soporte.&#x20;

El **reporte detallado** inicialmente tiene los mismos filtros que el reporte consolidado, sin embargo tiene algunas otras características y otras formas de ver los datos, veamos primero los campos de búsqueda:&#x20;

Aplique los filtros adecuados para su búsqueda, la plataforma cargará los datos y traerá la información que se detalla a continuación:&#x20;

**Caso de uso:** imagine que está ejecutando una campaña que durará aproximadamente 3 días y durante estos 3 días le gustaría monitorear la tasa de entrega y los errores en los dispositivos de sus destinatarios.&#x20;

Usando este reporte puedes aplicar algunos filtros para que tu búsqueda sea aún más asertiva, tendrás disponibles los siguientes filtros:&#x20;

* **Filtro de fecha:** Este puede ser considerado el filtro más importante a aplicar en la búsqueda, por defecto la herramienta siempre trae datos de los últimos 7 días de entrega. Al usar el informe, asegúrese de buscar el período de disparo, por ejemplo: 01/03 al 03/03, también es posible medir por tiempo.

<figure><img src="/files/6PFhzGLORbQJ1Z2J8iOm" alt=""><figcaption></figcaption></figure>

* **Tipo de mensaje:** Para este campo tenemos dos búsquedas posibles y por lo tanto necesitas saber qué tipo de configuración se aplica a tu cuenta:&#x20;
* **Enviado (MT):** Es todo lo que tú como empresa envías a tu usuario final, las cuentas configuradas como unidireccionales solo tienen aplicada esta función en la cuenta, es decir, no esperan ningún tipo de devolución por parte del usuario final.

**Caso de uso:** Ejecutamos una campaña de envío y me gustaría realizar un seguimiento de la tasa de entrega y error de mis destinatarios.

<figure><img src="/files/N1P4aeGqxtFqbYRNxLuD" alt=""><figcaption></figcaption></figure>

* **Recibido (MO):** Es todo lo que recibe a cambio de su usuario final, para que se reciba esta devolución, debe tener la cuenta configurada como bidireccional, este tipo de configuración le permite tener algunos conocimientos de su usuario final.

**Caso de uso:** Estamos realizando una encuesta donde esperamos retroalimentación del usuario final, en este campo podemos monitorear la tasa de respuesta de estos usuarios.

<figure><img src="/files/Ie8U9RU7zaHqoFW80jPk" alt=""><figcaption></figcaption></figure>

**Generalmente para este filtro siempre se aplica el filtro ENVIADO (MT).**&#x20;

* **Subcuenta:** Si su empresa utiliza la misma plataforma para distintas áreas para comunicarse con sus clientes y al final del mes se divide este monto para que cada uno pague su número de tomas, las subcuentas facilitan su gestión al permitirle elegir en qué subcuenta desea obtener la información de entrega. Si no apunta a ninguna subcuenta, la plataforma brindará información relacionada con todas las subcuentas de la herramienta.

**Caso de uso:** Dentro de la empresa Sinch, tenemos 3 áreas diferentes utilizando la herramienta de tiro, al final del mes necesitamos saber la cantidad de envíos que realiza cada una de las subcuentas para que se divida el valor, primero estipulamos el filtro de la fecha del mes y luego segmentar la subcuenta que vamos a obtener la información.

<figure><img src="/files/0dVBG7ZbawG2YlfjjP9I" alt=""><figcaption></figcaption></figure>

* **Usuarios:** Todas las personas que utilicen la herramienta deben tener un usuario creado, al realizar cualquier toma su nombre de usuario queda registrado con la subcuenta que utilizó para realizar la toma. Si no se dirige a ningún usuario, la plataforma traerá información relacionada con todos los usuarios de la herramienta.

**Caso de uso:** Quiero rastrear cuántos disparos se hicieron desde la cuenta de la usuaria Renata para medir la calidad de su entrega y sus totales semanales.

<figure><img src="/files/4i1fPRasaqolHKTKof04" alt=""><figcaption></figcaption></figure>

* **Campañas:** las campañas facilitan la gestión de envíos dentro de la plataforma.&#x20;

**Caso de uso:** Imaginemos que vamos a realizar una promoción relacionada con el Día de la Madre, al configurar una toma puedo crear una campaña llamada Día de la Madre, en los reportes agrego la campaña que creamos y la plataforma traerá solo la información relacionada con esa campaña para que sigas la calidad de tu entrega.

<figure><img src="/files/Ec5fbp1xTWQc8v3zK2ya" alt=""><figcaption></figcaption></figure>

* **Operadora:** Operadora de los celulares de los destinatarios, esta función le permite realizar un seguimiento de sus tarifas de entrega de acuerdo a cada uno de los operadores de sus destinatarios.

**Caso de uso:** Imagine que es necesario medir el porcentaje de entrega solo para números VIVO, usando esta función es posible.

<figure><img src="/files/x6aS7AsEZ42HquvDX0Xr" alt=""><figcaption></figcaption></figure>

* **Estado:** Este campo muestra todos los posibles estados de mensajes dentro de la plataforma, para SMS, tenemos disponibles los siguientes estados:&#x20;

<table><thead><tr><th width="166" align="center">Estado</th><th align="center">Entregado</th></tr></thead><tbody><tr><td align="center"><strong>Entregado</strong></td><td align="center">Mensaje entregado al dispositivo</td></tr><tr><td align="center"><strong>Mensaje entregado al dispositivo</strong></td><td align="center">Mensaje enviado con éxito al transportista o corredor. El operador respondió aceptando el mensaje.</td></tr><tr><td align="center"><strong>Tiempo de vida vencido (TTL)</strong></td><td align="center">A mensagem expirou na plataforma Sinch, antes de ser enviada para a operadora. (Mensagem não enviada).</td></tr><tr><td align="center"><strong>Error de comunicación del operador</strong></td><td align="center">Falha de comunicação com a operadora.</td></tr><tr><td align="center"><strong>Rechazado por el operador</strong></td><td align="center">Mensaje rechazado por el operador. El operador puede rechazar el mensaje por varias razones. Los más comunes se deben a una inestabilidad temporal oa un receptor incapacitado.</td></tr><tr><td align="center"><strong>No entregado</strong></td><td align="center">El mensaje se envió con éxito al operador, pero no se pudo entregar al dispositivo. Algunas de las razones son el dispositivo fuera de la red y el destinatario deshabilitado.</td></tr><tr><td align="center"><strong>No entregado por opt-out</strong></td><td align="center">Destino bloqueado por opt-out.</td></tr><tr><td align="center"><strong>Error interno</strong></td><td align="center">Error interno, póngase en contacto con nuestro equipo de <a href="/pages/-MCCUnDUYr-FBEzGaedv"><strong>soporte</strong></a>.</td></tr><tr><td align="center"><strong>Parámetro/contacto no válido</strong></td><td align="center">Datos de destino no válidos</td></tr><tr><td align="center"><strong>Blocklist</strong></td><td align="center">El mensaje no se envía porque el número del destinatario ha sido bloqueado por el cliente en la plataforma Sinch.</td></tr><tr><td align="center"><strong>Mensaje de texto inválido</strong></td><td align="center">El texto del mensaje contiene algún contenido no válido, como malas palabras, fraude o contenido falso.</td></tr><tr><td align="center"><strong>Contenido inválido</strong></td><td align="center">El contenido del mensaje no es válido porque faltan parámetros para una plantilla de texto o son incorrectos.</td></tr><tr><td align="center"><strong>Expirado por el transportista</strong></td><td align="center">Mensaje caducado por el operador. Error después de que el operador intenta enviar el mensaje dentro de las 24 horas al teléfono celular.</td></tr><tr><td align="center"><strong>Mensaje duplicado</strong></td><td align="center">El mensaje al mismo número con algún contenido fue rechazado debido a demasiadas repeticiones</td></tr></tbody></table>

**Identificado por BOT SMS:** En la plataforma es posible crear un flujo inteligente de preguntas y respuestas.

**Caso de uso:** Imagina que necesitas aplicar una encuesta NPS a tus clientes, puedes crear un flujo inteligente y disparar mensajes, en este campo del reporte puedes buscar información relacionada únicamente con ese flujo.

<figure><img src="/files/GsiDzSfdqTNecdcnOLCO" alt=""><figcaption></figcaption></figure>

**Contacto o número de teléfono:** busque números de teléfono específicos.

**Caso de uso:** Su empresa acaba de ejecutar una campaña y un usuario informa que no ha recibido la comunicación, no sabe en qué lote de mensajes estaba este usuario, este campo le permite buscar una persona específica, solo escriba el teléfono número en el siguiente formato: DDI+DDD+Número (5511917612637). Recuerde siempre buscar el período de su toma.

<figure><img src="/files/Z8qXjVSciUWQwUyjJjVe" alt=""><figcaption></figcaption></figure>

**ID de lote:** Cada vez que envías un mensaje, independientemente de la cantidad de destinatarios, la herramienta genera un lote, este lote lo puedes encontrar en tu menú lateral > mensajes enviados.

**Caso de uso:** imagine el mismo escenario que el caso de uso de contacto o número de teléfono, pero ahora desea comprender si todas las personas que estaban juntas en el número 5511917612637 recibieron el mensaje, simplemente copie el número de lote generado en los detalles de la herramienta y agregar en el campo de ID de lote.

<figure><img src="/files/dYggEZPNBr7UGEFTAaPf" alt=""><figcaption></figcaption></figure>

**País:** Segmenta los países de interés para la búsqueda, dejando el campo en blanco, la plataforma buscará todas tus tomas.

<figure><img src="/files/Vlb2mWKi3LoDfM3suWNK" alt=""><figcaption></figcaption></figure>

[**ID de correlación:**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/correlation-id) Es un campo específico que se puede agregar a su base de clientes indicando un número de registro o protocolo, este dato no aparece en su SMS.

<figure><img src="/files/V1JD1mDDfTVK5yVtCAqn" alt=""><figcaption></figcaption></figure>

**Texto del mensaje:** puede buscar palabras específicas del texto.

<figure><img src="/files/jhIOV0zoNbhSYzamHc1G" alt=""><figcaption></figcaption></figure>

Al aplicar filtros distintos al informe consolidado, la plataforma solo mostrará el total de resultados relacionados con su búsqueda, por ejemplo:&#x20;

**Resultados 3000**&#x20;

**¿Pero qué significa eso?** \
Quiere decir que de acuerdo a los filtros estipulados, la plataforma encontró **3000 resultados**, estos resultados están relacionados con cualquier tipo de estado de tu mensaje, si fue entregado, si hubo algún tipo de error o si tiene el estado de recién enviado.&#x20;

En los detalles tendrás la siguiente información:&#x20;

* **Lote:** Número de lote del mensaje que es ese teléfono.&#x20;
* **Subcuenta:** Subcuenta que realizó la activación para ese teléfono.&#x20;
* **Destinatario:** número de teléfono del destinatario enviado.&#x20;
* **Operadora**: el operador móvil de su destinatario.&#x20;
* **Shortcode:** número que aparece en el SMS en el dispositivo de su usuario final.&#x20;
* **Campaña:** Campaña a la que está vinculado su envío, si aparece un guión (-), significa que el envío no estaba vinculado a ninguna campaña.&#x20;
* **Enviado el:** fecha y hora en que se activó el mensaje.&#x20;
* **Texto del mensaje:** Texto que se envió en el SMS, este campo incluso muestra los campos dinámicos que se usaron.&#x20;
* **Programado para:** Si su mensaje está programado para otro día y hora, aparecerá aquí, si aparece un guión (-), significa que el desencadenante ya se llevó a cabo.&#x20;
* **Usuario:** Usuario que realizó el disparo.&#x20;
* **Entregado:** Esto está directamente vinculado al siguiente campo que es Estado, cuando aparece un símbolo de verificación significa que su mensaje se entregó con éxito, si aparece con un guión (-), siga lo que sucedió con su envío en el siguiente campo.&#x20;
* **Información adicional:** información que se agrega al campo ID de correlación.&#x20;
* **Identificador de SMS BOT:** si tiene configurado un bot de SMS, aparecerá en la lista.
* **UUID:** código de mensaje único vinculado a su envío, utilizado por nuestro equipo de soporte cuando hay errores de entrega.&#x20;
* **Original\_UUID:** código de mensaje único vinculado a su envío, utilizado por nuestro equipo de soporte cuando hay errores de entrega.&#x20;

**Este informe se puede exportar a PDF, CSV o XLSX.**&#x20;

También puede guardar este modelo para futuras búsquedas usando el botón: **Guardar modelo.**


# Informe de Facturación


# Correlation ID

Envío de correlation ID para identificar mejor los mensajes enviados.

* Enviar la correlation ID funciona para enviar a través de **archivos**.
* La información de correlation ID **no** se incluirá en el texto del mensaje, está oculta y el cliente la utilizará más adelante para identificar el mensaje enviado.
* Para que funcione, se debe incluir una columna en el archivo destinado a la correlation ID.

| destination    | nome  | info     | ... | correlationid |
| -------------- | ----- | -------- | --- | ------------- |
| 55199999999999 | Jose  | compañia | ​   | campana\_X    |
| 55199999999999 | Maria | compañia | ​   | campana\_X    |
| 55199999999999 | Pablo | compañia | ​   | campana\_X    |

{% hint style="warning" %}
**Nota: Todas las filas en la columna ID de correlación deben completarse.**
{% endhint %}

### Nombres que se interpretarán como correlation ID:

"correlationid", "correlationId", "CorrelationId", "CorrelationID", "correlationID", "Correlationid", "CORRELATIONID","correlation\_id", "correlation\_Id", "Correlation\_Id", "Correlation\_ID", "correlation\_ID", "Correlation\_id", "CORRELATION\_ID"


# Configuración del límite de caracteres

Puede pedir al equipo de soporte que establezca una limitación de caracteres, donde 1.500 caracteres es el máximo que puede tener un mensaje.&#x20;

Esta configuración se realiza por subcuenta.&#x20;

Una vez realizada esta configuración, aparece de la siguiente manera:

<figure><img src="/files/IzgZvWVmJXzS9uNu3pn0" alt=""><figcaption></figcaption></figure>

Si el usuario se desplaza sobre la (nueva) información configurada, aparece el siguiente mensaje:

> **Recuento de caracteres configurado por el administrador de su cuenta.**

Para aquellos que eligen usar plantilla, también aparece la configuración:

<figure><img src="/files/Bhy1DzYmz4DeOlwkNHF3" alt=""><figcaption></figcaption></figure>

Y cuando vayas a disparar, en caso de que tu cuenta tenga alguna limitación de configuración de personajes, te aparecerá este mensaje en amarillo:

<figure><img src="/files/GwulXoHdmJBFaMSmQ9Mu" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
¡¡¡ATENCIÓN!!!&#x20;

Cuando se utiliza una plantilla con variable, aparecerá este cuadro amarillo indicando que esta cuenta está configurada. &#x20;

Si desea saber para qué limitación de texto, simplemente seleccione la opción TEXTO  para ver esta información.&#x20;
{% endhint %}

<figure><img src="/files/f4P86yZFrT7B7D2NLrQG" alt=""><figcaption></figcaption></figure>

Un factor importante es que aunque haya configurado la limitación de caracteres, cuando use una plantilla con una variable y esta variable vaya más allá de la limitación, el mensaje se enviará en su totalidad.&#x20;

Se entiende que a nivel de experiencia del cliente, es necesario que el mensaje se entregue por completo.&#x20;

La advertencia en el cuadro amarillo sirve precisamente para alertar de este comportamiento y revisar el contenido o contenidos del archivo que se utilizará.


# MM2: Nuevo Relatório: Chat (MT + MO)

Chats Report (MT+MO) es el nuevo reporte de MM2 SMS, donde consolidamos la información de MT+MO en un solo lugar.

<figure><img src="/files/58lFx0zCqyb1Q5Hg45Ug" alt=""><figcaption><p>image1</p></figcaption></figure>

<figure><img src="/files/sosQOMyXqzCvW6QFXMeU" alt=""><figcaption><p>image2</p></figcaption></figure>

Chats Report (MT+MO) es el nuevo reporte de MM2 SMS, donde consolidamos la información de MT+MO en un solo lugar.

## ¿Como funciona?&#x20;

<mark style="color:red;">**2.1**</mark> La idea de este informe es consolidar la información del mensaje enviado (MT) y del mensaje recibido (MO) en un solo lugar, de manera ordenada. Puede usar estos filtros + calendario (para obtener el período de información que necesita) y luego hacer clic en APLICAR&#x20;

<mark style="color:red;">**2.2**</mark> ID de correlación: Es un campo específico que se puede agregar a su base de clientes indicando un número de registro o protocolo, este dato no aparece en su SMS.&#x20;

<mark style="color:red;">**2.3**</mark> Tipo (MT/MO): si es un mensaje MT o MO&#x20;

<mark style="color:red;">**2.4**</mark> Campaña: nombre de la campaña (si corresponde)&#x20;

<mark style="color:red;">**2.5**</mark> Mensaje: el contenido del mensaje&#x20;

<mark style="color:red;">**2.6**</mark> Seleccionar Todo: trae toda la información&#x20;

<mark style="color:red;">**2.7**</mark> Teléfono: si desea buscar un número de teléfono específico (debe completar el número completo)&#x20;

<mark style="color:red;">**2.8**</mark> Calendario: seleccione el período para ver sus datos

<figure><img src="/files/EOalrAVw7pbKSCQ45V9m" alt=""><figcaption></figcaption></figure>

2. Vaya a Menú lateral > Informes > SMS > Chat (MT+MO)

<figure><img src="/files/pLbsSXhDNiFbdTtAfiIv" alt=""><figcaption></figcaption></figure>

Como ves, podrás identificar qué es MT y qué es MO, de forma ordenada (empezando por el más antiguo hasta el más nuevo). Otra cosa que nuestros clientes podrán hacer es responder a un MO específico. Si elige hacerlo, lo redirigirá a Fast SMS. Después de enviar, volverá a la pantalla Informe (primera página).

<figure><img src="/files/KL733O9NiFM8ma38DM07" alt=""><figcaption></figcaption></figure>

En esta página, traemos el número de teléfono (procedente del MO) que el cliente decidió contestar.


# Informe SMS > RCS

En la plataforma de Mensajería ahora es posible enviar SMS convertidos a RCS.

Para obtener acceso, hable con su **ejecutivo de cuenta** y solicite ayuda a nuestro equipo de [**soporte**](/soporte/glosario-componentes-de-la-pagina-de-estado) para configurar su cuenta.

Una vez que tengas esta configuración y hayas tomado las fotografías, la mejor manera de monitorear el éxito de tu campaña será ver el informe, ¿verdad?&#x20;

Bueno, ¡aquí tienes una breve guía de lo que necesitas saber!

**Nuevas columnas:** descubra lo que este informe tiene para ofrecer

Aquí enumeramos las nuevas columnas:\
**Leer:** contiene sólo SÍ/NO\
**Leer en:** que contiene la fecha y hora en que se abrió.\
**Tipo de facturación:** indicando si el mensaje es Básico/Único y en los casos en que solo tenga un guión (-), significa que estamos hablando de un mensaje SMS.\
**Enviado como SMS (si hubo un respaldo a SMS):** Sí/No\
**Partes del mensaje:** número de partes que se enviaron

### Comprender sus MT

Verá sus MT que se convirtieron solo como RCS.

### Visualización de MO

Aquí verá los MO que interactuaron en los mensajes enviados y convertidos a RCS únicamente.

Esto se debe a que los MO de los usuarios que recibieron el SMS de reserva serán tratados como “MO común”, sin tener ningún tipo de identificación que indique que el mensaje era del flujo de **SMS -> RCS.**

Para identificar estos MO, será necesario ir al informe de SMS y mirar el MT que estaba asociado con el MO, o el cliente/subcuenta del MO, para saber si es de una subcuenta configurada para enviar como SMS. -> RCS.


# BOT SMS

### ¿Qué es un BOT?&#x20;

Los BOT son robots estructurados mediante inteligencia para automatizar y estandarizar la asistencia humana en una tarea o ejercicio predeterminado.&#x20;

### ¿Ejemplo de bot?&#x20;

En la plataforma en sí, puede ver y usar algunas plantillas de BOT para recopilar la suscripción del usuario a través de SMS o hacer una investigación de NPS, pero los BOT se pueden usar para otros fines según su negocio.&#x20;

### ¿Cómo funciona un SMS BOT?&#x20;

BOT SMS funciona de forma activa, es decir, es necesario enviar un mensaje con el BOT deseado para que todo se inicie.&#x20;

Luego del envío, el BOT sigue registrando y actuando sobre los mensajes contestados por los destinatarios hasta por 7 días, luego de lo cual es necesario realizar un nuevo envío del mismo BOT o de otro BOT para que los destinatarios que no han interactuado puedan responder.&#x20;

(Si un usuario está en medio del flujo y le envía un nuevo BOT, el flujo anterior se detendrá y el usuario pasará al flujo del nuevo BOT).&#x20;

A continuación se presentan algunos términos que se utilizan cuando hablamos de construir un SMS BOT:&#x20;

* Los pasos son los diferentes mensajes que componen el flujo del BOT y que pueden o no ser enviados a los destinatarios, según las respuestas recibidas por el BOT.&#x20;
* Texto del mensaje es el texto que la persona recibirá realmente en el mensaje, en esa etapa.&#x20;
* Las respuestas son palabras clave que el bot reconoce en las respuestas que recibe de los usuarios y, a través de ellas, activa nuevos mensajes o realiza acciones en el flujo.&#x20;
* Mnemónicos o Sinónimos son grafías diferentes para la misma respuesta como un paso aceptado. Por ejemplo, si un paso acepta la respuesta SI, puedes configurar el BOT para que reconozca diferentes formas de escribir SI, como S, Sin, Yes, Si, Yup, Y, etc.&#x20;
* "Nombre en el informe" es cómo se agrupan los diferentes mnemotécnicos para ser registrados en los informes. Puede nombrar un grupo de Mnemónicos que se aceptan en una de las respuestas de un paso en el flujo BOT, que desea que se registren en los informes.&#x20;

### ¿Cómo construir un SMS BOT?&#x20;

Para crear un SMS BOT, solo acceda a la [**mensajería**](https://messaging.wavy.global) con su nombre de usuario y contraseña y siga el paso a paso a continuación:&#x20;

1. Expande la opción Flow Builder en el menú a la izquierda de la pantalla y haz clic en “BOT SMS”:

<figure><img src="/files/FziqtYEr2onGo3GxR7ZQ" alt=""><figcaption></figcaption></figure>

2. Para crear un nuevo BOT, haga clic en el botón "+Nuevo Bot SMS", que se encuentra en la esquina superior derecha de la pantalla:

<figure><img src="/files/OCRmJZ5TdIP5W8byd2zK" alt=""><figcaption></figcaption></figure>

3. A continuación, verá una pantalla como la de la imagen a continuación, donde puede usar las plantillas de Encuesta NPS, Opt-in y crear un nuevo BOT con el flujo que desee:

<figure><img src="/files/OJ3XbNPSe6KgnQEKRVuD" alt=""><figcaption></figcaption></figure>

4. Cuando haga clic para crear un flujo en blanco, podrá realizar algunas configuraciones como: **agregar un paso y las respuestas esperadas de los usuarios**.&#x20;

* **Tendrás 160 caracteres para armar tus mensajes, si no usas acentos. Si usa cualquier tipo de acento, el número baja a 70.**

**Al lado también es posible visualizar un dibujo de cómo queda el árbol de decisión del bot que estás creando.**&#x20;

5. Cree un nuevo paso y asígnele un nombre. Luego, incluya la pregunta que se enviará por SMS en el campo "Mensaje de texto".

<figure><img src="/files/gYMsTvDbhXblWPUXiDyJ" alt=""><figcaption></figcaption></figure>

En el campo “respuestas” se deben incluir las posibles respuestas de los usuarios.

<figure><img src="/files/TxOQZfRkxRLspYbn5W3k" alt=""><figcaption></figcaption></figure>

En el campo **“Términos para informes”** se debe incluir un nombre intuitivo que aparecerá en el informe sobre esa respuesta.

<figure><img src="/files/R2F2kIHiFwzoinRlTG7c" alt=""><figcaption></figcaption></figure>

En el campo **“Acciones”,** debes incluir qué acción debe realizar el bot si la respuesta del usuario es la incluida anteriormente.

<figure><img src="/files/K3Pqf2EiW6QKuPLukWLO" alt=""><figcaption></figcaption></figure>

6. Después de estos pasos, puedes incluir tantos pasos como consideres necesarios para que tu BOT cumpla su objetivo.&#x20;

Es muy importante que después de construir todo el flujo deseado, haga clic en el botón "Crear" en la esquina inferior derecha de la pantalla, para guardar su BOT.

{% hint style="warning" %}
Importante: aún no está permitido cambiar un BOT SMS después de que se haya creado, por lo tanto, si es necesario editar un BOT SMS, es necesario crear un NUEVO BOT SMS basado en el BOT existente.
{% endhint %}


# RCS (Nativo)

RCS es un canal desarrollado por Google con integración nativa en Android, lo que significa que no es necesario que la persona instale una aplicación de mensajería. \
\
Permite enviar textos, imágenes, GIFs, videos, archivos, audios, botones interactivos e incluso carruseles de productos a una persona o grupo de usuarios.

### Antes de comenzar, asegúrate de que todo esté configurado.&#x20;

Una vez que hayas contratado RCS, el equipo de Provisionamiento te ayudará en tu proceso, realizando todas las configuraciones necesarias para que esté listo para su uso.

### Cómo enviar un mensaje de RCS

### **Ve a Nueva Mensaje > Nuevos Canales > RCS**

<figure><img src="/files/c2bjVcEQ4d2Uo3u34S5Q" alt=""><figcaption></figcaption></figure>

### **Selecciona tus destinatarios**

Puedes subir un archivo de hasta 105 MB o elegir un archivo de Archivos Guardados, Contactos, Grupos o incluso enviar a unos pocos usuarios (Teléfono).

<figure><img src="/files/3NjZc6N6OMP1Mr3N2fZ8" alt=""><figcaption></figcaption></figure>

### Creación de contenido: RCS

Existen 3 formas de crear contenido de RCS: Texto Simple, Rich Card y Carrusel.

### **Texto Simple** <a href="#id-17.rcsnative-pure-02.1.simpletext" id="id-17.rcsnative-pure-02.1.simpletext"></a>

Si eliges crear un texto simple, podrás crear y enviar solo un texto a tus usuarios finales, sin ningún tipo de medio. Es importante destacar que dentro de este tipo, podemos crear contenidos de tipo Basic y Single.

**Regla para Basic:**

* hasta 160 caracteres

**Regla para Single:**

* más de 160 caracteres
* uso de botón

<figure><img src="/files/KLH3f9mmlYUV8OrLLuE9" alt=""><figcaption></figcaption></figure>

En el Texto Simple, puedes añadir hasta 10 botones (los botones son opcionales). Existen 2 tipos de botones:

* Acción → puedes añadir un número de teléfono o una URL (redirigiendo a un website).
* Respuesta rápida → botón para seleccionar algo.

### **Rich Card** <a href="#id-17.rcsnative-pure-02.2.richcard" id="id-17.rcsnative-pure-02.2.richcard"></a>

Es un mensaje que contiene medios. Los medios y el contenido textual son obligatorios.

<table data-header-hidden><thead><tr><th width="136"></th><th width="526"></th></tr></thead><tbody><tr><td><strong>Image</strong></td><td>Hasta 2MB</td></tr><tr><td><strong>Vídeo</strong></td><td>Hasta 10MB</td></tr><tr><td>URL (botón para sitio web)</td><td>URL de hasta 2048 caracteres</td></tr></tbody></table>

Puedes elegir entre alturas Baja / Media / Alta para los medios. En Rich Card, también puedes añadir hasta 4 botones (opcionales).

<figure><img src="/files/He9Wu5Q0JupgwOWjgq0x" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/k9M0H8rDVgUVdPDyWsaJ" alt=""><figcaption></figcaption></figure>

### **Carrusel** <a href="#id-17.rcsnative-pure-02.2.richcard" id="id-17.rcsnative-pure-02.2.richcard"></a>

El carrusel es un conjunto de rich cards que componen tu mensaje. Máximo de hasta 10 rich cards.

<table data-header-hidden><thead><tr><th width="136"></th><th width="526"></th></tr></thead><tbody><tr><td><strong>Image</strong></td><td>Hasta 1MB</td></tr><tr><td><strong>Vídeo</strong></td><td>Hasta 5MB</td></tr><tr><td>URL (botón para sitio web)</td><td>URL de hasta 2048 caracteres</td></tr></tbody></table>

También puedes elegir entre alturas Baja / Media / Alta para los medios. En el Carrusel, puedes añadir hasta 2 botones (opcionales) de Acciones y/o hasta 10 botones de Respuestas Rápidas.&#x20;

Puedes mover tus rich cards en la Vista Previa del mensaje, arrastrar y cambiar el orden de los cards, e incluso eliminar alguno si no te gusta.

<figure><img src="/files/aOBCfa9BaCEjI0TYJrvx" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/KjrFhrJhutPEu2XLPxw7" alt=""><figcaption></figcaption></figure>

### **E**lige una campaña <a href="#id-17.rcsnative-pure-02.2.richcard" id="id-17.rcsnative-pure-02.2.richcard"></a>

Después de crear tu contenido, puedes elegir tu campaña.

<figure><img src="/files/oNNebpgB0TRlrFUD7ZBj" alt=""><figcaption></figcaption></figure>

### Programa tu mensaje <a href="#id-17.rcsnative-pure-02.2.richcard" id="id-17.rcsnative-pure-02.2.richcard"></a>

Elige cuándo se enviará tu mensaje.

<figure><img src="/files/7KhPmGvWyhr8ZQLHHkJZ" alt=""><figcaption></figcaption></figure>

### Todo listo. ¡Mira el resumen de tu envío! <a href="#id-17.rcsnative-pure-02.2.richcard" id="id-17.rcsnative-pure-02.2.richcard"></a>

Toda la información de tu envío para verificar si todo está en orden.

<figure><img src="/files/goV1QUcM8s6NLMOv1qlH" alt=""><figcaption></figcaption></figure>

### Una vez que hagas clic para enviar tu mensaje, serás redirigido a esta pantalla: <a href="#id-17.rcsnative-pure-02.2.richcard" id="id-17.rcsnative-pure-02.2.richcard"></a>

<figure><img src="/files/XV5S05FWZgdvCMgwjhIk" alt=""><figcaption></figcaption></figure>

### Reportes <a href="#id-17.rcsnative-pure-02.2.richcard" id="id-17.rcsnative-pure-02.2.richcard"></a>

El reporte actual de RCS está disponible solo en el Sinch Dashboard. Los datos a los que tendrás acceso incluyen: Total de mensajes por mes, principales errores de envío y mensajes entregados/leídos/fallidos."

<figure><img src="/files/HW5yHPnwg7BXriUDqQke" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/NGuLhVpgjBjDjInc2iIJ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/EHcwl08vLpo3qIZAzgpW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/auV0rXNMCZmXnBCoXjip" alt=""><figcaption></figcaption></figure>


# Sinch Messaging WhatsApp API

Esta documentación contiene información sobre cómo su aplicación podrá enviar los mensajes de Whatsapp vía API.

También encontrará aquí información sobre los **Webhooks**, esto es, los retornos de llamada HTTP definidos por el usuario, los cuales son accionados por eventos específicos. Siempre que ocurre un evento de acción, ya sea, un mensaje enviado o recibido, la API de Sinch recibe los datos e inmediatamente envía una notificación (solicitud HTTP) a la URL indicada por el cliente, actualizando el estatus de los mensajes enviados o indicando cuando recibe un mensaje.

La API de Sinch Messaging permite el envío de mensajes únicos o en lotes. La API posee integración REST, utilizando el protocolo HTTP con TLS, soportando el método POST con los parámetros enviados en formato JSON.

### Términos Importantes para WhatsApp <a href="#t-rminos-importantes-para-whatsapp" id="t-rminos-importantes-para-whatsapp"></a>

<table><thead><tr><th width="178"></th><th width="234"></th><th></th></tr></thead><tbody><tr><td><strong>MT</strong></td><td>Mobile Terminated</td><td>Es un termino utilizado para mensajes que poseen el usuario (Aparato) como destino. O sea, mensajes que fueron originados por su empresa con destino al usuario (Aparato).</td></tr><tr><td><strong>Response</strong></td><td>Respuesta sincronica de Sinch</td><td>Es una respuesta inmediata de una solicitud hecha en nuestra API, donde informamos si el mensaje fue aceptado o no por nuestra plataforma</td></tr><tr><td><strong>Callback</strong></td><td>Sent status o Estatus de envió</td><td>Es el primer status de envió que retornamos, en el informamos si fue posible, o no, hacer la entrega del mensaje. <strong>para lo WhatsApp</strong>.</td></tr><tr><td><strong>MO</strong></td><td>Mobile Originated</td><td>Es el termino utilizado para mensajes que poseen su empresa como destino. O sea, mensajes que fueron originados por el usuario (Aparato).</td></tr></tbody></table>


# Términos Importantes para WhatsApp

<table><thead><tr><th width="178"></th><th width="234"></th><th></th></tr></thead><tbody><tr><td><strong>MT</strong></td><td>Mobile Terminated</td><td>Es un termino utilizado para mensajes que poseen el usuario (Aparato) como destino. O sea, mensajes que fueron originados por su empresa con destino al usuario (Aparato).</td></tr><tr><td><strong>Response</strong></td><td>Respuesta sincronica de Sinch</td><td>Es una respuesta inmediata de una solicitud hecha en nuestra API, donde informamos si el mensaje fue aceptado o no por nuestra plataforma</td></tr><tr><td><strong>Callback</strong></td><td>Sent status o Estatus de envió</td><td>Es el primer status de envió que retornamos, en el informamos si fue posible, o no, hacer la entrega del mensaje. <strong>para lo WhatsApp</strong>.</td></tr><tr><td><strong>MO</strong></td><td>Mobile Originated</td><td>Es el termino utilizado para mensajes que poseen su empresa como destino. O sea, mensajes que fueron originados por el usuario (Aparato).</td></tr></tbody></table>


# Flujo de mensajes WhatsApp

<figure><img src="/files/VUL12E9eKtCwm6s0Gnjz" alt=""><figcaption></figcaption></figure>

### Pré Requisitos <a href="#pr-requisitos" id="pr-requisitos"></a>

1. Para utilizar la API de Sinch Messaging, primero debe tener una cuenta activa en la plataforma de Sinch. Consulte la documentación de [Cuenta y configuraciones](https://docs-latam.wavy.global/getting-started-menu/wavy-messaging-platform/cuenta-y-configuraciones) para obtener más información sobre cómo realizar este procedimiento.
2. Deberá tener un usuario y token válidos asociados a su cuenta. Puede agregar otros usuarios si así lo desea, aprenda a crear un usuario en nuestra guía [Agregar usuarios](https://docs-latam.wavy.global/permisos/subcuentas-y-usuarios).
3. Con las credenciales mencionadas anteriormente, ahora puede comenzar a usar la API Sinch Messaging.


# Detalles de la conexión

| **Hostname**     | api-messaging.wavy.global      |
| ---------------- | ------------------------------ |
| **Porta**        | 443 (https)                    |
| **Protocolo**    | HTTPS (TLS encryption)         |
| **Autenticação** | UserName e AuthenticationToken |
| **Encoding**     | UTF-8                          |


# Haciendo llamadas para la API de Sinch Messaging

Para realizar sus primeros envíos, recomendamos utilizar la aplicación [Postman](https://www.postman.com/downloads/) con requisitos de formato JSON en lugar de comenzar escribiendo código en otros lenguajes.

**Nota: Para enviar mensajes de prueba, necesita tener un Template de mensaje aprobado en su cuenta de WhatsApp Business. Consulte nuestra documentación sobre** [**Creación de Template de Whatsapp**](https://docs-latam.wavy.global/whatsapp-1/template)**, para crear sus primeros modelos.**

En el caso que no tenga algún template de mensaje aprobado, aún puede enviar mensajes de prueba, si el destinatario inicia la conversación enviando un mensaje (MO) al número de origen de la línea de Whatsapp. De esta forma, se abre una sesión hacia al cliente. Esto permite que pueda enviar cualquier tipo de mensaje en un lapso de 24 horas. Si el mensaje llega, significa que su solicitud a la API de Sinch Messaging fue exitosa. Caso contrario, verifique su Webhook en busca de notificaciones que puedan indicar algún problema.


# Envío de mensajes

Las llamadas para la API de Sinch Messaging son enviadas a <https://api-messaging.wavy.global/v1/whatsapp/send> en formato POST independientemente del tipo de mensaje, pero el contenido del cuerpo del mensaje JSON puede variar para cada tipo de mensaje.

El cuerpo de la solicitud debe contener un objeto JSON con los siguientes campos:

<table><thead><tr><th>Campo</th><th width="113">Necesario</th><th width="240">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>destinations</td><td>Si</td><td>Lista de destinatarios</td><td>Destination</td></tr><tr><td>message</td><td>Si</td><td>Mensaje de texto que se enviará a la lista de destinatarios</td><td>Message</td></tr><tr><td>flowId</td><td>No</td><td>Identificación del flujo de Bot</td><td>String</td></tr><tr><td>defaultExtraInfo</td><td>No</td><td>Los datos adicionales que identifican el envío, se vincularán a todos los destinatarios que recibirán el mensaje</td><td>String</td></tr><tr><td>campaignAlias</td><td>No</td><td>ID de campaña, está vinculado a todos los mensajes del envío</td><td>String</td></tr></tbody></table>

#### Destino: <a href="#destino" id="destino"></a>

<table><thead><tr><th>Campo</th><th width="112">Necesario</th><th width="242">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>correlationId</td><td>No</td><td>Su id definido sera devuelto en un mensaje de confirmación (Callback). Esto será útil en casos en que se desea mantener el control del mensaje enviado, ya que es posible definir ids diferentes para mensajes distintos.</td><td>String</td></tr><tr><td>destination</td><td>Si</td><td>Número de teléfono (código de país y estado deben estar presentes) al que se enviará el mensaje. Ejemplos: 5411900001111, +5720900001111, +56 (56) 900001111.</td><td>String</td></tr></tbody></table>

#### Mensaje: <a href="#mensaje" id="mensaje"></a>

<table><thead><tr><th>Campo</th><th width="148">Necesario</th><th width="247">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>messageText</td><td>Si</td><td>Campo utilizado en caso de que desee enviar un mensaje personalizado como respuesta a un mensaje recibido.</td><td>text</td></tr><tr><td>image</td><td>Si</td><td>Campo utilizado en caso de que desee enviar un contenido de imagen.</td><td>Image</td></tr><tr><td>audio</td><td>Si</td><td>Campo utilizado en caso de que desee enviar un contenido de audio.</td><td>Audio</td></tr><tr><td>document</td><td>Si</td><td>Campo utilizado en caso de que desee enviar un archivo o documento.</td><td>Document</td></tr><tr><td>contacts</td><td>Si</td><td>Campo utilizado en caso de que desee enviar contactos.</td><td>Contact[]</td></tr><tr><td>previewFirstUrl</td><td>No</td><td>Controla la vista previa de la aplicación de la primera URL enviada</td><td>Boolean</td></tr><tr><td>location</td><td>Si</td><td>Campo utilizado en caso de que desee enviar una ubicacion.</td><td>Location</td></tr></tbody></table>

{% hint style="danger" %}
**Solo una de las siguientes opciones de midia debe ser especificado, ya sea ‘messageText’, ‘image’, ‘audio’, ‘document’, ‘location’ o ‘contacts’**
{% endhint %}

Solo se debe enviar un mensaje personalizado como respuesta a un mensaje recibido por el usuario siempre cuando la sesión se encuentre abierta. Si la sesión no está abierta o el usuario no envió un mensaje deberá utilizase el Template.

{% hint style="danger" %}
**Los siguientes tipos de envío solo se entregarán con éxito dentro de la ventana de servicio (24 horas)**
{% endhint %}

#### Texto: <a href="#texto" id="texto"></a>

| Campo       | Obrigatório | Detalhes | Tipo                             |
| ----------- | ----------- | -------- | -------------------------------- |
| messageText | Si          |          | Texto que se enviará al usuario. |

> Ejemplo de envío de texto

{% tabs %}
{% tab title="JSON" %}

```
 {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "messageText": "Mensaje de prueba"
            }
        }
```

{% endtab %}
{% endtabs %}

### Imagen: <a href="#imagen" id="imagen"></a>

<table><thead><tr><th>Campo</th><th width="134">Necesario</th><th width="268">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>type</td><td>Si</td><td>Tipo / extensión de la imagen que se enviará en el mensaje. Opciones disponibles: JPG, JPEG, PNG.</td><td>String</td></tr><tr><td>caption</td><td>No</td><td>Texto que se mostrara al usuario debajo de la imagen en Whatsapp</td><td>String</td></tr><tr><td>url</td><td>Si</td><td>URL donde se aloja el contenido que se enviará.</td><td>String</td></tr><tr><td>data</td><td>Si</td><td>Base64 contenido codificado</td><td>String</td></tr></tbody></table>

{% hint style="danger" %}
**Solo se debe especificar una de las siguientes opciones, ya sea ‘url’, en caso de que desee enviar usando un archivo, o ‘datos’, en caso de que desee enviar una imagen usando la codificación base64**
{% endhint %}

> Ejemplo de envío de imagen (URL)

{% tabs %}
{% tab title="cURL" %}

```
 {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "image": {
                    "type": "JPG",
                    "url": "http://...jpg",
                    "caption": "image description"
                }
            }
        }
```

{% endtab %}

{% tab title="Ruby" %}

```
    {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "image": {
                    "type": "JPG",
                    "url": "http://...jpg",
                    "caption": "image description"
                }
            }
        }
```

<br>
{% endtab %}

{% tab title="Python" %}

```
  {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "image": {
                    "type": "JPG",
                    "url": "http://...jpg",
                    "caption": "image description"
                }
            }
        }
```

<br>
{% endtab %}

{% tab title="PHP" %}

```
{
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "image": {
                    "type": "JPG",
                    "url": "http://...jpg",
                    "caption": "image description"
                }
            }
        }
```

<br>
{% endtab %}

{% tab title="Java" %}

```
 {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "image": {
                    "type": "JPG",
                    "url": "http://...jpg",
                    "caption": "image description"
                }
            }
        }

```

{% endtab %}
{% endtabs %}

> Ejemplo de envío de imagen (Base64)

{% tabs %}
{% tab title="cURL" %}

```
{
           "destinations": [{
               "correlationId": "MyCorrelationId",
               "destination": "5519900001111"
           }],
           "message": {
               "image": {
                   "type": "JPG",
                   "data": "ZmlsZQ=="
               }
           }
       }
```

{% endtab %}

{% tab title="Ruby" %}

```
{
           "destinations": [{
               "correlationId": "MyCorrelationId",
               "destination": "5519900001111"
           }],
           "message": {
               "image": {
                   "type": "JPG",
                   "data": "ZmlsZQ=="
               }
           }
       }
```

{% endtab %}

{% tab title="Python" %}

```
{
           "destinations": [{
               "correlationId": "MyCorrelationId",
               "destination": "5519900001111"
           }],
           "message": {
               "image": {
                   "type": "JPG",
                   "data": "ZmlsZQ=="
               }
           }
       }
```

{% endtab %}

{% tab title="PHP" %}

```
{
           "destinations": [{
               "correlationId": "MyCorrelationId",
               "destination": "5519900001111"
           }],
           "message": {
               "image": {
                   "type": "JPG",
                   "data": "ZmlsZQ=="
               }
           }
       }
```

{% endtab %}

{% tab title="Java" %}

```
{
           "destinations": [{
               "correlationId": "MyCorrelationId",
               "destination": "5519900001111"
           }],
           "message": {
               "image": {
                   "type": "JPG",
                   "data": "ZmlsZQ=="
               }
           }
       }
```

{% endtab %}
{% endtabs %}

#### Audio: <a href="#audio" id="audio"></a>

<table><thead><tr><th>Campo</th><th width="129">Necesario</th><th width="238">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>type</td><td>Si</td><td>Tipo/Extensión de audio que se enviará en el mensaje. Opciones disponibles: AAC, MP4, AMR, MP3, OGG.</td><td>String</td></tr><tr><td>url</td><td>Si</td><td>URL donde se aloja el contenido que se enviará.</td><td>String</td></tr><tr><td>data</td><td>Si</td><td>Base64 contenido codificado</td><td>String</td></tr></tbody></table>

{% hint style="danger" %}
**Solo se debe especificar una de las siguientes opciones, ya sea ‘url’, en caso de que desee enviar usando un archivo, o ‘datos’, en caso de que desee enviar un audio usando la codificación base64.**
{% endhint %}

> Ejemplo de envío de audio (URL)

{% tabs %}
{% tab title="cURL" %}

```
  {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "url": "http://...mp3"
                }
            }
        }
```

{% endtab %}

{% tab title="Ruby" %}

```
  {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "url": "http://...mp3"
                }
            }
        }
```

{% endtab %}

{% tab title="Python" %}

```
 {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "url": "http://...mp3"
                }
            }
        }
```

{% endtab %}

{% tab title="PHP" %}

```
 {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "url": "http://...mp3"
                }
            }
        }
```

{% endtab %}

{% tab title="Java" %}

```
{
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "url": "http://...mp3"
                }
            }
        }
```

{% endtab %}
{% endtabs %}

> Ejemplo de envío de audio

{% tabs %}
{% tab title="cURL" %}

```
{
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "data": "ZmlsZQ=="
                }
            }
        }
```

{% endtab %}

{% tab title="Ruby" %}

```
  {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "data": "ZmlsZQ=="
                }
            }
        }
```

{% endtab %}

{% tab title="Python" %}

```
 {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "data": "ZmlsZQ=="
                }
            }
        }
```

{% endtab %}

{% tab title="PHP" %}

```
  {
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "data": "ZmlsZQ=="
                }
            }
        }
```

{% endtab %}

{% tab title="Java" %}

```
{
            "destinations": [{
                "correlationId": "MyCorrelationId",
                "destination": "5519900001111"
            }],
            "message": {
                "audio": {
                    "type": "MP3",
                    "data": "ZmlsZQ=="
                }
            }
        }
```

{% endtab %}
{% endtabs %}

#### Contact: <a href="#contact" id="contact"></a>

<table><thead><tr><th>Campo</th><th width="128">Necesario</th><th width="282">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>addresses</td><td>No</td><td>Direcciones de contacto completas.</td><td>Address[]</td></tr><tr><td>birthday</td><td>No</td><td>Fecha de cumpleaños como cadena con formato YYYY-MM-DD.</td><td>String</td></tr><tr><td>emails</td><td>No</td><td>Direcciones de correo electrónico de contacto.</td><td>Email[]</td></tr><tr><td>name</td><td>Sí</td><td>Nombre completo de contacto.</td><td>Name</td></tr><tr><td>org</td><td>No</td><td>Información de la organización de contacto.</td><td>Org</td></tr><tr><td>phones</td><td>No</td><td>Teléfonos de contacto.</td><td>Phone[]</td></tr><tr><td>urls</td><td>No</td><td>URLs de los contactos.</td><td>Url[]</td></tr></tbody></table>

> Ejemplo de envio de contactos

{% tabs %}
{% tab title="cURL" %}

```
{  
           "destinations":[  
              {  
                 "correlationId":"MyCorrelationId",
                 "destination":"5519900001111"
              }
           ],
           "message":{  
              "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
           }
        }
```

{% endtab %}

{% tab title="Ruby" %}

```
 {  
           "destinations":[  
              {  
                 "correlationId":"MyCorrelationId",
                 "destination":"5519900001111"
              }
           ],
           "message":{  
              "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
           }
        }
```

{% endtab %}

{% tab title="Python" %}

```
 {  
           "destinations":[  
              {  
                 "correlationId":"MyCorrelationId",
                 "destination":"5519900001111"
              }
           ],
           "message":{  
              "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
           }
        }
```

{% endtab %}

{% tab title="PHP" %}

```
 {  
           "destinations":[  
              {  
                 "correlationId":"MyCorrelationId",
                 "destination":"5519900001111"
              }
           ],
           "message":{  
              "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
           }
        }
```

{% endtab %}

{% tab title="Java" %}

```
 {  
           "destinations":[  
              {  
                 "correlationId":"MyCorrelationId",
                 "destination":"5519900001111"
              }
           ],
           "message":{  
              "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
           }
        }
```

{% endtab %}
{% endtabs %}

#### Address: <a href="#address" id="address"></a>

<table><thead><tr><th>Campo</th><th width="128">Necesario</th><th width="247">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>street</td><td>No</td><td>Número y nombre de la calle.</td><td>String</td></tr><tr><td>city</td><td>No</td><td>Nombre de la ciudad.</td><td>String</td></tr><tr><td>state</td><td>No</td><td>Abreviatura del estado.</td><td>String</td></tr><tr><td>zip</td><td>No</td><td>Código postal.</td><td>String</td></tr><tr><td>country</td><td>No</td><td>Nombre completo del país.</td><td>String</td></tr><tr><td>country_code</td><td>No</td><td>Abreviatura de país de dos letras.</td><td>String</td></tr><tr><td>type</td><td>No</td><td>Valores estándar: HOME, WORK.</td><td>String</td></tr></tbody></table>

#### Email: <a href="#email" id="email"></a>

<table><thead><tr><th>Campo</th><th width="126">Necesario</th><th width="234">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>email</td><td>No</td><td>Correo electrónico.</td><td>String</td></tr><tr><td>type</td><td>No</td><td>Valores estándar: HOME, WORK.</td><td>String</td></tr></tbody></table>

#### Name: <a href="#name" id="name"></a>

<table><thead><tr><th>Campo</th><th width="127">Necesario</th><th width="256">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>first_name</td><td>No</td><td>Primer nombre.</td><td>String</td></tr><tr><td>last_name</td><td>No</td><td>Apellido.</td><td>String</td></tr><tr><td>middle_name</td><td>No</td><td>Segundo nombre.</td><td>String</td></tr><tr><td>name_suffix</td><td>No</td><td>Sufijo del nombre.</td><td>String</td></tr><tr><td>name_prefix</td><td>No</td><td>Prefijo del nombre.</td><td>String</td></tr><tr><td>formatted_name</td><td>Sí</td><td>Nombre completo como aparece normalmente.</td><td>String</td></tr></tbody></table>

#### Org: <a href="#org" id="org"></a>

<table><thead><tr><th>Campo</th><th width="118">Necesario</th><th width="280">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>company</td><td>No</td><td>Nombre de la empresa del contacto.</td><td>String</td></tr><tr><td>department</td><td>No</td><td>Nombre del departamento de contacto.</td><td>String</td></tr><tr><td>title</td><td>No</td><td>Título comercial de contacto.</td><td>String</td></tr></tbody></table>

#### Phone: <a href="#phone" id="phone"></a>

<table><thead><tr><th>Campo</th><th width="129">Necesario</th><th width="273">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>phone</td><td>No</td><td>Número de teléfono formateado.</td><td>String</td></tr><tr><td>type</td><td>No</td><td>Valores estándar: CELL, MAIN, IPHONE, HOME, WORK.</td><td>String</td></tr><tr><td>wa_id</td><td>No</td><td>Identificador de WhatsApp.</td><td>String</td></tr></tbody></table>

#### Url: <a href="#url" id="url"></a>

<table><thead><tr><th width="124">Campo</th><th width="135">Necesario</th><th width="308">Detalles</th><th>Tipo</th></tr></thead><tbody><tr><td>phone</td><td>No</td><td>URL del contacto.</td><td>String</td></tr><tr><td>type</td><td>No</td><td>Valores estándar: HOME, WORK.</td><td>String</td></tr></tbody></table>

{% hint style="danger" %}
**Para los objetos que contienen un campo de tipo, los valores listados se consideran simplemente los valores estándar que se pueden ver, sin embargo, puede establecer el campo en cualquier valor descriptivo que elija.**
{% endhint %}

Si aún no tiene una plantilla creada y aprobada para su uso, consulte la documentación en [Template de WhatsApp](https://docs-latam.wavy.global/whatsapp-1/template) para obtener más información sobre cómo hacerlo. El cuerpo de la solicitud debe contener un objeto JSON con los siguientes campos:

<table><thead><tr><th>Field</th><th width="125">Required</th><th width="240">Details</th><th>Type</th></tr></thead><tbody><tr><td>destinations</td><td>Si</td><td>Detalles sobre los identificadores de envío y destino</td><td>Destination[]</td></tr><tr><td>message</td><td>Si</td><td>Detalles sobre el objeto MENSAJE que se enviará</td><td>message</td></tr><tr><td>defaultExtraInfo</td><td>No</td><td>Los datos adicionales que identifican el envío, se vincularán a todos los destinatarios que recibirán el mensaje</td><td>String</td></tr><tr><td>campaignAlias</td><td>No</td><td>ID de campaña, está vinculado a todos los mensajes del envío</td><td>String</td></tr></tbody></table>

> Ejemplo de solicitud template

{% tabs %}
{% tab title="cURL" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm"
    },
    {  
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
      }
    }
    }
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm"
    },
    {  
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
      }
    }
    }
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm"
    },
    {  
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
      }
    }
    }
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm"
    },
    {  
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
      }
    }
    }
}
```

{% endtab %}

{% tab title="Untitled" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm"
    },
    {  
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
      }
    }
    }
}
```

{% endtab %}
{% endtabs %}

#### destinations: <a href="#destinations" id="destinations"></a>

<table><thead><tr><th width="144">Field</th><th width="130">Required</th><th width="288">Details</th><th>Type</th></tr></thead><tbody><tr><td>correlationId</td><td>No</td><td>Id definido por el cliente que se devolverá en el estado del mensaje (devolución de llamada). Puede usar esta identificación para rastrear mensajes enviados de manera personalizada.</td><td>String</td></tr><tr><td>destination</td><td>Si</td><td>Número de teléfono que recibirá el mensaje (el código de país y DDD son obligatorios). Ejemplos: 5519900001111, +5519900001111, +55 (19) 900001111.</td><td>String</td></tr></tbody></table>

#### message: <a href="#message" id="message"></a>

| Campo    | Obrigatório | Detalhes                                          | Type     |
| -------- | ----------- | ------------------------------------------------- | -------- |
| template | Si          | Detalles sobre el objeto TEMPLATE que se enviará. | Template |

#### template: <a href="#template" id="template"></a>

| Field          | Required                                                            | Details                                                                                                                                                                                                                                   | Type             |
| -------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| elementName    | Si                                                                  | Nombre del Template registrado y aprobado.                                                                                                                                                                                                | String           |
| header         | Si, cuando el Template tiene un parámetro en el encabezado (header) | Objetos del encabezado (header) con sus parámetros                                                                                                                                                                                        | Header           |
| bodyParameters | Si (cuando el Template tiene parámetros)                            | La suma de todos los caracteres en el cuerpo, considerando campos fijos y dinámicos, está limitada a 1024 caracteres si el modelo registrado solo tiene el cuerpo. Está limitado a 160 caracteres si tiene un encabezado o pie de página. | Lista de strings |
| languageCode   | Sí, cuando hay más de un idioma registrado para la misma plantilla. | Codes: pt\_BR, en, es, en\_US, en\_GB, pt\_PT, es\_AR, es\_ES, es\_MX, it, fr                                                                                                                                                             | String           |
| Buttons        | Sí (Cuando hay)                                                     | Los botones aprobados de la plantilla.                                                                                                                                                                                                    | Buttons          |

#### header: <a href="#header" id="header"></a>

| Field      | Required | Details                                                                                                                                                             | Type   |
| ---------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| parameters | Opcional | Lista de parámetros que serán reemplazados en el texto del encabezado. Nota: En el caso de que esté presente el encabezado no debe tener título ni elemento alguno. | String |
| title      | Opcional | El título debe tener hasta 60 caracteres                                                                                                                            | String |
| (element)  | Si       | Opciones: text (patrón), image, audio, document, video.                                                                                                             | Object |

#### element: <a href="#element" id="element"></a>

| Field | Required | Details                                                          | Type   |
| ----- | -------- | ---------------------------------------------------------------- | ------ |
| url   | Si       | URL del archivo multimedia. Usar únicamente con URLs HTTP/HTTPS. | String |
| type  | Si       | Tipo de archivo multimedia (JPEG, MP3, PDF, etc)                 | String |

> Ejemplo de solicitud template con Header y Parámetro

{% tabs %}
{% tab title="cURL" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm",
            "header": {
                "parameters": [
                    "header_parameter_1"
                ]
            },
            "bodyParameters": [
                "https://upload.wikimedia.org/wikipedia/commons/c/c3/Arquivo.jpg"
            ],
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
        }
    }
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm",
            "header": {
                "parameters": [
                    "header_parameter_1"
                ]
            },
            "bodyParameters": [
                "https://upload.wikimedia.org/wikipedia/commons/c/c3/Arquivo.jpg"
            ],
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
        }
    }
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm",
            "header": {
                "parameters": [
                    "header_parameter_1"
                ]
            },
            "bodyParameters": [
                "https://upload.wikimedia.org/wikipedia/commons/c/c3/Arquivo.jpg"
            ],
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
        }
    }
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm",
            "header": {
                "parameters": [
                    "header_parameter_1"
                ]
            },
            "bodyParameters": [
                "https://upload.wikimedia.org/wikipedia/commons/c/c3/Arquivo.jpg"
            ],
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
        }
    }
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  {
    "destinations": [{
            "correlationId": "MyCorrelationId",
            "destination": "5519900001111"      
  }],
    "message": {
        "template": {
            "namespace" : "aaaaaaaa_bbbb_cccc_dddd_eeeeeeeeeeee",
            "elementName" : "some_approved_image_hsm",
            "header": {
                "parameters": [
                    "header_parameter_1"
                ]
            },
            "bodyParameters": [
                "https://upload.wikimedia.org/wikipedia/commons/c/c3/Arquivo.jpg"
            ],
            "languagePolicy": "DETERMINISTIC",
            "languageCode": "pt_BR"
        }
    }
}
```

{% endtab %}
{% endtabs %}


# Webhooks

Los Webhooks (o callbacks) son retornos de llamada de HTTP definidos por el usuario, que son accionados por eventos específicos. Siempre que ocurra un evento de acción, la API de Sinch recolectará los datos e inmediatamente enviará una notificación (solicitud HTTP) a la URL proporcionada por el cliente actualizando el estatus de los mensajes enviados o indicando cuándo recibirá un mensaje.

Cuando reciba un mensaje, la API de Sinch Messaging enviará una notificación de solicitud HTTP POST a la URL del **Webhook** con los detalles.

Es importante que su Webhook retorne una respuesta HTTPS 200 OK para las notificaciones (en un lapso de hasta 200 ms o de manera asíncrona). Caso contrario, la API de Sinch Messaging considerará esa notificación como una falla e intentará nuevamente.

**Importante: Indicar el webhook donde recibirá los mensajes, para que nuestro equipo de soporte pueda asociarlo a su cuenta de Whatsapp**

> Ejemplo

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5411900000000",
      "origin": "5411900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE"
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5411900000000",
      "origin": "5411900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE"
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5411900000000",
      "origin": "5411900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE"
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5411900000000",
      "origin": "5411900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE"
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "8995c40f-1c3a-48d0-98ee-bbc603622a91",
      "correlationId": "...",
      "destination": "5411900000000",
      "origin": "5411900000000",
      "campaignId": 100,
      "campaignAlias": "...",
      "flowId": "...",
      "extraInfo": "...",
      "sent": true,
      "sentStatusCode": 1,
      "sentStatus": "sent status",
      "sentDate": "2017-12-18T17:09:31.891Z",
      "sentAt": 1513616971891,
      "delivered": true,
      "deliveredStatusCode": 1,
      "deliveredStatus": "delivered status",
      "deliveredDate": "2017-12-18T17:09:31.891Z",
      "deliveredAt": 1513616971891,
      "read": true,
      "readDate": "2017-12-18T17:09:31.891Z",
      "readAt": 1513616971891,
      "updatedDate": "2017-12-18T17:09:31.891Z",
      "updatedAt": 1513616971891,
      "type": "MESSAGE"
    }
  ],
  "clientInfo": {
      "customerId": 42,
      "subAccountId": 1291,
      "userId": 1
  }
}
```

{% endtab %}
{% endtabs %}

{% hint style="danger" %}
**Importante: Indicar el webhook donde recibirá los mensajes, para que nuestro equipo de soporte pueda asociarlo a su cuenta de Whatsapp**
{% endhint %}

| Campo          | Detalles                           | Tipo       |
| -------------- | ---------------------------------- | ---------- |
| total          | Número de callbacks en la llamada. | String     |
| data           | Lista de callbacks.                | Data\[]    |
| clientInfo     | Información del cliente            | ClientInfo |
| ConversationID |                                    | String     |

#### data: <a href="#data" id="data"></a>

| Campo               | Detalles                                                                                                                                                                                        | Tipo    |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| id                  | ID del último mensaje                                                                                                                                                                           | String  |
| correlationId       | Un ID único configurado por usted para coincidir con el estado del mensaje (callback y DLR). Este parámetro es opcional y puede usar el ID generado por Sinch Messaging para esta coincidencia. | String  |
| destination         | Teléfono al que se envió el mensaje (incluido el código de país). Ejemplo: 5411900000000.                                                                                                       | String  |
| origin              | Teléfono que identifica la cuenta de WhatsApp (incluido el código de país). Ejemplo: 5411900000000.                                                                                             | String  |
| campaignId          | ID de campaña previamente definido.                                                                                                                                                             | String  |
| campaignAlias       | Alias de campaña previamente definido.                                                                                                                                                          | String  |
| extraInfo           | Información adicional enviada con el mensaje original.                                                                                                                                          | String  |
| sent                | Indica si el mensaje fue enviado.                                                                                                                                                               | Boolean |
| sentStatusCode      | Código de estado generado por Sinch Messaging para un mensaje que indica el estado de envío.                                                                                                    | Number  |
| sentStatus          | Descripción del estado enviado.                                                                                                                                                                 | Boolean |
| sentDate            | Fecha en que se envió el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ.                                                                                                                              | String  |
| sentAt              | Hora en que se envió el mensaje, utilizando el formato Unix\_time                                                                                                                               | Number  |
| delivered           | Indica si el mensaje fue entregado al destino.                                                                                                                                                  | Boolean |
| deliveredStatusCode | Código de estado generado por Sinch Messaging para indicar que el mensaje fue entregado.                                                                                                        | Number  |
| deliveredStatus     | Descripción del estado de entrega                                                                                                                                                               | String  |
| deliveredDate       | Fecha en que se entregó el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ                                                                                                                             | String  |
| deliveredAt         | Hora en que se entregó el mensaje, utilizando el formato Unix\_time                                                                                                                             | Number  |
| read                | Indica si el mensaje fue leído por el destinatario.                                                                                                                                             | Boolean |
| readDate            | Fecha en que se leyó el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ                                                                                                                                | String  |
| readAt              | Hora en que se leyó el mensaje, utilizando el formato Unix\_time                                                                                                                                | String  |
| updatedDate         | Fecha en que se actualizó el estado del mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ                                                                                                                | String  |
| updatedAt           | Fecha en que se actualizó el estado del mensaje, utilizando el formato Unix\_time                                                                                                               | String  |
| type                | El tipo de entidad del que trata este objeto de estado. Actualmente, la única opción disponible es “mensaje”.                                                                                   | String  |

#### clientInfo <a href="#clientinfo" id="clientinfo"></a>

| Campo        | Detalles                        | Tipo   |
| ------------ | ------------------------------- | ------ |
| customerId   | Identificación del cliente.     | Number |
| subAccountId | Identificación de la subcuenta. | Number |
| userId       | Identificación del usuario.     | Number |

#### Status <a href="#status" id="status"></a>

Descripción del Status que nosotros podemos enviar en la devolución de llamada:

| Status             | Descripción                               | Equivalente en WhatsApp para dispositivos móveis |
| ------------------ | ----------------------------------------- | ------------------------------------------------ |
| SENT\_SUCCESS      | Mensaje recibido por servidor de WhatsApp | Una marca de verificación                        |
| DELIVERED\_SUCCESS | Mensaje de entrega para el destinatario   | Dos marcas de verificación                       |
| READ\_SUCCESS      | Mensaje leído por el destinatario         | Dos marcas de verificación azules                |

#### Otros Status <a href="#otros-status" id="otros-status"></a>

Estos son los códigos devueltos en los campos sentStatusCode y deliveryStatusCode.

<table><thead><tr><th>Código de envio</th><th width="176">Código de entrega</th><th>Status</th><th>Significado</th></tr></thead><tbody><tr><td>102</td><td></td><td>CARRIER COMMUNICATION ERROR</td><td>Error al cargar multimedia para WhatsApp.</td></tr><tr><td>103</td><td></td><td>REJECTED_BY_CARRIER</td><td>Se produjo un error en la base de datos.</td></tr><tr><td>2</td><td>101</td><td>EXPIRED</td><td>Mensaje expirado.</td></tr><tr><td>2</td><td>104</td><td>NOT_DELIVERED</td><td>Posibles Causas:Límite alcanzado: se han intentado demasiados mensajes enviados,o no envía un mensaje porque el número de teléfono de destino no existe,o la estructura de la plantilla no existe,o no pudo enviar un mensaje porque el número de destino está fuera del tiempo de sesión abierta de 24 horas para recibir mensajes libremente. o hubo un error de carga de medios (error desconocido), o no envía un mensaje porque su cuenta no es elegible en Facebook Business Manager,o hubo un error de carga temporal. Intentar nuevamente más tarde.</td></tr><tr><td>202</td><td></td><td>EXPIREDINVALID_DESTINATION_NUMBER</td><td>Contacto de WhatsApp inválido.</td></tr><tr><td>204</td><td></td><td>DESTINATION_BLOCKED_BY_OPTOUT</td><td>Destino bloqueado por Opt-Out.</td></tr><tr><td>207</td><td></td><td>INVALID_MESSAGE_TEXT</td><td>El valor del parámetro no es válido.</td></tr><tr><td>209</td><td></td><td>INVALID_CONTENT</td><td>Tipo de mensaje UNKNOWN inválido.</td></tr><tr><td>210</td><td></td><td>INVALID_SESSION</td><td>La sesión no está abierta o ninguna plantilla de fallback está configurada.</td></tr><tr><td>301</td><td></td><td>INTERNAL_ERROR</td><td>No es posible verificar contactos desde la API de WhatsApp.</td></tr><tr><td></td><td></td><td></td><td></td></tr></tbody></table>

#### Errores <a href="#errores" id="errores"></a>

<table data-header-hidden><thead><tr><th width="193"></th><th></th></tr></thead><tbody><tr><td><strong>HTTP Code</strong></td><td><strong>Description</strong></td></tr><tr><td>2xx</td><td>Success</td></tr><tr><td>200</td><td>Success (OK)</td></tr><tr><td>201</td><td>Successfully created (For POST requests)</td></tr><tr><td>302</td><td>Found</td></tr><tr><td>4xx</td><td>Client Errors</td></tr><tr><td>400</td><td>Request was invalid</td></tr><tr><td>401</td><td>Unauthorized</td></tr><tr><td>403</td><td>Forbidden</td></tr><tr><td>404</td><td>Not found</td></tr><tr><td>405</td><td>Method not allowed</td></tr><tr><td>412</td><td>Precondition failed</td></tr><tr><td>429</td><td>Too many requests</td></tr><tr><td>5xx</td><td>Server Errors</td></tr><tr><td>500</td><td>Internal server error</td></tr><tr><td>504</td><td>Timeout</td></tr></tbody></table>


# Mensajes (MO)

Cuando el cliente le envíe un mensaje, Sinch Messaging API enviará una notificación de solicitud HTTP POST a la URL de Webhook con los detalles.

Es importante que su Webhook retorne una respuesta HTTPS 200 OK para las notificaciones (en un lapso de hasta 200 ms o de manera asíncrona). Caso contrario, la API de Sinch Messaging considerará esa notificación como una falla e intentará nuevamente.

{% hint style="danger" %}
**Importante: Indicar el webhook donde recibirá los mensajes, para que nuestro equipo de soporte pueda asociarlo a su cuenta de Whatsapp**
{% endhint %}

El formato de la respuesta será de acuerdo a la siguiente descripción:

| Campo | Detalles                                              | Tipo   |
| ----- | ----------------------------------------------------- | ------ |
| total | Número de callbacks en la llamada.                    | String |
| data  | Lista de mensajes originados en dispositivos móviles. | Data   |

> Ejemplo de mensaje de texto:

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "TEXT",
"messageText": "Olá, essa é uma mensagem do usuário."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "TEXT",
"messageText": "Olá, essa é uma mensagem do usuário."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "TEXT",
"messageText": "Olá, essa é uma mensagem do usuário."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "TEXT",
"messageText": "Olá, essa é uma mensagem do usuário."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "TEXT",
"messageText": "Olá, essa é uma mensagem do usuário."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}
{% endtabs %}

| Campo         | Detalles                                                                                                                                                                                        | Tipo        |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| id            | Última identificación del mensaje                                                                                                                                                               | String      |
| source        | Teléfono del remitente                                                                                                                                                                          | String      |
| origin        | Teléfono que identifica la cuenta de WhatsApp (incluido el código de país). Ejemplo: 5411900000000.                                                                                             | String      |
| userProfile   | Perfil del usuario que envió el mensaje                                                                                                                                                         | UserProfile |
| correlationId | Un ID único configurado por usted para coincidir con el estado del mensaje (Callback y DLR). Este parámetro es opcional y puede usar el ID generado por Sinch Messaging para esta coincidencia. | String      |
| campaignId    | ID de campaña previamente definido.                                                                                                                                                             | String      |
| campaignAlias | Alias de Campaña previamente definido.                                                                                                                                                          | String      |
| message       | Mensaje MO.                                                                                                                                                                                     | Message     |
| receivedAt    | Fecha en que se recibió el mensaje. Formato: yyyy-MM-dd’T'HH:mm:ssZ                                                                                                                             | String      |
| receivedDate  | Fecha en que se recibió el mensaje, utilizando el formato Unix\_time                                                                                                                            | String      |
| extraInfo     | Información extra relacionada con el mensaje. Formato: **Json**                                                                                                                                 | String      |
| referral      | Presente si el usuario inició el mensaje al hacer clic en una publicación o anuncio. Este campo es opcional (puede ser nulo).                                                                   | Referral    |
| mtSentAt      | La marca de tiempo de la fecha/hora en que se envió el último MT a este destinatario.                                                                                                           | Long        |
| session       | Información de la sesión.                                                                                                                                                                       | Session     |

> Ejemplo de mensaje con respuesta de botón:

{% tabs %}
{% tab title="cURL" %}

```
{
    "total":1,
    "data":[
      {
        "id":"ce425ffe-bc62-421f-9261-e6819a5eab43",
        "source":"5511900000000",
        "origin":"5511900000000",
        "userProfile":{
          "name":"username",
          "whatsAppId":"5511900000000"
          },
        "correlationId":"...",
        "messageId":"aae959ca-5944-405a-809a-75ff142bc234",
        "message":{
            "type":"BUTTON",
            "messageText":"Sim",
            "payload":"sim"
            },
        "receivedAt":1513616971473,
        "receivedDate":"2020-07-22T14:24:41Z",
        "session":{
            "id":"06deff90-cc27-11ea-b94f-0050569e62ca",
            "createdAt":1513616971473
              }
          }
      ],
        "clientInfo":{
            "customerId":10,
            "subAccountId":0,
            "userId":101010
            }
  }
```

{% endtab %}

{% tab title="Ruby" %}

```
{
    "total":1,
    "data":[
      {
        "id":"ce425ffe-bc62-421f-9261-e6819a5eab43",
        "source":"5511900000000",
        "origin":"5511900000000",
        "userProfile":{
          "name":"username",
          "whatsAppId":"5511900000000"
          },
        "correlationId":"...",
        "messageId":"aae959ca-5944-405a-809a-75ff142bc234",
        "message":{
            "type":"BUTTON",
            "messageText":"Sim",
            "payload":"sim"
            },
        "receivedAt":1513616971473,
        "receivedDate":"2020-07-22T14:24:41Z",
        "session":{
            "id":"06deff90-cc27-11ea-b94f-0050569e62ca",
            "createdAt":1513616971473
              }
          }
      ],
        "clientInfo":{
            "customerId":10,
            "subAccountId":0,
            "userId":101010
            }
  }
```

{% endtab %}

{% tab title="Python" %}

```
{
    "total":1,
    "data":[
      {
        "id":"ce425ffe-bc62-421f-9261-e6819a5eab43",
        "source":"5511900000000",
        "origin":"5511900000000",
        "userProfile":{
          "name":"username",
          "whatsAppId":"5511900000000"
          },
        "correlationId":"...",
        "messageId":"aae959ca-5944-405a-809a-75ff142bc234",
        "message":{
            "type":"BUTTON",
            "messageText":"Sim",
            "payload":"sim"
            },
        "receivedAt":1513616971473,
        "receivedDate":"2020-07-22T14:24:41Z",
        "session":{
            "id":"06deff90-cc27-11ea-b94f-0050569e62ca",
            "createdAt":1513616971473
              }
          }
      ],
        "clientInfo":{
            "customerId":10,
            "subAccountId":0,
            "userId":101010
            }
  }
```

{% endtab %}

{% tab title="PHP" %}

```
{
    "total":1,
    "data":[
      {
        "id":"ce425ffe-bc62-421f-9261-e6819a5eab43",
        "source":"5511900000000",
        "origin":"5511900000000",
        "userProfile":{
          "name":"username",
          "whatsAppId":"5511900000000"
          },
        "correlationId":"...",
        "messageId":"aae959ca-5944-405a-809a-75ff142bc234",
        "message":{
            "type":"BUTTON",
            "messageText":"Sim",
            "payload":"sim"
            },
        "receivedAt":1513616971473,
        "receivedDate":"2020-07-22T14:24:41Z",
        "session":{
            "id":"06deff90-cc27-11ea-b94f-0050569e62ca",
            "createdAt":1513616971473
              }
          }
      ],
        "clientInfo":{
            "customerId":10,
            "subAccountId":0,
            "userId":101010
            }
  }
```

{% endtab %}

{% tab title="Java" %}

```
{
    "total":1,
    "data":[
      {
        "id":"ce425ffe-bc62-421f-9261-e6819a5eab43",
        "source":"5511900000000",
        "origin":"5511900000000",
        "userProfile":{
          "name":"username",
          "whatsAppId":"5511900000000"
          },
        "correlationId":"...",
        "messageId":"aae959ca-5944-405a-809a-75ff142bc234",
        "message":{
            "type":"BUTTON",
            "messageText":"Sim",
            "payload":"sim"
            },
        "receivedAt":1513616971473,
        "receivedDate":"2020-07-22T14:24:41Z",
        "session":{
            "id":"06deff90-cc27-11ea-b94f-0050569e62ca",
            "createdAt":1513616971473
              }
          }
      ],
        "clientInfo":{
            "customerId":10,
            "subAccountId":0,
            "userId":101010
            }
  }
```

{% endtab %}
{% endtabs %}

#### Referral <a href="#referral" id="referral"></a>

**Todos los campos de este objeto son opcionales (pueden ser nulos).**

| Campo      | Detalhes                                                           | Tipo   |
| ---------- | ------------------------------------------------------------------ | ------ |
| headLine   | Titular del anuncio que generó el mensaje.                         | String |
| body       | Cuerpo del anuncio.                                                | String |
| sourceType | Tipo de anuncio. Puede ser “ad”, “post” o “unknown”.               | String |
| sourceId   | Identificación de anuncio o publicación en Facebook.               | String |
| sourceUrl  | URL del anuncio o publicación.                                     | String |
| mediaType  | Tipo de medio presente en el anuncio. Puede ser “image” o “video”. | String |
| mediaUrl   | Url del medio presente en el anuncio.                              | String |

> Ejemplo de mensaje de texto de referral:

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "referral": {
        "headLine": "...",
        "body": "...",
        "sourceType": "...",
        "sourceId": "...",
        "sourceUrl": "...",
        "mediaType": "...",
        "mediaUrl": "..."
      },
      "mtSentAt": 1513616971473,
      "message": {
        "type": "TEXT",
        "messageText": "Hi, this is a message from the user"
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "referral": {
        "headLine": "...",
        "body": "...",
        "sourceType": "...",
        "sourceId": "...",
        "sourceUrl": "...",
        "mediaType": "...",
        "mediaUrl": "..."
      },
      "mtSentAt": 1513616971473,
      "message": {
        "type": "TEXT",
        "messageText": "Hi, this is a message from the user"
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "referral": {
        "headLine": "...",
        "body": "...",
        "sourceType": "...",
        "sourceId": "...",
        "sourceUrl": "...",
        "mediaType": "...",
        "mediaUrl": "..."
      },
      "mtSentAt": 1513616971473,
      "message": {
        "type": "TEXT",
        "messageText": "Hi, this is a message from the user"
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "referral": {
        "headLine": "...",
        "body": "...",
        "sourceType": "...",
        "sourceId": "...",
        "sourceUrl": "...",
        "mediaType": "...",
        "mediaUrl": "..."
      },
      "mtSentAt": 1513616971473,
      "message": {
        "type": "TEXT",
        "messageText": "Hi, this is a message from the user"
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "name of the user"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "referral": {
        "headLine": "...",
        "body": "...",
        "sourceType": "...",
        "sourceId": "...",
        "sourceUrl": "...",
        "mediaType": "...",
        "mediaUrl": "..."
      },
      "mtSentAt": 1513616971473,
      "message": {
        "type": "TEXT",
        "messageText": "Hi, this is a message from the user"
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}
{% endtabs %}

#### Session <a href="#session" id="session"></a>

| Field     | Details                                   | Type   |
| --------- | ----------------------------------------- | ------ |
| sessionId | ID de sesión para este usuario.           | String |
| createdAt | Marca de tiempo de creación de la sesión. | Long   |

#### Mensaje: <a href="#mensaje" id="mensaje"></a>

| Campo       | Detalles                                                                      | Tipo       |
| ----------- | ----------------------------------------------------------------------------- | ---------- |
| type        | Tipo de mensaje enviado por el usuario final: TEXT - IMAGE - AUDIO - DOCUMENT | String     |
| messageText | El mensaje de texto (MO) enviado por el usuario final.                        | String     |
| mediaUrl    | Url para descargar la multimedia enviada por el usuario final.                | String     |
| mimeType    | Tipo de archivo enviado por el usuario final.                                 | String     |
| caption     | Etiqueta de multimedia enviada por el usuario final.                          | String     |
| location    | Ubicación enviada por el usuario final.                                       | Location   |
| contacts    | Contactos enviados por el usuario final.                                      | Contact\[] |

> Ejemplo de mensaje multimedia

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "IMAGE",
           "mediaUrl": "https://...",
           "mimeType": "image/jpg",
           "caption": "..."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "IMAGE",
           "mediaUrl": "https://...",
           "mimeType": "image/jpg",
           "caption": "..."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "IMAGE",
           "mediaUrl": "https://...",
           "mimeType": "image/jpg",
           "caption": "..."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "IMAGE",
           "mediaUrl": "https://...",
           "mimeType": "image/jpg",
           "caption": "..."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
            "type": "IMAGE",
           "mediaUrl": "https://...",
           "mimeType": "image/jpg",
           "caption": "..."
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}
{% endtabs %}

#### UserProfile: <a href="#userprofile" id="userprofile"></a>

| Field | Necesario | Detalles                         | Tipo   |
| ----- | --------- | -------------------------------- | ------ |
| name  | No        | El nombre del perfil del usuario | String |

#### Location: <a href="#location" id="location"></a>

| Field    | Details                                                             | Type   |
| -------- | ------------------------------------------------------------------- | ------ |
| name     | Nombre del sitio.                                                   | String |
| address  | Dirección del sitio.                                                | String |
| geoPoint | Geopoint enviada por el usuario final. Formato: “latitud, longitud” | String |

> Ejemplo de mensaje de ubicación:

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "location": {
               "geoPoint": "-22.894180,-47.047960",
               "name": "Sinch",
               "address": "Av. Cel. Silva Telles"
           }
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "location": {
               "geoPoint": "-22.894180,-47.047960",
               "name": "Wavy",
               "address": "Av. Cel. Silva Telles"
           }
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "location": {
               "geoPoint": "-22.894180,-47.047960",
               "name": "Wavy",
               "address": "Av. Cel. Silva Telles"
           }
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "location": {
               "geoPoint": "-22.894180,-47.047960",
               "name": "Wavy",
               "address": "Av. Cel. Silva Telles"
           }
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "location": {
               "geoPoint": "-22.894180,-47.047960",
               "name": "Wavy",
               "address": "Av. Cel. Silva Telles"
           }
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}
{% endtabs %}

#### Contact: <a href="#contact" id="contact"></a>

| Campo     | Necesario | Detalles                                                | Tipo       |
| --------- | --------- | ------------------------------------------------------- | ---------- |
| addresses | No        | Direcciones de contacto completas.                      | Address\[] |
| birthday  | No        | Fecha de cumpleaños como cadena con formato YYYY-MM-DD. | String     |
| emails    | No        | Direcciones de correo electrónico de contacto.          | Email\[]   |
| name      | No        | Nombre completo de contacto.                            | Name       |
| org       | No        | Información de la organización de contacto.             | Org        |
| phones    | No        | Teléfonos de contacto.                                  | Phone\[]   |
| urls      | No        | URLs de los contactos.                                  | Url\[]     |

> Ejemplo de mensaje de contacto:

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{
  "total": 1,
  "data": [
    {
      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43",
      "source": "5519900000000",
      "origin": "5519900000000",      
      "userProfile": {
        "name": "nome do usuário"
      },
      "campaignId": 100,
      "correlationId": "...",
      "campaignAlias": "...",
      "flowId": "....",
      "extraInfo": "...",
      "message": {
           "contacts":[  
                 {  
                    "addresses":[  
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"1 Hacker Way",
                          "type":"HOME",
                          "zip":"94025"
                       },
                       {  
                          "city":"Menlo Park",
                          "country":"United States",
                          "country_code":"us",
                          "state":"CA",
                          "street":"200 Jefferson Dr",
                          "type":"WORK",
                          "zip":"94025"
                       }
                    ],
                    "birthday":"2012-08-18",
                    "emails":[  
                       {  
                          "email":"test@fb.com",
                          "type":"WORK"
                       },
                       {  
                          "email":"test@whatsapp.com",
                          "type":"WORK"
                       }
                    ],
                    "name":{  
                       "first_name":"John",
                       "formatted_name":"John Smith",
                       "last_name":"Smith"
                    },
                    "org":{  
                       "company":"WhatsApp",
                       "department":"Design",
                       "title":"Manager"
                    },
                    "phones":[  
                       {  
                          "phone":"+1 (940) 555-1234",
                          "type":"HOME"
                       },
                       {  
                          "phone":"+1 (650) 555-1234",
                          "type":"WORK",
                          "wa_id":"16505551234"
                       }
                    ],
                    "urls":[  
                       {  
                          "url":"https://www.fb.com",
                          "type":"WORK"
                       }
                    ]
                 }
              ]
      },
      "receivedAt": 1513616971473,
      "receivedDate": "2017-12-18T17:09:31.473Z"
    }
  ]
}
```

{% endtab %}
{% endtabs %}

#### Address: <a href="#address" id="address"></a>

| Campo         | Necesario | Detalles                           | Tipo   |
| ------------- | --------- | ---------------------------------- | ------ |
| street        | No        | Número y nombre de la calle.       | String |
| city          | No        | Nombre de la ciudad.               | String |
| state         | No        | Abreviatura del estado.            | String |
| zip           | No        | Código postal.                     | String |
| country       | No        | Nombre completo del país.          | String |
| country\_code | No        | Abreviatura de país de dos letras. | String |
| type          | No        | Valores estándar: HOME, WORK.      | String |

#### Email: <a href="#email" id="email"></a>

| Campo | Necesario | Detalles                      | Tipo   |
| ----- | --------- | ----------------------------- | ------ |
| email | No        | Correo electrónico.           | String |
| type  | No        | Valores estándar: HOME, WORK. | String |

#### Name: <a href="#name" id="name"></a>

| Campo           | Necesario | Detalles                                  | Tipo   |
| --------------- | --------- | ----------------------------------------- | ------ |
| first\_name     | No        | Primer nombre.                            | String |
| last\_name      | No        | Apellido.                                 | String |
| middle\_name    | No        | Segundo nombre.                           | String |
| name\_suffix    | No        | Sufijo del nombre.                        | String |
| name\_prefix    | No        | Prefijo del nombre.                       | String |
| formatted\_name | No        | Nombre completo como aparece normalmente. | String |

#### Org: <a href="#org" id="org"></a>

| Campo      | Necesario | Detalles                             | Tipo   |
| ---------- | --------- | ------------------------------------ | ------ |
| company    | No        | Nombre de la empresa del contacto.   | String |
| department | No        | Nombre del departamento de contacto. | String |
| title      | No        | Título comercial de contacto.        | String |

#### Phone: <a href="#phone" id="phone"></a>

| Campo  | Necesario | Detalles                                          | Tipo   |
| ------ | --------- | ------------------------------------------------- | ------ |
| phone  | No        | Número de teléfono formateado.                    | String |
| type   | No        | Valores estándar: CELL, MAIN, IPHONE, HOME, WORK. | String |
| wa\_id | No        | Identificador de WhatsApp.                        | String |

#### Url: <a href="#url" id="url"></a>

| Campo | Necesario | Detalles                      | Tipo   |
| ----- | --------- | ----------------------------- | ------ |
| url   | No        | URL del contacto.             | String |
| type  | No        | Valores estándar: HOME, WORK. | String |

**extraInfo (Control de flujo de MO - Listas de segmentación)**

El mensaje tendrá una lista de listas de segmentaciones en el campo Información adicional. Nuestros asociados lo utilizan para redirigir los mensajes a través de ciertos flujos. El nombre de la clave es **segmentation\_lists** y contiene una lista de **SegmentationList**.

| Campo        | Detalles                                  | Tipo    |
| ------------ | ----------------------------------------- | ------- |
| id           | Identificador de la lista de segmentación | Integer |
| customerId   | Identificador de cliente                  | Integer |
| subAccountId | Identificador de subcuenta                | Integer |
| name         | Nombre de la lista de segmentación        | String  |
| active       | Estado de la lista de segmentación        | Boolean |

> Ejemplo de Extra Info (SegmentationList):

{% tabs %}
{% tab title="cURL" %}

```
{  
   "segmentation_list":[  
      {  
         "id":26,
         "customerId":42,
         "subAccountId":0,
         "name":"Sinch WhatsApp Segmentation List",
         "active":true
      },
      {  
         "id":27,
         "customerId":43,
         "subAccountId":0,
         "name":"Sinch WhatsApp Segmentation List 2",
         "active":true
      }
   ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{  
   "segmentation_list":[  
      {  
         "id":26,
         "customerId":42,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List",
         "active":true
      },
      {  
         "id":27,
         "customerId":43,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List 2",
         "active":true
      }
   ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{  
   "segmentation_list":[  
      {  
         "id":26,
         "customerId":42,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List",
         "active":true
      },
      {  
         "id":27,
         "customerId":43,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List 2",
         "active":true
      }
   ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{  
   "segmentation_list":[  
      {  
         "id":26,
         "customerId":42,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List",
         "active":true
      },
      {  
         "id":27,
         "customerId":43,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List 2",
         "active":true
      }
   ]
}
```

{% endtab %}

{% tab title="Java" %}

```
{  
   "segmentation_list":[  
      {  
         "id":26,
         "customerId":42,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List",
         "active":true
      },
      {  
         "id":27,
         "customerId":43,
         "subAccountId":0,
         "name":"Wavy WhatsApp Segmentation List 2",
         "active":true
      }
   ]
}
```

{% endtab %}
{% endtabs %}

{% hint style="danger" %}
Para los objetos que contienen un campo de tipo, los valores listados se consideran simplemente los valores estándar que se pueden ver, sin embargo, puede establecer el campo en cualquier valor descriptivo que elija.
{% endhint %}


# API SFTP WhatsApp

#### Detalle de Conexión <a href="#detalle-de-conexi-n" id="detalle-de-conexi-n"></a>

|                   |                                                                            |
| ----------------- | -------------------------------------------------------------------------- |
| **Hostname**      | ftp-messaging.wavy.global                                                  |
| **puerto**        | 2222                                                                       |
| **Protocolo**     | SFTP (transferencia sobre ssh, usando criptografía entre cliente-servidor) |
| **Autenticación** | username + senha (provisto por soporte)                                    |


# Envío de mensajes a través de SFTP

#### Mensaje Template a través de SFTP <a href="#mensaje-template-a-trav-s-de-sftp" id="mensaje-template-a-trav-s-de-sftp"></a>

{% hint style="danger" %}
**Para realizar el disparo de mensajes de WhatsApp Templates, a estrutura cadastrada de Template deve ser devidamente respeitada, caso contrário o envio falhará.**
{% endhint %}

#### Template con multimidia: <a href="#template-con-multimidia" id="template-con-multimidia"></a>

**2020-01-21;16:00;16:00;TEMPLATE;chatclub\_welcome;whatsapp:hsm:ecommerce:movile;pt\_BR;DETERMINISTIC;nombre|empresa** \*\*IMAGE;URL;<https://upload.wikimedia.org/wikipedia/en/d/d2/Imagem\\_logo.png;PNG**\\>
**phone;nombre;empresa**\
**5519981560597;Nombre1;Sinch**

| 1ª línea                                                                      |
| ----------------------------------------------------------------------------- |
| Fecha de envío (para casos de programación)                                   |
| Hora inicial de envío (para casos de programación)                            |
| Hora final de envío (para casos de programación)                              |
| Tipo de mensaje debe ser: TEMPLATE                                            |
| Nombre (elementName) del Template                                             |
| Namespace (namespace) del Template                                            |
| Idioma (languageCode) de Template                                             |
| Definicíon del idioma del Template (languagePolicy): DETERMINISTIC o FALLBACK |
| Nombre de los parámetros de Template                                          |

**Observaciones para la primera línea:**

1. Los nombres de los parámetros deben coincidir con los nombres de las columnas o será considerado como valores constantes
2. Las informaciones que no se utilicen se pueden dejar en blanco, pero deben mantener el punto y coma como separación. Ejemplo de un caso que no utilizamos programación (los campos iniciales quedan entre punto y coma y sin información dentro): ; ; ; TEMPLATE;chatclub\_welcome;whatsapp:hsm:ecommerce:movile;pt\_BR;DETERMINISTIC;nome|empresa
3. Por defecto (predeterminado) la languagePolicy será DETERMINISTIC.
4. Los nombres de los parámetros del Template deben ser separados por “|” y no por “;”

| 2ª línea                              | Ejemplo                                            |
| ------------------------------------- | -------------------------------------------------- |
| Tipo de Header soportado por template | IMAGE, AUDIO, VIDEO o DOCUMENT                     |
| Tipo de fuente de medios              | URL o PATH (Directorio de medios del servidor FTP) |
| Medio                                 | Url o directorio del servidor FTP                  |
| Tipo de medio                         | JPEG, PNG, JPG, PDF, DOC, MP4, MP3                 |

**Observaciones para la segunda línea:**

1. El tipo de medio debe ser un tipo aceptado por el WhatsApp

| Medio     | Content-Types soportados                                                                        |
| --------- | ----------------------------------------------------------------------------------------------- |
| documento | cualquier MIME-type valido                                                                      |
| foto      | image/jpeg, image/png                                                                           |
| audio     | audio/aac, audio/mp4, audio/amr, audio/mpeg, audio/ogg; codecs=opus                             |
| vídeo     | video/mp4, video/3gpp. Observação: Solamente H.264 vídeo codec e AAC audio codec es compatible. |

| 3ª línea               |
| ---------------------- |
| Nombre de las columnas |

| 4ª y demás líneas:                                   |
| ---------------------------------------------------- |
| Destinatario y valores de los parámetros de Template |

#### Templates personalizadas por destinatario: <a href="#templates-personalizadas-por-destinatario" id="templates-personalizadas-por-destinatario"></a>

Para mensajes personalizadas, como diferentes medios por destinatario, contacte a nuestro equipo de soporte técnico para realizar la configuración y obtener más detalles para el envío.


# Consulta sesiones abiertas vía API

### Solicitud <a href="#solicitud" id="solicitud"></a>

Para consultar sesiones abiertas a través de nuestra API, debe realizar una solicitud GET a la siguiente dirección:

`GET http://api-messaging.wavy.global/v1/session?customerId={customerId}&subAccountId={subAccountId}`

Pasar el parámetro ***customerId*** es obligatorio, mientras que ***subAccountId*** es opcional.

Atención: Tenga cuidado de reemplazar ‘{’ y ‘}’ también. Por ejemplo, “={customerId}” se convierte en “=42”.

También necesitará utilizar los siguientes headers:

| Header                  | Valor                           |
| ----------------------- | ------------------------------- |
| **Content-Type**        | application/json                |
| **authenticationToken** | Token de Messaging1             |
| **userName**            | Nombre de usuario de Messaging1 |

#### Respuesta <a href="#respuesta" id="respuesta"></a>

En el exito, si hay sesiones abiertas para el cliente especificado y subAccountId, la solicitud devuelve un JSON con el atributo:

| Atributo      | Valor                                                                                                                                  |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **file\_url** | Link para descargar un archivo de tipo csv que contiene los campos “source” y “session\_created\_at” de todos los destinos encontrados |

Si no hay datos asociados con ***customerId*** y ***subAccountId***, el archivo devuelto estará vacío, sólo con el encabezado.

> Ejemplo de respuesta:

{% tabs %}
{% tab title="cURL" %}

> Ejemplo de respuesta:

```
{
    "file_url": "https://chatclub-cdn.wavy.global/2019/02/13/633e33fc-3a3f-4ca5-a8b0-4b747fb67137/5bd46e2b-5990-4681-9b29-98ab6598960e"
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
    "file_url": "https://chatclub-cdn.wavy.global/2019/02/13/633e33fc-3a3f-4ca5-a8b0-4b747fb67137/5bd46e2b-5990-4681-9b29-98ab6598960e"
}
```

{% endtab %}

{% tab title="Python" %}

```
{
    "file_url": "https://chatclub-cdn.wavy.global/2019/02/13/633e33fc-3a3f-4ca5-a8b0-4b747fb67137/5bd46e2b-5990-4681-9b29-98ab6598960e"
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
    "file_url": "https://chatclub-cdn.wavy.global/2019/02/13/633e33fc-3a3f-4ca5-a8b0-4b747fb67137/5bd46e2b-5990-4681-9b29-98ab6598960e"
}
```

{% endtab %}

{% tab title="Java" %}

```
{
    "file_url": "https://chatclub-cdn.wavy.global/2019/02/13/633e33fc-3a3f-4ca5-a8b0-4b747fb67137/5bd46e2b-5990-4681-9b29-98ab6598960e"
}
```

{% endtab %}
{% endtabs %}


# Click to WhatsApp – Sinch API

### Descripción general&#x20;

Click to WhatsApp es una función que permite a los anunciantes dirigir a los usuarios directamente a conversaciones de WhatsApp con su empresa. Ofrece una forma cómoda para que los clientes inicien una conversación con tu empresa desde un anuncio en Facebook, Instagram o Messenger.&#x20;

### Características principales&#x20;

#### Segmentación directa&#x20;

Los usuarios pueden hacer clic en el anuncio e iniciar una conversación de WhatsApp con tu empresa al instante, sin necesidad de marcar números o buscar contactos.&#x20;

#### Servicio personalizado&#x20;

Permite a las empresas ofrecer un servicio de atención al cliente personalizado, respondiendo a preguntas y proporcionando información relevante de forma directa y eficiente.&#x20;

#### Fácil Integración&#x20;

Se integra fácilmente con los anuncios existentes en Facebook, Instagram y Messenger, proporcionando una experiencia de usuario fluida.&#x20;

#### Mayor alcance&#x20;

Ayuda a las empresas a llegar a un público más amplio y a captar clientes de forma eficaz aprovechando la popularidad y el alcance de las plataformas de Facebook.&#x20;

### Beneficios&#x20;

#### Mayor interactividad&#x20;

Proporciona a los clientes una forma interactiva de relacionarse con la empresa, facilitándoles la obtención de información y la formulación de preguntas.&#x20;

#### Aumento de las conversiones&#x20;

Facilita el proceso de conversión, permitiendo a los clientes actuar inmediatamente después de ver el anuncio, lo que puede dar lugar a una mayor tasa de conversión.&#x20;

#### Mejora de la experiencia del cliente&#x20;

Ofrece a los clientes una experiencia cómoda y sin fricciones, lo que puede mejorar su satisfacción y su fidelidad a la marca.&#x20;

### Personalización&#x20;

Click to WhatsApp admite varias campañas simultáneas, lo que te permite personalizar cada anuncio en función de su identificador único de campaña de Facebook (sourceID). Al integrar un chatbot, puedes adaptar cada anuncio a las preferencias y necesidades individuales de tus clientes. Por ejemplo, puedes configurar diferentes flujos de conversación en función de las preferencias y necesidades de los clientes, dirigiéndolos de forma más eficaz a los productos o servicios que desean.&#x20;

<figure><img src="/files/AcwrZOtFq0UFIXrneqts" alt=""><figcaption></figcaption></figure>

### Cómo utilizar Click to WhatsApp&#x20;

&#x20;Para utilizar Click to WhatsApp, los anunciantes deben configurar anuncios en el Administrador de anuncios de Facebook o a través de la API de marketing de Facebook. Pueden seleccionar el objetivo de la campaña, crear un conjunto de anuncios dirigidos a WhatsApp y desarrollar creatividades atractivas que animen a los usuarios a iniciar una conversación en WhatsApp.&#x20;

Los datos del anuncio se cargan en una caja preconfigurada para que el usuario empiece a interactuar con el canal. En cuanto el mensaje y la caja se envían a través de la API de WhatsApp, el MO (mensaje saliente) tiene el campo Referral rellenado con todos los datos del anuncio, lo que permite capturar la información en el momento clave y personalizar la interacción.&#x20;

### &#x20;Estructura de los datos del anuncio&#x20;

```
{ 

  "total": 1, 

  "data": [ 

    { 

      "id": "ce425ffe-bc62-421f-9261-e6819a5eab43", 

      "source": "5519900000000", 

      "origin": "5519900000000", 

      "userProfile": { 

        "name": "name of the user" 

      }, 

      "campaignId": 100, 

      "correlationId": "...", 

      "campaignAlias": "...", 

      "flowId": "....", 

      "extraInfo": "...", 

      "referral": { 

        "headLine": "...", 

        "body": "...", 

        "sourceType": "...", 

        "sourceId": "...", 

        "sourceUrl": "...", 

        "mediaType": "...", 

        "mediaUrl": "..." 

      }, 

      "mtSentAt": 1513616971473, 

      "message": { 

        "type": "TEXT", 

        "messageText": "Hi, this is a message from the user" 

      }, 

      "receivedAt": 1513616971473, 

      "receivedDate": "2017-12-18T17:09:31.473Z" 

    } 

  ] 

} 
```

Campos de la estructura de datos de anuncios&#x20;

| Campo        | Descripción                                                                                                     |
| ------------ | --------------------------------------------------------------------------------------------------------------- |
| id           | Identificador de la lista de segmentación.                                                                      |
| customerId   | Identificador del usuario.                                                                                      |
| subAccountId | Identificador de la subcuenta.                                                                                  |
| Referral     | Objeto opcional que contiene información sobre la referencia asociada al mensaje.                               |
| headLine     | <p>Título o encabezado del anuncio que ha generado el mensaje. </p><p>body Cuerpo o contenido del anuncio. </p> |
| body         | Cuerpo o contenido del anuncio.                                                                                 |
| sourceType   | Tipo de fuente del anuncio. Puede ser «ad», «post» o «unknown».                                                 |
| sourceId     | Identificador del anuncio de Facebook.                                                                          |
| sourceUrl    | URL del anuncio                                                                                                 |
| mediaType    | Tipo de medio del anuncio. Puede ser «imagen» o «vídeo».                                                        |
| mediaUrl     | URL del medio del anuncio.                                                                                      |

### [Documentación de referencia](/documentaciontecnicawhatsapp/sinch-messaging-whatsapp-api/mensajes-mo)&#x20;


# Instrucciones y Mejores Prácticas

En este documento te presentaremos algunas buenas prácticas de uso de la plataforma, para que puedas disfrutar de la plataforma de la mejor manera posible.

## Principales conceptos y reglas de WhatsApp&#x20;

Qué es importante tener en cuenta para iniciar una operación con la API de WhatsApp Business.&#x20;

Para utilizar la herramienta como medio de comunicación, es importante prestar atención a dos variables:&#x20;

* **Tasa de calidad;**&#x20;
* **Límite de presentación;**&#x20;

Estos dos indicadores representan el nivel de satisfacción de los clientes finales y pueden afectar sus entregas.&#x20;

WhatsApp permite al cliente final decidir si la empresa es relevante o no para su usuario final a través de las funciones de **bloquear** y **marcar como spam**.&#x20;

Cuando el usuario final decide que su comunicación es irrelevante, se produce la **tasa de bloqueo**, y esto impacta negativamente en la tasa de calidad de sus mensajes.&#x20;

Las principales razones para el bloqueo son:&#x20;

* **Mala experiencia con bot;**&#x20;
* **El cliente quiere hablar del tema X y la empresa del tema Y**.&#x20;
* **Falta o retraso en la transferencia de la atención.**&#x20;
* **Necesidad insatisfecha.**&#x20;

La calidad de su comunicación se medirá en tres estados diferentes:&#x20;

* <mark style="color:green;">**Alto (verde):**</mark> se está comunicando bien con sus clientes.&#x20;
* <mark style="color:yellow;">**Medio (amarillo):**</mark> los usuarios reportan tus mensajes como spam o bloquean tu número.&#x20;
* <mark style="color:red;">**Bajo (rojo):**</mark> Mal compromiso **(es necesario revisar la plantilla/bot/base).**

**Adicionar imagem sobre tier.**

## **Tier**

Los indicadores enumerados anteriormente influyen directamente en la limitación del envío de mensajes.&#x20;

El nivel es la cantidad de usuarios a los que su empresa puede enviar mensajes dentro de las **24 horas.**&#x20;

Al registrar su número de teléfono, su negocio comienza en el nivel 1, que está limitado a 1000 mensajes por **24 horas.**&#x20;

Tenemos cuatro pistas para los niveles:&#x20;

* **Tier 1:** le permite enviar mensajes a **1.000** usuarios únicos durante **24 horas**.&#x20;
* **Tier 2:** le permite enviar mensajes a **10.000** usuarios únicos durante **24 horas.**&#x20;
* **Tier 3:** le permite enviar mensajes a **100.000** usuarios únicos durante **24 horas**.&#x20;
* **Tier 4:** le permite enviar **mensajes ilimitados.**

**adicionar tier conceito**

## ¿Cómo aumentar mi nivel?&#x20;

Un número de teléfono comercial se actualizará al siguiente nivel si:&#x20;

* La calificación de calidad del número no es baja.&#x20;
* La cantidad acumulada de usuarios a los que envía notificaciones suma hasta el doble de su límite actual de mensajes durante un período de 7 días.&#x20;
* Una empresa pasará del Nivel 1 al Nivel 2 cuando envíe mensajes a un total de 2000 usuarios en un período de 7 días, por ejemplo.&#x20;

{% hint style="info" %}
El tiempo mínimo que puede ocurrir este cambio es después de **48 horas desde el 1.er disparo.**
{% endhint %}

**Linha do tempo tier**

{% hint style="danger" %}
**Recuerda que no está permitido enviar mensajes a un número superior a tu nivel, porque esto restringirá tu línea.**
{% endhint %}

### ¿Puede bajar mi nivel?&#x20;

Sí, cuando una campaña tiene una alta tasa de bloqueo Meta (Facebook) categoriza la fila como calidad roja.&#x20;

Su línea se marcará con el estado Marcado de inmediato, cuando su línea se marca como marcada, todos sus mensajes enviados no cuentan para subir de nivel.&#x20;

{% hint style="info" %}
**Debe esperar 7 días para que la empresa mejore su calidad.**
{% endhint %}

Después de 7 días, la línea vuelve al estado <mark style="color:green;">**Conectado**</mark> o <mark style="color:yellow;">**Marcado**</mark> y WhatsApp entiende que el problema se ha resuelto.&#x20;

{% hint style="danger" %}
Si tu línea permanece en rojo, la plataforma entiende que no estás utilizando el recurso correctamente, si tus usuarios siguen bloqueando tu número, tu empresa tendrá el tier reducido.&#x20;
{% endhint %}

### Pausa de Template

Si su campaña alcanza una calidad de comunicación baja <mark style="color:red;">**(rojo)**</mark>, la plantilla utilizada para la comunicación se detendrá para proteger la calidad de su línea.&#x20;

La pausa se produce de 3 maneras diferentes:&#x20;

1. **Pausa aplicada por 3 horas**, es decir, luego de la pausa aplicada solo podrás retomar tu campaña luego de 3 horas.&#x20;
2. **Pausa aplicada por 6 horas**, es decir luego de la pausa aplicada solo podrás retomar tu campaña luego de 6 horas&#x20;
3. **Su plantilla será desactivada.**&#x20;

### ¿Qué hacer mientras mi plantilla está en pausa?&#x20;

* **Revisa qué usuarios están recibiendo esta campaña:** Cuantas más personas bloqueen tu número, peor será la calidad de tu campaña. \
  Intente enviar su campaña a una base comprometida que haya dado su consentimiento para recibir mensajes de WhatsApp (opt-in);
* &#x20;**Ofrezca una salida alternativa a la conversación:** en caso de que su usuario ya no quiera recibir mensajes de WhatsApp. \
  Esto reduce la posibilidad de bloquear números (opt-out);&#x20;
* **Revise el texto de su template:** para asegurarse de que el mensaje sea claro y vaya al grano;&#x20;
* Por ahora no será posible editar una misma campaña en la plataforma Sinch. Por ello, te pedimos que crees una nueva plantilla y revises su base antes de enviar una nueva campaña.&#x20;
* Descarga el reporte de usuarios, para saber quién ya recibió tu campaña, y descártalos para que no la vuelvan a recibir;&#x20;
* Habla con tu CSM en caso de duda;

### Mejores prácticas para crear plantillas&#x20;

{% hint style="success" %}

* Tenga en cuenta la frecuencia de los mensajes;&#x20;
* Evite enviar a los clientes demasiados mensajes al día;&#x20;
* Aclare el nombre de su plantilla, en lugar de usar un nombre como "template\_014", use "bus\_ticket\_details";
* Verifique el formato de los parámetros, por ejemplo, la cantidad de variables que tienen: {{1}}, {{2}}, etc;&#x20;
* Evite enviar textos muy largos al cliente;&#x20;
* Asegúrese de que el idioma seleccionado coincida con el contenido y que no esté "mezclando" idiomas (spanglish);
* Evite errores ortográficos o gramaticales;&#x20;
* Hacer mensajes altamente personalizados y útiles para los usuarios;
* Presentarse al inicio de la conversación (p. ej. Hola, soy el Asistente Virtual...) otorga mayor credibilidad y contexto a la persona impactada por el mensaje.
  {% endhint %}

### Mejores prácticas para enviar mensajes&#x20;

{% hint style="success" %}

* No envíe plantillas a los usuarios sin optar por enviar mensajes;
* El botón "Salir" le da al usuario la opción de salir (Opt-out), garantiza una base limpia y evita bloqueos que perjudican la calidad del canal;
* Piense en la relevancia del contenido en función de la actividad reciente del usuario con la empresa;
* Los textos breves y objetivos tienden a ser de mayor calidad;&#x20;
* Presentarse al principio del mensaje aporta más credibilidad y contexto (Hola, soy el Asistente Virtual); Evite enviar demasiados mensajes al mismo usuario;
* No se permite la venta de contenido en moneda virtual o física;
  {% endhint %}


# Políticas de Servicios Humanos

* Es obligatorio que la forma de que tu cliente obtenga atención humana dentro de Whatsapp esté clara. Formas de dirigir el Servicio Humano **aceptadas dentro de la política de Whatsapp:**\
  **1. Transbordo humano dentro del canal** (te recomendamos este, ya que le facilita la vida a tu cliente).\
  **2. Mensaje aclarando las formas que tiene el cliente para ponerse en contacto con un Humano:** Dirección a un número de teléfono, correo electrónico o formulario Web para abrir un ticket o dirigirse a una Tienda Física.&#x20;
* **Ejemplo:** Hola para hablar con uno de nuestros asistentes, llame a: XXXXX.&#x20;
* **Ejemplo:** Hola para hablar con uno de nuestros asistentes, envíe un correo electrónico a: XXXXXX

{% hint style="info" %}
Sigue más información en: [**Políticas de WhatsApp**](https://www.whatsapp.com/legal/business-policy?lang=es).
{% endhint %}

{% hint style="danger" %}
**El incumplimiento de esta política impactará en la calidad del canal y, si no se resuelve, puede impactar en el tier (causando una reducción del mismo).**
{% endhint %}


# Introducción a la mensajería - WhatsApp

Messaging es nuestra plataforma de gestión de mensajería, es desde allí que puedes enviar y medir todas tus tomas.

## ¿Cómo acceder a Mensajería?

Para acceder a la plataforma, haga clic en el siguiente enlace: [**Messaging - MM2**](https://messaging.sinch.global), Se le dirigirá a una página como esta:

<figure><img src="/files/7WOGuANRlH9GSlaJOxKm" alt=""><figcaption></figcaption></figure>

## ¿Cuáles son mis credenciales de inicio de sesión?

Siempre creamos su inicio de sesión con su dirección de correo electrónico corporativa, no usamos cuentas personales para crear nuevas cuentas.

Una vez que su entorno esté listo, recibirá un correo electrónico con la información de acceso.

<figure><img src="/files/l7odGNLuL4SlReLveYJv" alt=""><figcaption></figcaption></figure>

¿No recibió el correo electrónico con las pautas de acceso? Es simple, ingresa a: [**restablecimiento de contraseña**](https://messaging.wavy.global/password).

## Olvidé mi contraseña, ¿ahora qué?

En caso de olvido de contraseña, puede hacer clic en el botón [**olvide mi contraseña**](https://messaging.wavy.global/password) desde la página de inicio, ingrese su dirección de correo electrónico y se le enviará la información de cambio de contraseña.

<figure><img src="/files/Vdx0zLFcMySRPLM4yxwq" alt=""><figcaption></figcaption></figure>

¿Listo?


# Glosario

A continuación se enumeran algunos términos básicos con los que debe familiarizarse para utilizar Messaging.

<table><thead><tr><th width="129" align="center">Palabra</th><th align="center">Descripción</th></tr></thead><tbody><tr><td align="center"><strong>Facebook Business Manager</strong></td><td align="center">Es una plataforma de gestión empresarial para empresas en Meta (Facebook). Alberga la cuenta general de Sinch (empresa) en Facebook y también la de nuestros clientes. Incluye todos los servicios y aplicaciones de Meta (Facebook) (Cuentas publicitarias, Páginas, Aplicaciones, Empleados, etc.). El Business Manager está referenciado por una identificación que necesitamos recibir de cada uno de nuestros clientes, la BM ID (Business Manager ID), para configurar la cuenta de Whatsapp del cliente (WABA)</td></tr><tr><td align="center"><strong>WABA</strong></td><td align="center">Cuenta comercial de Whatsapp (WABA): cuenta de cada cliente de Sinch en Whatsapp dentro de la cual se crearán los números de teléfono (o "Cuentas verificadas")</td></tr><tr><td align="center"><strong>Números de teléfono</strong></td><td align="center">Cada número que se crea dentro de una WABA, como una “Cuenta Verificada”. Una vez creado e instalado WhatsApp, puede darle a nuestro cliente el distintivo VERDE, para “Cuenta Verificada” o mantenerlo únicamente con el distintivo GRIS, para “Cuenta Comercial”. Esta es una decisión de Whatsapp.</td></tr><tr><td align="center"><strong>Container</strong></td><td align="center">Cada número de WhatsApp necesita una solución tecnológica que se vincule a contenedores (servidores).</td></tr><tr><td align="center"><strong>API</strong></td><td align="center">Es un conjunto de rutinas y estándares establecidos por el software para el uso de sus funcionalidades por parte de aplicaciones que no pretenden involucrarse en los detalles de la implementación del software, sino únicamente para utilizar sus servicios.</td></tr><tr><td align="center"><strong>Blocklist</strong></td><td align="center">Son números que la empresa agrega y cataloga como números que no pueden recibir mensajes. Ejemplo: número de competidores.</td></tr><tr><td align="center"><strong>Carrier</strong></td><td align="center">¡Usted también es cliente de Carrier! Llamamos Carrier al Operador que posee el número en cuestión. Es decir, mi número es TIM, por lo que mi operador MSISDN es TIM.</td></tr><tr><td align="center"><strong>ID de cuenta o cliente</strong></td><td align="center">Cada uno de nuestros clientes tiene una identificación de cliente.</td></tr><tr><td align="center"><strong>Conversion Rate</strong></td><td align="center">La tasa de conversión o tasa de conversión (utilizada principalmente por clientes internacionales) es la fórmula utilizada para medir la cantidad de mensaje enviado VS el volumen de entrega. Cuando hay una caída en DR, los clientes se ven directamente afectados en la tasa de conversión, pudiendo dirigir el tráfico a otro corredor de SMS que tenga una mejor tasa de conversión.</td></tr><tr><td align="center"><strong>MO</strong></td><td align="center">MO, o Mobile Originated, es todo mensaje que sale de un dispositivo para la empresa en cuestión. Se utiliza en el caso de preguntas y respuestas por mensaje, cuando se requiere confirmación del usuario. Asegúrate de que tu cuenta esté habilitada para esto.</td></tr><tr><td align="center"><strong>MT</strong></td><td align="center">MT, o Mobile Terminated, es todo mensaje destinado al dispositivo del usuario. Es decir, la empresa envía un mensaje al número en cuestión.</td></tr><tr><td align="center"><strong>Deploy</strong></td><td align="center">Una implementación, o lanzamiento, es cada actualización, lanzamiento o nueva versión de alguna función. Ya sea en homologación o producción, todos los despliegues aumentan o eliminan alguna característica.</td></tr><tr><td align="center"><strong>FTP</strong></td><td align="center">Este sistema es muy utilizado en Sinch para envíos en grandes lotes. Cada plataforma (WA o SMS) debe respetar un formato preestablecido.</td></tr><tr><td align="center"><strong>MSISDN</strong></td><td align="center">Es un número que identifica de manera única una suscripción en una red móvil GSM o UMTS.</td></tr><tr><td align="center"><strong>Opt-in</strong></td><td align="center">El opt-in es el permiso que da el usuario para que una empresa pueda contactarlo a través de un determinado canal. Este permiso puede ser, por ejemplo, a través de la página web de la empresa, correo electrónico o SMS.</td></tr><tr><td align="center"><strong>Opt-out</strong></td><td align="center">La exclusión voluntaria es cuando el usuario elige no recibir más mensajes de ese contacto a través de un canal determinado. Cuando un usuario elige salir de la lista de contactos, nuestro sistema bloquea cualquier intento de envío que se le pueda ocurrir al usuario de ese contacto.</td></tr><tr><td align="center"><strong>Sub-cuenta</strong></td><td align="center">Dentro de una Cuenta, es posible tener varias Subcuentas con “departamentos” y configuraciones personalizadas, donde es posible realizar varios disparadores diferentes, como servicio, CRM, estado de pedidos, entre otros.</td></tr><tr><td align="center"><strong>Webhook</strong></td><td align="center">Un webhook es un puente de información entre nuestro sistema Sinch y la empresa propietaria del webhook. Este puente se realiza a través de una URL donde viaja la información entre nuestro sistema y el sistema deseado por nuestro cliente.</td></tr><tr><td align="center"><strong>Whitelist</strong></td><td align="center">Los usuarios que están en la Lista Blanca son usuarios que la empresa agrega y clasifica como usuarios que pueden recibir mensajes. No significa que este usuario haya dado permiso en algún momento.</td></tr><tr><td align="center"><strong>VPN</strong></td><td align="center">En resumen, crea una conexión segura y encriptada, que puede considerarse como un túnel, entre su computadora y un servidor operado por el servicio VPN.</td></tr><tr><td align="center"><strong>Template WhatsApp</strong></td><td align="center">Una plantilla utilizada para enviar mensajes activos a sus clientes. Cada plantilla debe ser aprobada por WhatsApp antes de ser utilizada; de esta manera, se aseguran de que esté siguiendo las pautas de contenido permitidas.</td></tr><tr><td align="center"><strong>Sesión Abierta</strong></td><td align="center">Una sesión solo se abre cuando el usuario final responde a nuestro contacto activo, y cada sesión tiene una duración fija de 24 horas.</td></tr><tr><td align="center"><strong>Sesión Cerrada</strong></td><td align="center">Una sesión solo se abre cuando el usuario final responde a nuestro contacto activo, y cada sesión tiene una duración fija de 24 horas.</td></tr><tr><td align="center"><strong>Tier</strong></td><td align="center">El nivel es la cantidad de usuarios a los que podemos enviar mensajes en 24 horas.</td></tr></tbody></table>


# Pantalla de inicio de la plataforma

Su pantalla de inicio para el control de datos de herramientas

Siempre que acceda a la herramienta, esta será su pantalla de inicio.&#x20;

Trae información importante sobre el uso de la herramienta.&#x20;

En la parte superior de la pantalla tendrás algunos datos relacionados con tu número de teléfono activado, son:

<figure><img src="/files/AOfEjT1HawlYmWZffMHf" alt=""><figcaption></figcaption></figure>

**Teléfono:** Su número de teléfono que fue conectado.&#x20;

**Status:** si la calidad de su comunicación disminuye, el estado de su número puede cambiar a marcado o restringido.&#x20;

* **Marcado:** ocurre cuando la calificación de calidad alcanza un estado bajo. Las empresas no pueden actualizar los niveles de umbral de mensajes durante la fase Marcado. Si la calidad del mensaje ha mejorado a un estado alto o medio al séptimo día después de cambiar el estado a Marcado, volverá a Conectado. Si la calificación de calidad no mejora, el estado volverá a Conectado, pero su cuenta se colocará en un [**nivel de límite de mensajes**](https://developers.facebook.com/docs/whatsapp/messaging-limits?locale=es_LA) más bajo.&#x20;
* **Restringido:** ocurre cuando alcanza su límite de mensajes. Durante la fase restringida, no podrá enviar mensajes de notificación hasta que se restablezca la ventana de 24 horas. Todavía puede responder a cualquier mensaje que le envíen los clientes.&#x20;

**Calidad actual:** La calidad se basa en los mensajes recientes que han recibido tus clientes en los últimos siete días, esta calificación está determinada por sus comentarios, como bloqueos recientes o informes del número.&#x20;

Calidade actual muestra los siguientes estados de calidad:&#x20;

* <mark style="color:green;">**Verde:**</mark> alta calidad;&#x20;
* <mark style="color:yellow;">**Amarillo:**</mark> Calidad media;&#x20;
* <mark style="color:red;">**Rojo:**</mark> Baja calidad;&#x20;

Tier: es la cantidad de usuarios a los que puede enviar mensajes dentro de las 24 horas. Conseguimos aumentar el número de tomas según la usabilidad de la cuenta.

### Tablero inicial

Trae información importante sobre el uso de la herramienta. En este tablero inicial, puede medir la cantidad de envíos realizados en los últimos 7, 15 o 30 días.

<figure><img src="/files/YVWrDTLzDHIufRrxPvGW" alt=""><figcaption></figcaption></figure>

En este gráfico solo tendrá una descripción general de la plataforma para que pueda medir la cantidad de tiros realizados durante el período.

La herramienta enumera la cantidad total de mensajes activados, la cantidad total de mensajes que se enviaron y la cantidad total de mensajes con errores.

El gráfico listado estará segmentado por días y colores:

* <mark style="color:green;">**Barra verde:**</mark> Envíos realizados con éxito.
* **Barra gris:** Envíos que tenían errores.

En nuestro centro de informes siempre podrás seguir qué pasó con cada uno de los mensajes enviados.


# Mi perfil | Idioma

Acceder a la información sobre su perfil de usuario en la plataforma.

En la parte superior derecha de la pantalla, expanda el menú de opciones y seleccione la función **Mi perfil.**

<figure><img src="/files/1FbXq36OkSONyZs76yzT" alt=""><figcaption></figcaption></figure>

Al hacer clic en este campo, tendrá información importante sobre su usuario en la plataforma, si tiene algún problema con la herramienta, nuestro equipo de soporte solicita algunos datos que se enumeran en este campo.

* **Usuario:** Este campo identifica quién eres dentro de la plataforma, también aparece en nuestro centro de informes.
* **Cliente:** Este campo identifica a qué empresa responde su usuario dentro del sistema.
* **Sub-cuenta:** A qué subcuenta responde su usuario, cada vez que realiza envíos en la herramienta, también se registra la subcuenta que llevó a cabo el activador.

El uso de subcuentas es interesante para empresas que tienen diferentes áreas usando el mismo ambiente, facilita la división por centro de costo.

* **Ficha de autenticación:** Este token es único y exclusivo para cada una de las cuentas creadas. Se utiliza si utiliza la integración con otras plataformas.

{% hint style="info" %}
¿Necesita saber más sobre las integraciones?

**​**[**Accede a nuestra documentación técnica**](https://doc-messaging.wavy.global/#key-terms)​
{% endhint %}

<figure><img src="/files/YksZhMEPYKvFhBo5HjUI" alt=""><figcaption></figcaption></figure>

Justo debajo tendrás información sobre tus datos de correo electrónico registrados en la plataforma y cambiar tu contraseña en caso de ser necesario.

<figure><img src="/files/0OVgPULIbs6LPR5MM47c" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Puede utilizar el nombre de usuario que aparece en el campo Mi perfil para iniciar sesión en la plataforma.**

**Al acceder a la plataforma, ingrese su nombre de usuario y contraseña registrados.**
{% endhint %}

## Idioma

Hoy en día, la herramienta admite tres idiomas nativos:

* **Portugués;**
* **Inglés;**
* **Español;**

Puedes configurar la herramienta en el idioma que te resulte más cómodo, para cambiar el idioma de la herramienta:

En la parte superior derecha de la pantalla, expanda el menú y seleccione el idioma:<br>

<figure><img src="/files/zXWPSresr6Tu8H8lRhe3" alt=""><figcaption></figcaption></figure>


# Edición de Cuenta

Después del proceso de creación de la cuenta de WhatsApp, es posible administrar toda la información de WhatsApp dentro de la plataforma [**Sinch Messaging**](https://messaging.sinch.global).&#x20;

### Edición de perfil de WhatsApp&#x20;

{% hint style="danger" %}
Tenga cuidado al realizar modificaciones, ya que se reflejan de inmediato para el usuario final.
{% endhint %}

### Lo que podemos cambiar:

* Sucursal de la empresa;&#x20;
* Status;&#x20;
* Descripción;&#x20;
* DIRECCIÓN;&#x20;
* Sitio web; página de Facebook o Instagram;&#x20;
* Correo electrónico; Imagen;&#x20;

### Lo que no podemos cambiar:&#x20;

* Nombre de la empresa;&#x20;
* Teléfono;&#x20;

## Cómo administrar su cuenta de WhatsApp:&#x20;

Accede a tu cuenta en [**Messaging \[MM2\]**](https://messaging.sinch.com) > En el menú del lado izquierdo, busca WhatsApp > Cuenta > Editar perfil.

<figure><img src="/files/t4Jz5zKkCa33zGNUdz0M" alt=""><figcaption></figcaption></figure>

Se le dirigirá a una pantalla como esta donde podrá realizar los cambios necesarios:

<figure><img src="/files/PFG6gZTIGw4iMwqs3MGQ" alt=""><figcaption></figcaption></figure>

**Cambiar foto:** simplemente haga clic en su foto de perfil actual y la plataforma le permitirá buscar un archivo en su máquina para cambiar.&#x20;

Las imágenes con un alto o ancho inferior a **192px** pueden causar problemas cuando se produce el cambio de tamaño, por lo que se recomienda un tamaño de imagen de **640x640** y un máximo de **5mb**.&#x20;

Recuerda hacer clic en guardar en la parte inferior de la página para que se refleje la información.


# Información importante para el primer envío

Si este es tu primer contacto con nuestra plataforma, necesitarás algunos datos para poder enviar tus mensajes.​

1. Estamos trabajando con un servicio que es brindado por Meta (Facebook), todas las comunicaciones que se realicen deben pasar inicialmente por aprobación.​
2. Las comunicaciones que se realizan se denominan templates.
3. Puede crear hasta **1500 plantillas** dentro de la plataforma, para aumentar esta cantidad necesitamos la aprobación de Meta (Facebook).
4. Una vez aprobadas, las plantillas se pueden reutilizar **tantas veces como sea necesario** y no necesitan pasar por una nueva aprobación.​
5. Sinch no tiene relación con las aprobaciones realizadas, todas las aprobaciones las realiza directamente el equipo de Meta (Facebook). Las aprobaciones pueden demorar un promedio de 2 minutos (en algunos casos pueden existir latencias que demoran hasta 24 horas para la aprobación).
6. Si su plantilla es rechazada, es necesario crear una nueva plantilla desde cero y enviarla nuevamente para su aprobación, no es posible editar el contenido y volver a enviarlo.


# Template WA - ¿Qué es?

Comprenda cómo funciona la plantilla de envío de WhatsApp.

Comprenda cómo funciona los **template de envío de WhatsApp**. Las plantillas de WhatsApp, o también conocidas como plantillas de mensajes, son formatos para mensajes reutilizables comunes que puede enviar una empresa a través de nuestra plataforma de [**Messaging**](https://messaging.sinch.global).&#x20;

Cada **template debe ser aprobado** por WhatsApp antes de ser utilizada; de esta manera, se aseguran de que esté siguiendo las pautas de contenido permitidas.&#x20;

Antes de enviar su template para su aprobación, recuerde que debe contener el mensaje completo que desea enviar.&#x20;

Es posible agregar campos dinámicos (variables) a su mensaje, los cuales puede reemplazar con palabras clave al enviarlos, tales como: nombres, empresas, direcciones o por palabras estándar que tengan sentido en su texto. ​​&#x20;

Haga clic y vea consejos sobre cómo crear su template.

El trámite de registro y solicitud de una nueva Plantilla se realiza directamente en la plataforma de Sinch Messaging.&#x20;

Vea a continuación cómo registrar un template.


# Registro de Templates

Creación de template de mensaje de WhatsApp. Comprenda cómo registrar su template

### Templates de consultoría:&#x20;

En el menú "**Templates**" do Messaging, es posible consultar todas las plantillas ya enviadas para su aprobación por Meta (Facebook) y también crear y enviar nuevas plantillas para su análisis.&#x20;

Para acceder: En tu menú lateral izquierdo, expande el menú WhatsApp > Templates:

<figure><img src="/files/zWmE44KSogeS9nR8uLWu" alt=""><figcaption></figcaption></figure>

Se le dirigirá a una página donde podrá ver todas los templates que ya se han creado. Si aún no se han creado templates, la pantalla aparece en blanco.

<figure><img src="/files/UFGtxMnvH38V0YHRFp1f" alt=""><figcaption></figcaption></figure>

Tienes la siguiente información:&#x20;

1. **Creado en:** fecha y hora en que se creó su modelo en la plataforma
2. **Nombre de lo Template:** nombre que se determinó en la creación.&#x20;
3. **Subcuenta:** Subcuenta en la que se creó la plantilla.
4. **Categoría**: Tenemos 3 categorías disponibles que se describen a continuación.&#x20;
5. **Mensaje**: obtienes una vista previa del texto de tu mensaje.&#x20;
6. **Idiomas y estado de aprobación:** Idioma elegido para la plantilla Meta (Facebook) y estado de aprobación. Hay tres estados de aprobación:&#x20;

* <mark style="color:blue;">**En revisión:**</mark> La plataforma aún está revisando la plantilla (Meta).&#x20;
* <mark style="color:red;">**Rechazado:**</mark> la plantilla fue rechazada.&#x20;
* <mark style="color:green;">**Aprobado**</mark>: la plantilla está disponible para su uso.&#x20;

7. **Calidad:** Para este campo tendremos unos estados diferentes, son:&#x20;

* **Activo - calidad pendiente**: la plantilla de mensaje aún no ha recibido comentarios de los clientes con respecto a la calidad. Las plantillas de mensajes con este estado se pueden enviar a los clientes.&#x20;
* **Activo - Alta calidad**: el modelo recibió pocos o ningún comentario negativo de los clientes. Las plantillas de mensajes con este estado se pueden enviar a los clientes.&#x20;
* **Activa - calidad media:** la plantilla ha recibido comentarios negativos de muchos clientes y es posible que se detenga o deshabilite pronto. Las plantillas de mensajes con este estado se pueden enviar a los clientes.&#x20;
* **Activo – Baja calidad**: el modelo ha recibido comentarios negativos de varios clientes. Las plantillas con este estado se pueden enviar a los clientes, pero es posible que se suspendan o deshabiliten pronto. Por lo tanto, le recomendamos que aborde los problemas informados por los clientes.

{% hint style="info" %}
[**Consulta calificación de calidad**](/whatsapp/sinch-messaging-platform/calificacion-de-calidad)
{% endhint %}

8. **Acciones:** \ <img src="/files/2G5B17FwmNxooVw0y79o" alt="" data-size="line"> Opción para ver la plantilla completa en la pantalla de creación.\ <img src="/files/X0RctDUHCqGD0CjPrzqz" alt="" data-size="line"> Aquí tendrás dos opciones: [**Editar tu plantilla**](/whatsapp/sinch-messaging-platform/edicion-de-plantillas) o eliminar la plantilla de la plataforma, es importante recordar que al eliminar una plantilla (plantilla de mensaje) solo podrás reutilizar el nombre que se le aplicó después de **30 días**.

<figure><img src="/files/pVIerkksXZhfcr0MtlMs" alt=""><figcaption></figcaption></figure>

## Filtros de búsqueda&#x20;

Si tienes varias plantillas creadas, puedes utilizar los filtros de búsqueda en pantalla para encontrar tus comunicaciones y tendrás algunas opciones de filtrado, son:&#x20;

* **Buscar por nombre:** busque su plantilla de mensaje a partir del nombre registrado.&#x20;
* **Estado**: puede segmentar sus vistas aplicando un filtro solo a las plantillas aprobadas, desaprobadas, con errores, analizadas o en pausa.&#x20;
* **Categoría:** También es posible segmentar su vista por categoría de plantilla creada.&#x20;

### Ver por tipo de filtro&#x20;

Utilizando los filtros tendrás un tipo de vista por cada segmentación que utilices:&#x20;

**Buscar por nombre:** Al buscar por nombre de tu plantilla de mensaje, la plataforma hará un filtro basado en el nombre de búsqueda que estés utilizando, no es necesario que escribas el nombre completo de tu plantilla de mensaje, al escribir las primeras letras la herramienta empieza a listar todas las plantillas de mensaje con esas iniciales:

<figure><img src="/files/Y416pMjNmA9W0340Yq7a" alt=""><figcaption></figcaption></figure>

Al hacer clic en cualquiera de los nombres, verá la siguiente vista:

<figure><img src="/files/pgAYQxjlGNryKmjWAXrc" alt=""><figcaption></figcaption></figure>

Los datos se reflejarán así:&#x20;

**Nombre:** Nombre aplicado a la plantilla de mensaje. \
**Subcuenta:** Subcuenta a la que estaba vinculado el usuario que creó la plantilla. \
**Categoría:** a qué categoría pertenece la plantilla, autenticación, marketing o servicios. \
**Mensaje:** El texto registrado al crear la plantilla de mensaje. \
**Estado:** ¿Cuál es el estado de su plantilla de mensaje si está aprobada, desaprobada, con error, en revisión o en pausa? \
**Calidad:** Calificación de calidad de una plantilla.\
**Idioma:** el idioma en el que se creó la plantilla. \
**Acciones:** Ver y editar plantilla.&#x20;

**Búsqueda de estado**: la búsqueda de estado le permite segmentar su vista entre los siguientes estados:

**Aprobado:** la plantilla está lista para usar. \
**Rechazado:** la plantilla fue rechazada por la herramienta, en este caso puede intentar una nueva aprobación [**editando su plantilla**](/whatsapp/sinch-messaging-platform/edicion-de-plantillas) de mensaje. \
**Con error:** hubo un problema durante su aprobación, comuníquese con nuestro equipo de soporte. **En proceso de revisión:** el equipo Meta todavía está revisando la plantilla de su mensaje. \
**En pausa:** el modelo se detuvo debido a comentarios negativos recurrentes de los clientes. Las plantillas de mensajes con este estado no se pueden enviar a los clientes. Consulte [**Pausar el modelo.**](/whatsapp/sinch-messaging-platform/pausar-el-modelo)

<figure><img src="/files/aH0Qd5ys8GdjhJmDVLXh" alt=""><figcaption></figcaption></figure>

Los datos se reflejarán así:&#x20;

**Nombre:** Nombre aplicado a la plantilla de mensaje. \
**Subcuenta:** Subcuenta a la que estaba vinculado el usuario que creó la plantilla. \
**Categoría:** a qué categoría pertenece la plantilla, autenticación, marketing o servicios. \
**Mensaje:** El texto registrado al crear la plantilla de mensaje. \
**Estado:** ¿Cuál es el estado de su plantilla de mensaje si está aprobada, desaprobada, con error, en revisión o en pausa? \
**Calidad:** Calificación de calidad de una plantilla.\
**Idioma:** el idioma en el que se creó la plantilla. \
**Acciones:** Ver y editar plantilla.&#x20;

En este escenario, la plataforma traerá las plantillas según el filtro de estado que elijas:

<figure><img src="/files/UE0sH3Q12FBsXLPVdu6s" alt=""><figcaption></figcaption></figure>

**Búsqueda por categoría:** La plataforma te permite buscar segmentando las categorías de tus modelos de mensajes, son:&#x20;

* **Marketing:** Los modelos de comercialización son los más flexibles, ya que no están relacionados con transacciones específicas previamente autorizadas. Más bien, pueden relacionarse con la empresa y/o sus productos y servicios. Estas plantillas pueden contener promociones u ofertas, mensajes de bienvenida y despedida, actualizaciones, invitaciones o recomendaciones, o solicitudes para responder o completar una nueva transacción.&#x20;
* **Servicios:** Enviar mensajes sobre una cuenta o pedido existente.&#x20;
* **Autenticación:** envíe códigos para verificar una transacción o iniciar sesión.

<figure><img src="/files/vaXOIDillsyxRpmYDtU1" alt=""><figcaption></figcaption></figure>

Los datos se reflejarán así:&#x20;

**Nombre:** Nombre aplicado a la plantilla de mensaje. \
**Subcuenta:** Subcuenta a la que estaba vinculado el usuario que creó la plantilla. \
**Categoría:** a qué categoría pertenece la plantilla, autenticación, marketing o servicios. \
**Mensaje:** El texto registrado al crear la plantilla de mensaje. \
**Estado:** ¿Cuál es el estado de su plantilla de mensaje si está aprobada, desaprobada, con error, en revisión o en pausa? \
**Calidad:** Calificación de calidad de una plantilla.\
**Idioma:** el idioma en el que se creó la plantilla. \
**Acciones:** Ver y editar plantilla.&#x20;

<figure><img src="/files/IsxJPwb3fdmOFdWCPmxr" alt=""><figcaption></figcaption></figure>

En este escenario, la plataforma traerá las plantillas según el filtro de estado que elijas.

## Nuevo Template&#x20;

Es sencillo crear un nuevo template, recuerda que todos los templates pasan por un análisis, el tiempo para esta aprobación varía, así que no dejes de crear tu template al momento de enviarla.

Para crear una nueva plantilla, en el menú del lado izquierdo haz clic en: WhatsApp > Templates y luego en Crear un modelo:

<figure><img src="/files/X2bQzJtXUre35lua6yLq" alt=""><figcaption></figcaption></figure>

En una nueva actualización de la plataforma, agregamos la funcionalidad algunas sugerencias de templates están disponibles, también deben aprobarse, pero puede usarlas como base:

<figure><img src="/files/NqK6e3ZX9J3hGrnqAC3r" alt=""><figcaption></figcaption></figure>

## Nombre de la plantilla&#x20;

Todas las plantillas necesitan un nombre, el valor predeterminado es que siempre está en minúsculas, puede usar números y para guiones bajos (\_) espaciadores, no se permiten caracteres especiales.&#x20;

Si usa algún carácter que no está permitido, la plataforma lo señala en rojo.

<figure><img src="/files/hPG0SFCtL2XUhqHbIRWe" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Una buena práctica es que el nombre aplicado a la plantilla siempre coincida con el texto de su plantilla, por ejemplo:&#x20;

Mi plantilla tendrá contenido sobre ventas de computadoras, el nombre de mi plantilla podría ser:&#x20;

**ventas\_informática.**&#x20;

Esto facilita la gestión de la plataforma.
{% endhint %}

## Categorías de plantillas

{% hint style="danger" %}

### **¡Atención!**

{% endhint %}

A partir del 1 de junio de 2023, Meta aplicará cambios en el modelo de negocios de WhatsApp Business Platform a nivel mundial. Los principales cambios serán:

1. Actualización de categorías de conversación
2. Actualización de costos por categoría por Target
3. El punto de entrada gratuito a través de un clic en la página de WhatsApp o Facebook tendrá una ventana gratuita de 72 horas; actualmente son 24 horas.
4. Las primeras 1000 conversaciones gratuitas de cada WABA ahora son válidas solo para conversaciones iniciadas por el usuario/conversaciones de servicio, y ya no son las primeras 1000 conversaciones.

{% hint style="warning" %}
**Preste atención al registrarse y elija la categoría más adecuada para su mensaje. Actualmente hay 3 categorías de plantillas:**&#x20;

* **Conversaciones de servicios públicos:** Facilite una solicitud o transacción específica acordada, o actualice a un cliente sobre una transacción en curso, incluidas las notificaciones posteriores a la compra y los resúmenes de facturación recurrentes.&#x20;
* **Conversaciones de autenticación:** Permita que las empresas autentiquen a los usuarios con contraseñas de un solo uso, potencialmente en varias etapas del proceso de inicio de sesión (p. ej., verificación de cuenta, recuperación de cuenta, desafíos de integridad).&#x20;
* **Conversaciones de marketing:** incluya promociones u ofertas, actualizaciones informativas o invitaciones para que los clientes respondan/tomen medidas. Cualquier conversación que no califique como utilidad o autenticación es una conversación de marketing.
  {% endhint %}

{% hint style="info" %}
**NOTA:** Hay una cuarta categoría nueva, en la que no se usa para crear una plantilla, que es Conversaciones de servicio: todas las conversaciones iniciadas por el usuario se clasificarán como Conversaciones de servicio, que ayudan a los clientes a resolver consultas.
{% endhint %}

## Para utilizar la categoría de autenticación

Si es necesario crear una plantilla con la categoría de autenticación, debemos seguir algunos pasos:

**¿Cuándo debo seleccionar la categoría de autenticación?** Este modelo de mensajería permite a las empresas autenticar a sus usuarios con contraseñas de un solo uso.

1. Seleccione la categoría **Autenticación** en su plantilla de mensaje:

<figure><img src="/files/GUN6xik0Nakb9ThHYncy" alt=""><figcaption></figcaption></figure>

2. Elige tu **idioma**:

<figure><img src="/files/jPAqZXWSJdvjU6Sd9tQU" alt=""><figcaption></figcaption></figure>

3. **Conteúdo:**

{% hint style="danger" %}
**No es posible editar el contenido de las plantillas de mensajes de autenticación.**
{% endhint %}

&#x20;La vista previa de su contenido siempre se muestra en el lado derecho de la pantalla:

<figure><img src="/files/TCrQBJPC2nvZVdF6DliN" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**El código enviado lo define usted (cliente) a través de la API.**
{% endhint %}

Podrá agregar dos piezas de información a su plantilla de autenticación, ambas son opcionales:

<figure><img src="/files/nCO2vOCQEGsAvzNWeuxy" alt=""><figcaption></figcaption></figure>

* **Agregar recomendación de seguridad:** La plataforma agregará el siguiente texto a su mensaje:

  <figure><img src="/files/1mwLEfO5k823vctsqA0Q" alt=""><figcaption></figcaption></figure>
* **Agregar tiempo de caducidad del código:** La plataforma agregará el siguiente texto a su mensaje:

  <figure><img src="/files/Rc0WQZhS20n2lULmPOeU" alt=""><figcaption></figcaption></figure>
* Justo debajo de la configuración podrá establecer el tiempo de caducidad de su código, puede agregar un valor entre 1 y 90 minutos: **​**

  <figure><img src="/files/5L3F7vkPYwSyq7ACv5BK" alt=""><figcaption></figcaption></figure>

4. **Botones:**&#x20;

Es obligatorio que añadas un botón, el texto se puede personalizar siempre que tenga un máximo de 20 caracteres:

## Idioma&#x20;

WhatsApp no ​​traducirá mensajes para su negocio. Todas las traducciones de plantillas de mensajes deben ser ingresadas por usted en el mismo formato que se muestra a continuación. Al crear una plantilla, especificará el idioma en el que desea que se muestre la plantilla de mensaje utilizando el campo de idioma.

<figure><img src="/files/2tdXqQNfEQjlbeysqFgI" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**Precaución:** para que se aprueben todos los mensajes, el texto debe ser el mismo en todos los idiomas.
{% endhint %}

## Encabezamiento&#x20;

Para estructurar su plantilla de mensaje, puede definir los textos en los siguientes campos:&#x20;

**Encabezado (opcional):** El uso del encabezado es opcional, si desea usarlo podemos tener el formato de texto, donde describimos nuestro mensaje en hasta 60 caracteres o en el formato de medios.&#x20;

**Texto:** Usando esta función, tenemos 60 caracteres para describir el encabezado y aparece en la parte superior de la plantilla en negrita, cuando usamos la función de texto, solo aparece cuando comenzamos a escribir el cuerpo de nuestro mensaje. Siempre tendrás la vista previa de tu mensaje en el lado derecho de tu pantalla.&#x20;

**Texto de cabecera:**

<figure><img src="/files/e30219zH9QogD5CVE5v3" alt=""><figcaption></figcaption></figure>

#### Vista previa del mensaje:

<figure><img src="/files/bnb15kKnZPU3fM6E30wc" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
No es posible agregar campos dinámicos dentro del encabezado del mensaje.
{% endhint %}

Si elige el encabezado de medios, puede cargar algunos archivos:&#x20;

* **Imágenes:** Deben estar en formato **.png, .jpg o .jpeg** y tener un tamaño máximo de **10MB.**
* **Documentos:** Deben estar en formato **.pdf** y tener un tamaño máximo de **10MB**.&#x20;
* **Video:** Debe estar en formato **.mp4** y tener un tamaño máximo de **10MB.**

<figure><img src="/files/xzZ14zY4CtEBRgQkNRyr" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}

* Não podemos adicionar texto e mídia ao mesmo template, ou adicionamos um ou outro.
* A mídia de imagem, documento ou vídeo só será anexada no momento que enviar seu template para aprovação.
* O modelo de mídia enviado, não é o mesmo que você precisa utilizar em seus disparos. Este é apenas um modelo de envio que você está apresentando a Meta.
* O modelo de mídia é enviado quando submetermos o template para aprovação é a última etapa do nosso processo.
  {% endhint %}

### Cuerpo del mensaje&#x20;

El cuerpo de su mensaje es donde escribe el texto que se enviará a su cliente. Puede agregar emojis, usar funciones de negrita, tachado y cursiva y también usar marcadores de posición (variables).&#x20;

Las variables son los números que aparecen entre llaves {{1}}, puedes usar estos campos como campos dinámicos y cambiar lo que está entre llaves por una palabra estándar o usar el encabezado de tu base de clientes para completar los campos.&#x20;

**Su texto puede contener hasta 1024 caracteres.**

<figure><img src="/files/aztQkhESxtXchsnFMd8n" alt=""><figcaption></figcaption></figure>

Si el marcador de posición (variables) se edita a algo que no sean números dentro de las "llaves", aparece una advertencia con instrucciones de uso, siempre deben estar en orden ascendente.

**Ejemplo: {{1}}, {{2}}, {{3}}.**

<figure><img src="/files/Ki1y6jcZe7e8zHLCMUmi" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}

* Después de finalizar su plantilla, deberá indicar a la plataforma lo que desea insertar en estos campos.&#x20;
* Por ejemplo: {{1}} se completará con el nombre del cliente.&#x20;
* Puede trabajar con tantas variables como crea conveniente, siempre que su texto tenga sentido.&#x20;
* **No puede crear una plantilla que contenga solo variables.**
  {% endhint %}

### Pie de Página

**Pie de página (opcional):** El pie de página es opcional, puede agregar algunas palabras de agradecimiento, por ejemplo, solo contenido de texto y usar hasta 60 caracteres.&#x20;

Aparece en el lado derecho de la vista previa en un tono de gris más claro.&#x20;

A veces, el pie de página se utiliza para una función de exclusión voluntaria con una breve descripción, por ejemplo:&#x20;

Si ya no desea recibir comunicaciones, escriba exit.

<figure><img src="/files/BOF7EGGB0DFalMw4SaSs" alt=""><figcaption></figcaption></figure>

**Botones (opcional):** Hay 2 tipos de botones que se pueden usar, sin embargo, solo puedes usar uno u otro.

**Acciones:** puede dirigir a su cliente a una llamada telefónica o sitio web elegido por usted:

<figure><img src="/files/ijgn0iv9mAL7fzJEhcd9" alt=""><figcaption></figcaption></figure>

Al usar la función del sitio, también tiene la función dinámica, donde puede agregar una variable a su URL, para eso solo necesita agregar la URL del sitio que desea conectar.

<figure><img src="/files/VsIFNPWrDy30jj4BVMac" alt=""><figcaption></figcaption></figure>

**Respuestas rápidas:** generalmente se usa con sí o no.

<figure><img src="/files/jbdknMRYOpJMnjUebSgt" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
El formato de texto de cada campo es diferente.
{% endhint %}

**Encabezado:** Está en negrita al principio del mensaje, si ha elegido el encabezado multimedia, aparece una vista previa de la imagen. Los medios solo se adjuntan cuando el mensaje se envía a los clientes.

**Cuerpo del mensaje:** Aparece el cuerpo de tu mensaje, en un tono claro según los datos que configures.&#x20;

**Pie de página:** aparece en un tono gris más claro al final del mensaje.&#x20;

**Botones:** Aparecen al final del mensaje para que el usuario haga clic.

<figure><img src="/files/vvIEKpFK1BBmqEfHqeko" alt=""><figcaption></figcaption></figure>

Una vez que envíe su plantilla para su aprobación, tendrá 3 tipos de estado:

<mark style="color:green;">**Verde:**</mark> Plantilla aprobada y lista para usar. \ <mark style="color:blue;">**Azul:**</mark> la plantilla está en revisión. \ <mark style="color:red;">**Rojo:**</mark> La plantilla ha sido rechazada.

{% hint style="warning" %}
**Si se rechaza una plantilla, no se puede volver a enviar para su análisis. Es necesario crear una nueva plantilla y solicitar un nuevo análisis.**
{% endhint %}

Después de que el estado de la plantilla cambie a "lista para usar", simplemente vaya al menú "Nuevo mensaje", busque el nombre de su plantilla y envíelo.

### Consejos generales para crear plantillas

{% hint style="success" %}

* **Dé a la plantilla nombres claros** que hagan referencia al contenido del mensaje y explique el contexto en el que se enviará, con solo letras minúsculas, números y guión bajo (espaciador).&#x20;
* **Elija la categoría correcta para su plantilla.**&#x20;
* El contenido debe ser **claro, breve y objetivo.**&#x20;
* **Intente comprender si hay momentos específicos de su operación para los que puede crear plantillas estándar que se pueden reutilizar.**&#x20;
* Cuando se escribe el mensaje, es necesario tener en cuenta que el equipo que hace las aprobaciones no conoce el contexto en el que se insertan.&#x20;
* **Lea su plantilla en voz alta** y observe cómo suena.&#x20;
* **Preste atención al formato de su plantilla**. Los campos dinámicos deben cumplir con los estándares y el mensaje no debe contener errores ortográficos o gramaticales.&#x20;
* **Para reabrir una sesión con el usuario, menciona lo que estabas hablando antes.**&#x20;
* **No engañe a su cliente para que permanezca en el flujo.**&#x20;
* **No use contenido que pueda ser considerado abusivo.**
  {% endhint %}

### Formateo&#x20;

{% hint style="info" %}
**Los problemas de formato conducen al rechazo de la plantilla**. Presta atención y asegúrate de que tu texto cumpla con los estándares de aceptación.&#x20;

* Los campos dinámicos deben ser números entre dos llaves y rodeados de información que indique claramente lo que se insertará allí;&#x20;
* **No podemos** usar saltos de línea, tabuladores o espacios consecutivos.&#x20;
* **Los errores gramaticales y ortográficos harán que la plantilla sea rechazada.** La jerga y el lenguaje informal son bienvenidos, pero es importante recordar que **no siempre tendrán** sentido para el equipo que realiza las aprobaciones.
  {% endhint %}

### Ejemplos de formato

| Formato correcto                                                                 | Formato incorrecto                                                                                                 |
| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| ¡Hola, {{1}}! ¿Todo bien? Este es su número de billete de avión: {{2}}.          | <p>{{1}} </p><p>¿Todo bien? Aquí hay información sobre su boleto:</p>                                              |
| Su vuelo a la ciudad {{3}} está programado para {{4}}, a las {{5}}. ¡Buen viaje! | <p>{{dos}} </p><p>{{3}} </p><p>Anota los datos de tu vuelo para que no se te olvide: </p><p>{{4}} </p><p>{{5}}</p> |

### Ejemplos de mensajes rechazados

{% hint style="danger" %}

* **¿Sabía que tiene un préstamo preaprobado de {{1}}? Puede pagar hasta en {{2}} cuotas y el dinero se acreditará en su cuenta dentro de las 24 horas posteriores a la aprobación. ¡No te lo pierdas! La oferta es válida hasta el {{3}}.**&#x20;
* **¡Hola, {{1}}! ¿Todo bien? ¡Tenemos buenas noticias! Solo te queda un click para que contrates tu préstamo. ¡Solo responde a este mensaje y podemos ayudarte!**&#x20;
* **Este es el Asistente digital y hablamos en nombre de la tienda {{2}}. Vimos que estabas interesado en {{3}}, en el portal {{4}}.**&#x20;
* **¿Qué tal simular una financiación, programar una prueba de manejo o adelantar la evaluación de tu vehículo usado? Simplemente haga clic en el enlace: {{5}}**&#x20;
* **¡Tenemos noticias para ti! Para comprobarlo gratis y prepararse para aumentar sus ventas, escriba:** \
  **1 - conocer la colección {{3}};** \
  **2 - para recibir el catálogo {{2}}.**&#x20;
* **¡Tenemos una propuesta para ti! ¿Podemos hablar por aquí ahora?**
  {% endhint %}

### Apertura de sesión&#x20;

{% hint style="warning" %}
La sesión tiene una duración fija de 24 horas y comienza cuando su empresa activa la comunicación con su cliente final.
{% endhint %}

### Sugerencias de plantilla &#x20;

1. **Suscripción al canal:**&#x20;

¡Hola! Nos gustaría informarle que este es el canal oficial de la empresa {{1}} puede usar este canal para {{2}}.&#x20;

Haga clic en "¡Sí, lo quiero!" para empezar a recibir o "Salir" si no te interesa: Botones: ¡Sí, quiero! | Salir&#x20;

2. **Asistencia para las personas que quieran comprar productos/servicios para asegurar el cobro optin en el propio sitio y que la base tenga menos de 3 días de antigüedad**.&#x20;

Hola, vimos que iniciaste tu registro en nuestro sitio web, te informamos que este es nuestro canal de WhatsApp y aquí puedes despejar tus dudas.&#x20;

Haga clic en "¡Sí, lo quiero!" para obtener más información o "Salir" si no está interesado:&#x20;

Botones: ¡Sí, quiero! | Salir

3. **Boletos / Facturas Hola:**&#x20;

Este es el canal oficial de la empresa {{1}} para avisos de facturas a pagar o vencidas | estado del pedido | estado de la cuenta.&#x20;

Haga clic en "¡Sí, lo quiero!" para empezar a recibir o "Salir" si no te interesa:&#x20;

Botones: ¡Sí, quiero! | Salir

4. **Estado del pedido:**&#x20;

Hola, este es el canal oficial de {{1}} información y estado de pedidos. \
Haga clic en "¡Sí, lo quiero!" para empezar a recibir o "Salir" si no te interesa:&#x20;

Botones: ¡Sí, quiero! | Salir

5. **Nómina | Préstamos:**&#x20;

Hola, este es el canal oficial de {{1}}, aquí puedes hacer preguntas y aprender más sobre {{2}}. Haga clic en "¡Sí, lo quiero!" para obtener más información o "Salir" si no está interesado:&#x20;

Botones: ¡Sí, quiero! | Salir

### Respuestas automáticas:&#x20;

* **SALIR:** Se ha concedido su solicitud para abandonar la conversación. ¡Envíe #return para volver!&#x20;
* **#BACK**: ¡Tu solicitud para volver a la conversación ha sido concedida! ¡Bienvenido de nuevo!&#x20;
* **Boletín General:** Gracias, aquí recibirá esta información, esté atento.

**Asistencia para las personas que quieren comprar los productos | Los servicios garantizan la recogida de optin en el propio sitio y que la base es inferior a 3 días.**&#x20;

Gracias, en breve nos pondremos en contacto contigo para resolver tus dudas. Gracias, envíe un Hola para comenzar su servicio.

**Boletos | Facturas:** Gracias, recibirá esta información aquí, esté atento.&#x20;

**Estado del pedido:** Gracias, aquí recibirá el estado de su(s) pedido(s), esté atento.&#x20;

**Envío | Préstamos:** Gracias, a la brevedad nos pondremos en contacto contigo por el canal para atenderte mejor. Muy bueno tenerte aquí. Siempre te mantendremos informado a través de este canal, y cuando lo necesites, solo llámanos


# Calificación de calidad

Las plantillas de mensajes tienen una calificación de calidad basada en el uso y los comentarios de los clientes.&#x20;

Cuando el estado sea Activo, la clasificación del modelo de mensaje aparecerá en la plataforma de mensajería, para visualizarla acceda a:

Mensajería > Menú del lado izquierdo expande el menú de WhatsApp > Plantillas.&#x20;

Verá la siguiente información en el encabezado:

<figure><img src="/files/dyZRgCqsA2RGHJVInG6M" alt=""><figcaption></figcaption></figure>

El campo de calificación está vinculado a la ventana de calidad. Y puede tener los siguientes estados para el campo:&#x20;

* **Activo: calidad pendiente** (resaltado en gris): la plantilla de mensaje aún no ha recibido comentarios de los clientes con respecto a la calidad. Las plantillas de mensajes con este estado **se pueden enviar a los clientes.**&#x20;
* **Activo - Alta calidad** (resaltado en verde): el modelo ha recibido pocos o ningún comentario negativo de los clientes. Las plantillas de mensajes con este estado **se pueden enviar a los clientes.**&#x20;
* **Activo: calidad media** (resaltado en amarillo): la plantilla ha recibido comentarios negativos de muchos clientes y es posible que se detenga o deshabilite pronto. Las plantillas de mensajes con este estado se pueden enviar a los clientes.&#x20;
* **Activo - Baja calidad** (resaltado en rojo): el modelo ha recibido comentarios negativos de varios clientes. Las plantillas con este estado se pueden enviar a los clientes, pero es posible que se suspendan o deshabiliten pronto. Por lo tanto, le recomendamos que aborde los problemas informados por los clientes.&#x20;

Una vez que se envía una plantilla de mensaje para su aprobación con el objetivo, está **pendiente de calidad.**&#x20;

Si una plantilla de mensaje recibe continuamente comentarios negativos, el **estado de la plantilla cambiará.**&#x20;

Siempre que la plantilla de mensaje tenga el estado Activo, independientemente de la calificación de calidad, se puede enviar a los clientes.&#x20;

Una vez que cambia el estado, no se puede enviar a los clientes hasta que **vuelva a estar activo.**


# Edición de plantillas

Ahora es posible editar sus plantillas de mensajes después de que hayan sido aprobadas, desaprobadas o pausadas. Para eso, primero debemos entender algunas reglas de edición.&#x20;

1. Es posible editar cualquier plantilla de mensaje creada.&#x20;
2. Si realiza una edición en una plantilla de mensaje que ya ha sido aprobada, debe esperar al nuevo metaanálisis para poder usar su plantilla nuevamente. No podrá usar su plantilla para envíos hasta que haya sido aprobada.&#x20;
3. Podrá editar su plantilla **1 vez cada 24 horas** o **10 veces durante 30 días.**&#x20;
4. Si su plantilla es rechazada después de haber sido creada, puede cambiarla.&#x20;
5. No hay restricciones en la cantidad de ediciones a las plantillas de mensajes en pausa o rechazadas.&#x20;
6. No es posible cambiar la categoría, el nombre o el idioma de su plantilla.&#x20;
7. El nuevo análisis para aprobación de la plantilla suele ser rápido, normalmente basta con refrescar (refrescar la página) para comprobar si el modelo ya ha sido analizado.

## ¿Qué puede cambiar al editar la plantilla de mensaje?&#x20;

Puede editar los siguientes parámetros en el mensaje:&#x20;

1. **Encabezado:** puede elegir ninguno, multimedia o texto.&#x20;
2. **Cuerpo del mensaje:** podrá editar su texto escrito agregando o eliminando información.&#x20;
3. **Pie de página:** puede agregar o eliminar un pie de página de su mensaje.&#x20;
4. **Botones:** Puede cambiar los botones registrados o eliminarlos del mensaje. ¿

## Cómo hago cambios en mi plantilla de mensaje?&#x20;

Es sencillo, con la plataforma de [**messaging**](https://messaging.wavy.global) abierta, accede a su menú lateral izquierdo y busca WhatsApp > Templates:

<figure><img src="/files/BPWsvJyHEuGnLrIwWj3q" alt=""><figcaption></figcaption></figure>

Ahora tendrás la vista previa de tu página de plantillas, aquí tendrás la vista previa de todos los contenidos ya creados para las comunicaciones.&#x20;

Puede buscar su plantilla de mensaje manualmente o elegir usar los filtros de [**búsqueda en la página:**](/whatsapp/sinch-messaging-platform/registro-de-templates)

<figure><img src="/files/zoco7K0RuNfbMVhhKp18" alt=""><figcaption></figcaption></figure>

Después de ubicar el mensaje a editar, busque el botón de acción > haga clic en los 3 puntos > Editar:

<figure><img src="/files/HjOY5jGQfDEA3Tjvq9Fe" alt=""><figcaption></figcaption></figure>

Al hacer clic en editar, será dirigido a la página de creación de plantillas, realice los cambios necesarios:

<figure><img src="/files/mGPYS3bzlYPJpUhc0By5" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Recuerda que no será posible cambiar el nombre, categoría o idioma de tu plantilla de mensaje.
{% endhint %}

Después de realizar los cambios necesarios, haga clic en Finalizar en la parte inferior de la página:

<figure><img src="/files/xCFDuhIW9FyRK0XA5fQQ" alt=""><figcaption></figcaption></figure>

Cuando haga clic en Finalizar, si adjuntó un encabezado de medios o agregó variables a su plantilla de mensaje, deberá completar los campos:

<figure><img src="/files/OQ6tULZCF3yU7VkDmIAj" alt=""><figcaption></figcaption></figure>

Haga clic en finalizar nuevamente, la plataforma lo dirigirá a la página de plantillas donde puede seguir el estado, tendrá 3 estados diferentes:&#x20;

<mark style="color:green;">**Aprobado:**</mark> Con este estado podrá enviar su comunicación.&#x20;

<mark style="color:red;">**Rechazado:**</mark> La plantilla del mensaje fue rechazada por la plataforma, en este caso, puedes hacer clic nuevamente en los 3 puntos y editar. Presta atención a las limitaciones de edición, recuerda que puedes hacer una edición cada 24 horas o 10 ediciones en 30 días.&#x20;

<mark style="color:blue;">**En análisis:**</mark> la plataforma aún está analizando su plantilla de mensaje, puede presionar el botón Actualizar en su navegador para seguir el progreso.


# Pausar el modelo

Si una plantilla de mensaje alcanza la calificación de calidad más baja (estado Activo - **Calidad baja**), se detiene automáticamente por un período de tiempo para proteger la calificación de calidad de los números de teléfono que la usaron. La duración de los descansos es la siguiente:&#x20;

* **Primera instancia:** Pausa de 3 horas.&#x20;
* **Segunda instancia:** Pausa de 6 horas.&#x20;
* **Tercera instancia**: **Deshabilitado**.&#x20;

Cuando una plantilla de mensaje está en pausa (estado **Paused**), no se puede enviar a los clientes. Por lo tanto, debe detener las campañas de mensajes automáticos que se basen en esta plantilla, solo reanude estas campañas cuando el estado de la plantilla vuelva a ser **Activo**.

Puede editar un modelo en pausa si cree que hacerlo hará que reciba menos comentarios negativos. Sin embargo, si hace esto, la plantilla tendrá un estado **En revisión** y no se podrá enviar a los clientes hasta que se vuelva a aprobar y tenga un estado **Activo**.&#x20;

También puede cambiar su lógica comercial (orientación, parámetros de entrega, etc.) si cree que esto está influyendo en los comentarios negativos.&#x20;

Inicialmente, la pausa no afectará el número de teléfono del trabajo **ni reducirá el límite** de mensajes. Es posible que se sigan enviando otras plantillas de mensajes de alta calidad desde el número de teléfono. Sin embargo, si la empresa continúa usando modelos de **baja calidad** después de que se pausaron, el número de teléfono puede verse afectado en algún momento.&#x20;

### Pausar notificaciones&#x20;

Cuando una plantilla de mensaje está en pausa, le enviaremos una notificación en el Administrador de WhatsApp, por correo electrónico y webhook (si se ha suscrito a los webhooks de cambios de plantilla de mensaje).&#x20;

### Reanudación&#x20;

Una vez que la plantilla ha sido editada y respectivamente aprobada por el objetivo (estando en estado activo), se puede volver a utilizar.&#x20;

La calificación de calidad de la plantilla también se establecerá en un valor basado en los comentarios más recientes.

Al igual que con las notificaciones de pausa, enviaremos notificaciones por correo electrónico y webhook cuando el estado del modelo se establezca en Activo.&#x20;

### ¿Dónde ver mis plantillas de mensajes en pausa?&#x20;

Es sencillo, con la plataforma [**Messaging**](https://messaging.wavy.global) abierta, accede a su menú lateral izquierdo y busca WhatsApp > Templates:

<figure><img src="/files/6F3EYNVdUlDRynaOgMXG" alt=""><figcaption></figcaption></figure>

Ahora tendrás la vista previa de tu página de plantillas, aquí tendrás la vista previa de todos los contenidos ya creados para las comunicaciones.&#x20;

Usa los filtros para ver el contenido en pausa:

<figure><img src="/files/r50Y7Qn20ETiNB4s9lIp" alt=""><figcaption></figcaption></figure>

La plataforma aplicará un filtro y solo verás las plantillas en estado de pausa.

<figure><img src="/files/muGvX4d9pywwE7MEjHPZ" alt=""><figcaption></figcaption></figure>

Para editar una plantilla de mensaje en pausa, simplemente haga clic en **acciones > editar**.&#x20;

Aplique los cambios necesarios y vuelva a enviar la plantilla para su aprobación, si no desea realizar ningún cambio, solo espere el tiempo de pausa y la plantilla volverá a estar activa, siempre respetando las siguientes instancias:&#x20;

* **Primera instancia:** Pausa de 3 horas.&#x20;
* **Segunda instancia:** Pausa de 6 horas.&#x20;
* **Tercera instancia:** Deshabilitado.&#x20;

Para ver la fecha y la hora o la instancia en la que está asignada su plantilla de mensaje, puede hacer clic en el estado:

<figure><img src="/files/wkRkEw9QSNTMk6cz0WS1" alt=""><figcaption></figcaption></figure>

Al hacer clic en el estado, tendrá la siguiente visualización:

<figure><img src="/files/LaSc4lQ8SIJVxaK98C4t" alt=""><figcaption></figcaption></figure>


# Eliminar un Template WA

Es posible eliminar un Template ya aprobado, en aprobación o desaprobada por WhatsApp a través de la plataforma Messaging.&#x20;

**Cómo hacerlo:** en la lista de plantillas, haga clic en el bote de basura y espere 30 días para que WhatsApp confirme para crear una nueva plantilla con el mismo nombre que la eliminada. No será posible enviar una plantilla después de la eliminación.

<figure><img src="/files/PPFz9DAZODmWkeA364Hp" alt=""><figcaption></figcaption></figure>


# ¿Template listo?

Para enviar su plantilla para su aprobación, haga clic en crear en la parte inferior de la página.

<figure><img src="/files/8ZofbbBQvXAReludSuWU" alt=""><figcaption></figcaption></figure>

Si usó los recursos de encabezado con medios o campos dinámicos, deberá cargar una imagen y también completar el contenido que se cambiará dentro de los campos dinámicos, recuerde que estos datos son solo un modelo de uso para el Meta (Facebook) .

<figure><img src="/files/z5C8Gm8DIesaZ5rynGV1" alt=""><figcaption></figcaption></figure>

Podrá cambiar su imagen en el momento del envío y también cambiar sus campos dinámicos.

<figure><img src="/files/4NQ5Wbl0b87TPAOUBblF" alt=""><figcaption></figcaption></figure>

Después de ingresar los datos, solo complete y su plantilla entrará en estado de análisis.

<figure><img src="/files/FCoAprbkyIAuvwfiFC47" alt=""><figcaption></figcaption></figure>


# Como armar un archivo

Aprenda cómo ensamblar su archivo de carga con variables

{% hint style="info" %}
El archivo de contactos puede estar en formato XLSX, CSV o TXT y deben tener como máximo 15 MB.
{% endhint %}

## Como armar un archivo XLSX

Para armar un archivo en Excel o en Google Spreadsheet, debe seguir algunas premisas:

* La **primera línea** se compone por **títulos**
* La **primera columna** debe tener el título **`destinationy`** los **números de los contactos**
* Las **demás columnas** son completadas por **placeholders ou variables** que pueden ser utilizadas en el cuerpo del mensaje o en las variables del HSM
* **Una de las columnas** puede ser usada como **Correlation ID** (con el título de **`correlationid`**) para identificar a los clientes en los reportes.

Ejemplo:

| destination   | name   | info | correlationid |
| ------------- | ------ | ---- | ------------- |
| 5511987654321 | André  | Wavy | campanha\_X   |
| 5511912345678 | Mozart | Wavy | campanha\_Y   |

{% hint style="info" %}
Consejo: para evitar conflictos o problemas, sugerimos limpiar el formato de la tabla. Para limpiar en Excel, selecione la tabla entera y haga click en **Clear** (Limpiar) / **Clear all formats** (Limpiar todos los formatos). Luego seleccione la primer columna (`destination`), haga click con el botón derecho y seleccione **Format Cells** (Formatear celdas), seleccione **Numbers** (Números) y configure **0 decimales**.
{% endhint %}

![](/files/-LQj4Vuhm4IIeCh7hZXn)

![](/files/-LQj4VuiDCG3B22MMwwx)

{% hint style="info" %}
Consejo: En Google Spreadsheet, selecione la tabla completa, haga click en **Formatear** en la barra de herramientas y luego en **Limpiar Formato**.
{% endhint %}

![](/files/-LQj4Vuk0BYOii8-76A5)

## Como armar un archivo CSV

Para armar un archivo en Excel o en Google Spreadsheet, siga el mismo procedimento realizado anteriormente pero guarde el archivo en formato CSV.

![](/files/-LQj4VulSl20tn4_FJd-)

![](/files/-LQj4VumPyoH0oNuSxhx)

## **Como armar un archivo TXT**

Para armar un archivo TXT usted debe respetar el siguiente formato:

```
destination,name,info,correlationid
5511987654321,wavy,global,list1
5511912345678,movile,company,list2
```


# Errores mapeados

Posibles errores que puedes encontrar al subir tu base de clientes.

**Consejos:**&#x20;

Para comprender mejor un error en un archivo, siga estos pasos:&#x20;

1. Abra el archivo con un editor de texto (los archivos de texto sin formato, con extensión .txt, son más fáciles de entender).&#x20;
2. Preste atención al orden en que se utilizan los separadores en el archivo, ya que esto es crucial para que el archivo funcione correctamente.\
   \- ;\
   \- ,\
   \- |\
   \- \t

Lea atentamente los errores que se muestran en el mensaje en pantalla.&#x20;

Intente comprender lo que está sucediendo mirando el archivo en cuestión. Esto le ayudará a "**conectar los puntos**" y a saber cómo arreglar el archivo.&#x20;

### Error en la columna de destinos&#x20;

**Mensaje de error:** Se encontraron números de teléfono no válidos en su archivo; asegúrese de que todos los números tengan una línea vinculada.

Si estás enviando un mensaje a WhatsApp, puedes verificar si un número de teléfono tiene una cuenta vinculada con el siguiente enlace: <https://wa.me/55119999999>

El valor predeterminado para la verificación de la cuenta es agregar el **DDI, el código de área y el número de teléfono.**

Si no tienes un DDI, recuerda que puedes elegir la opción que te brindamos en pantalla para agregar el DDI (solo selecciona el país al que deseas enviar).

Si el envío es por SMS, puede verificar si la línea tiene operador activo a través de este enlace: Consulta Número (abrtelecom.com.br).

### Error en el encabezado del archivo&#x20;

**Mensaje de error:** el archivo tiene un encabezado vacío. Realice la corrección en el archivo y vuelva a intentarlo.&#x20;

Es obligatorio que agregues un encabezado a tu archivo, en este caso debes agregar el campo.&#x20;

Cuando abre el archivo en formato .txt, notará que cada punto y coma (;) representa la adición de una nueva columna de datos.&#x20;

Si observa puntos y coma adicionales en el archivo y no hay más columnas de datos para agregar, es importante eliminarlos para evitar errores.

<figure><img src="/files/5Xioq3LCy3VWk9GgwZOz" alt=""><figcaption></figcaption></figure>

### Error en las líneas del archivo&#x20;

**Mensaje de error:** Se detectaron inconsistencias en las líneas del archivo. Verifique y corrija las inconsistencias antes de volver a intentarlo.&#x20;

Es obligatorio que las líneas tengan la misma cantidad de campos que el encabezado, por ejemplo:

Si agrega en su encabezado:

<table><thead><tr><th>Numero</th><th width="128">Nombre</th><th width="139">Empresa</th><th>Producto</th></tr></thead><tbody><tr><td>555111457897</td><td>Renata</td><td>Sinch</td><td>WhatsApp</td></tr></tbody></table>

Todas las líneas de su archivo deben completarse con 4 campos, como se muestra arriba.&#x20;

Si alguna de las líneas tiene el siguiente formato:

<table><thead><tr><th>Numero</th><th width="128">Nombre</th><th width="139">Empresa</th><th>Producto</th></tr></thead><tbody><tr><td>555111457897</td><td>Renata</td><td>Sinch</td><td>WhatsApp</td></tr><tr><td>5511333444</td><td>Carol</td><td>Sinch</td><td></td></tr><tr><td>5511555666 </td><td>Fulano</td><td></td><td></td></tr></tbody></table>

La plataforma mostrará un error porque las columnas no se están completando correctamente.

### Error cuando el archivo no tiene líneas&#x20;

**Mensaje de error:** El archivo no contiene suficiente información para ser procesado. Por favor agregue la información necesaria y vuelva a intentarlo.&#x20;

El archivo está en blanco, es decir, no hay destinatarios adjuntos para enviar.

### Error de columna con nombre duplicado&#x20;

**Mensaje de error:** el archivo contiene columnas con encabezados duplicados. Elimine los títulos duplicados e inténtelo de nuevo.&#x20;

El encabezado de su archivo tiene columnas duplicadas, debe eliminar o cambiar el nombre del campo.&#x20;

Ejemplo:

<table><thead><tr><th>Numero</th><th width="128">Nombre</th><th width="139">Nombre</th><th>Producto</th></tr></thead><tbody><tr><td>555111457897</td><td>Renata</td><td>Sinch</td><td>WhatsApp</td></tr></tbody></table>

### Error genérico en la tramitación (algún caso no previsto)&#x20;

**Mensaje de error:** Parece haber un problema con el formato del archivo.&#x20;

Inténtalo de nuevo. Si el problema persiste, comuníquese con nuestro equipo de soporte.&#x20;

### Error generico&#x20;

**Mensaje de error:** Hubo un error al procesar el archivo. Inténtalo de nuevo. Si el problema persiste, comuníquese con nuestro equipo de soporte.&#x20;

### Error al enviar el archivo relacionado con el formato&#x20;

**Mensaje de error:** El archivo debe estar escrito con caracteres UTF-8. Verifique y corrija el tipo antes de volver a intentarlo. Es obligatorio que el archivo esté escrito con caracteres UTF-8. Debes corregirlo antes de volver a intentarlo.


# Realización de un envío de WhatsApp

Cómo hacer tus primeros tiros en la plataforma

En la esquina superior izquierda de la herramienta, haga clic en Nuevo mensaje:

<figure><img src="/files/n1TeTmvKkYn9L3TNM4Ch" alt=""><figcaption></figcaption></figure>

Seleccione la herramienta **WhatsApp:**

<figure><img src="/files/Irfeze8fwCa37A8HSsze" alt=""><figcaption></figcaption></figure>

## Destinatarios

Tenemos 4 métodos de envío disponibles dentro de nuestra plataforma.&#x20;

Puede elegir cuál tiene más sentido para su envío.

<figure><img src="/files/dQDmVODljarLWgLnTz3u" alt=""><figcaption></figcaption></figure>

[**Subir un archivo:**](/whatsapp/sinch-messaging-platform/como-montar-um-arquivo) En este escenario, subimos nuestra base de clientes a la plataforma, el archivo a subir debe ser como se describe en este paso a paso. Puede usar la función de descarga de plantilla en esta página para ensamblar su archivo.&#x20;

[**Contactos:**](broken://pages/-LU1bXP8ChXjdfxgoHsQ) Es posible subir contactos de clientes a nuestra plataforma, por lo que cuando los envíe, puede seleccionar contactos manualmente.&#x20;

[**Grupos:**](broken://pages/-LU2LceyMz16mpdax8oV) Estos no son grupos de WhatsApp, aún no tenemos disponible la función. En este escenario, puede crear grupos de personas específicas en función de sus contactos.&#x20;

**Teléfono:** esta es una función que generalmente se usa para realizar pruebas, simplemente agregue su número de teléfono DDI+DDD+. Si envía a más de una persona, simplemente sepárelos con una coma.

<figure><img src="/files/yVc2n80cEzVpwA2moHJ9" alt=""><figcaption></figcaption></figure>

Si elige enviar un archivo, deberá cargarlo en nuestra herramienta:

<figure><img src="/files/j5cqmxZ9n3WGSwqF6dsE" alt=""><figcaption></figcaption></figure>

Al cargar, debemos marcar si la plataforma necesita agregar códigos de país a su envío o si ya los ha agregado a su archivo.

<figure><img src="/files/DYN3YHkLrk0zzmt20ekv" alt=""><figcaption></figcaption></figure>

Justo debajo de la pantalla, puede ver que la herramienta ya ha reconocido sus campos dinámicos (si los ha utilizado), es con estos campos de su base de clientes que vamos a reemplazar sus variables de texto.

<figure><img src="/files/DfAHRCeTbDhsvcytgLRW" alt=""><figcaption></figcaption></figure>

Ahora podemos hacer clic en siguiente.&#x20;

### Seleccionando tu plantilla&#x20;

Se le dirigirá a una nueva pantalla, en la que seleccione la plantilla creada.&#x20;

Recuerde que necesita ser aprobado para ser utilizado.

<figure><img src="/files/yfn94ch35E2g9ls5XGsM" alt=""><figcaption></figcaption></figure>

Si su archivo tiene un encabezado multimedia, elija el archivo de imagen de su máquina.&#x20;

**Recuerda que el archivo debe contener un máximo de 10MB y estar en formato .jpeg, .jpg o .png**.&#x20;

**¿Revisó su plantilla?** \
**¿Estás listo para los siguientes pasos? ¡Entonces haga clic en adelante!**


# Vincular tu toma a una campaña

Comprenda cómo funciona el análisis de mensajes a través de una campaña.

Las campañas no son obligatorias, pero es un recurso que lo ayuda a medir sus tasas de entrega.

&#x20;Al enviar un mensaje con una campaña, podemos filtrar los informes y analizar los datos de la campaña, el porcentaje de entrega, el porcentaje de lectura y otra información.&#x20;

Hay dos formas de crear tus campañas:&#x20;

1. Durante su envío, después de elegir y configurar su plantilla de envío, será dirigido a una pantalla como esta:

<figure><img src="/files/X3RMWTOWIGdbGaryOKMA" alt=""><figcaption></figcaption></figure>

* **Sin campaña:** no vincule su envío a ninguna campaña, en este caso, dentro de nuestros informes, la plataforma muestra un guión (-) en el campo de campañas.
* **Seleccione una campaña existente:** vincule su envío a una campaña de plataforma existente.
* **Crear una nueva campaña:** crea una nueva campaña para este envío. Simplemente ingrese el nombre que desea usar.

**Haga clic en continuar para continuar con su envío.**

2. Crear campañas antes de enviarlas:

En el menú del lado izquierdo, expanda el menú de mensajes y seleccione campañas:

<figure><img src="/files/8V0n7rHUTrTWw1zoKCE9" alt=""><figcaption></figcaption></figure>

En esta pantalla se pueden visualizar todas las campañas que se crean en la plataforma con la siguiente información:

* **Nombre de campaña;**
* **Alias ​​de campaña;**
* **Descripción;**
* **Creado en:**
* **Sub-cuenta;**
* **Estado;**
* **Comportamiento;**

Para crear una nueva campaña puedes usar el botón: <img src="/files/sez8z72wS7u8i03efCKc" alt="" data-size="line">.

Deberá agregar un nombre a la campaña y luego una descripción que es opcional, haga clic en guardar.

Eso es todo, su campaña está lista para usar.

Las campañas lo ayudan a organizar sus mensajes y compararlos entre sí.


# Programar un envío

Programa el envío de tu mensaje de forma sencilla y rápida.&#x20;

En esta pantalla, puede establecer la fecha y la hora en que se debe entregar su mensaje, simplemente seleccione la fecha del calendario a continuación:

<figure><img src="/files/0DJc3w00oP4ryMIfSZtL" alt=""><figcaption></figcaption></figure>

Y en el reloj al lado pon la hora:

<figure><img src="/files/Gf4iYXsAvqlPcs0b6vhV" alt=""><figcaption></figcaption></figure>

Si no establece una fecha y hora, la foto se tomará tan pronto como finalice la configuración.&#x20;

### Envío en partes&#x20;

Si se trata de una comunicación activa en la que sus usuarios finales contactarán masivamente con su empresa, para no sobrecargar a sus analistas al final, puede fragmentar este disparador en varias partes diferentes y elegir diferentes días y horarios para sus entregas.&#x20;

Simplemente use la función: **Enviar en partes**

<figure><img src="/files/BZ5419pdu4jxrm5t27c9" alt=""><figcaption></figcaption></figure>

Haga clic en agregar parte y divídalo en tantas partes como necesite, también elija sus días, horarios y porcentaje de entrega.&#x20;

El único requisito para este campo es que el porcentaje siempre sume 100%.&#x20;

Si el porcentaje no llega al 100%, la plataforma no le permite continuar con el siguiente paso y lanza una señal:

<figure><img src="/files/oczXKGy6er67yjxGSgdj" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Los únicos mensajes que la plataforma permite cancelar después del envío son los mensajes que están **programados.**
{% endhint %}

¿Listo con sus citas? \
Vayamos a nuestra presentación y resumen.


# Presentación y resumen

En cuanto finalizas toda la configuración de tu mensaje, la plataforma envía y resume el mensaje para que puedas asegurarte de que todo está correcto.

<figure><img src="/files/tKYSLMad0SGXREfyC3YF" alt=""><figcaption></figcaption></figure>

* **Tipo:** WhatsApp, después de todo, es a través de esta herramienta que está disparando.
* **Total de mensajes:** El número total de envíos que se realizarán.&#x20;
* **Número de destinatarios:** la cantidad de destinatarios que ha subido a la herramienta. (Este número siempre se repite con el número total de mensajes).&#x20;
* **Programado el:** si ha programado su mensaje, se mostrarán la fecha y la hora.&#x20;
* **Campaña:** a qué campaña está vinculada su presentación.&#x20;

¿Todo cierto? Haz clic en Enviar mensaje en la parte inferior de la página.&#x20;

Una vez más, aparecerá una presentación y un resumen en la pantalla; si todo es correcto, haga clic en **Enviar Mensaje**.

<figure><img src="/files/uiXn6dfkTMBdgwvX25a4" alt=""><figcaption></figcaption></figure>

Ahora será dirigido a la pantalla Mensajes enviados.&#x20;

{% hint style="danger" %}
**Si este no es un mensaje programado, no es posible cancelar este envío.**&#x20;
{% endhint %}

¿Vamos a los siguientes pasos?


# Envío y cancelación de mensajes.

### Cancelación de mensajes&#x20;

Esté atento al disparo de sus mensajes, una vez que sale para la entrega no podemos detener la acción.&#x20;

Solo podemos cancelar el envío de un mensaje que tenga el **estado programado**.&#x20;

Para rastrear sus mensajes enviados:&#x20;

En el menú del lado izquierdo, expanda el menú de mensajes y haga clic en **mensajes enviados**:

<figure><img src="/files/9Q0GA02PU8d83YrfNbSg" alt=""><figcaption></figcaption></figure>

Tendrá la siguiente información en la pantalla de mensajes enviados:&#x20;

* **ID:** Cada vez que se envía un mensaje, la plataforma genera un id (lote) para enviarlo;
* **Subcuenta:** Señala la subcuenta que realizó el disparador;&#x20;
* **Nombre del archivo:** si ha utilizado una base de clientes para enviar su envío, el nombre del archivo que cargó en la plataforma aparece en este campo;&#x20;
* **Tipo:** Tendrá información sobre qué tipo de envío se realizó, en este caso: SMS o WhatsApp;&#x20;
* **Total:** Total de destinatarios contenidos en el mensaje;&#x20;
* Estado: Tendrá 3 estados de mensaje:\ <mark style="color:green;">**Verde:**</mark> Mensaje enviado con éxito, no es posible cancelar este envío.\ <mark style="color:purple;">**Púrpura:**</mark> Mensaje en la cola de disparos o programado, aquí podemos cancelar un mensaje, solo haga clic en los tres puntos laterales y cancelar el disparo:\ <mark style="color:red;">**Rojo:**</mark> Mensaje con error.

<figure><img src="/files/Qhf6Qln2no6b2irJMUIV" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Tenga en cuenta que los únicos mensajes que muestran los tres puntos en el campo de acción son mensajes con un estado programado.
{% endhint %}

* **Creado el:** fecha y hora en que se envió el mensaje.&#x20;
* **Acciones:** Al hacer clic en los 3 puntos puede cancelar el mensaje, si ha elegido programar el mensaje para otra fecha, y al hacer clic en el ojo puede ver el mensaje que se envió.

{% hint style="success" %}
[**Obtenga más información sobre la pantalla de mensajes enviados, el estado y realice un seguimiento del envío de sus mensajes.**](/sms-todoloquenecesitasaberparasuenvio/wavy-messaging-platform/rastrear-el-envio)
{% endhint %}


# Introducción a los informes

Aprenda a ver y exportar informes según el canal elegido. Comprender todos los filtros.

### Informes&#x20;

En Informes puedes ver el rendimiento de tus tiros.&#x20;

Para acceder a la pestaña de informes, en el menú del lado izquierdo, expanda el menú de mensajes y luego haga clic en Informes:

<figure><img src="/files/Y2vJy4Ci6wOc3ys8cloG" alt=""><figcaption></figcaption></figure>

Seleccione el canal (WhatsApp o SMS) que desea ver y filtre según sus necesidades. Incluso si no tienes SMS o WhatsApp contratados, solo cambia la pestaña entre ellos:

<figure><img src="/files/VtX9zhz0jd3JU3FPaw1S" alt=""><figcaption></figcaption></figure>

El primer filtro que debes aplicar para que la búsqueda se extraiga correctamente es el filtro de fecha. Puede buscar hasta los últimos 90 días de envíos a la plataforma:

<figure><img src="/files/TD9PfE1ZBXLHAvxkJb3A" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Por defecto, la plataforma solo trae resultados de los últimos 7 días.
{% endhint %}

Puedes hacer tu búsqueda más limpia usando los otros filtros, son:&#x20;

* MT's (Son los mensajes que envías a tus clientes);&#x20;
* MO's (Son los mensajes que tu cliente envía a tu empresa;&#x20;
* Subcuenta que realizó el tiroteo;&#x20;
* Usuario;&#x20;
* Campaña;&#x20;
* Tipo de contenido;&#x20;
* Estado;

### Consolidado y Detallado

{% hint style="info" %}

* **El informe consolidado** es el resumen, sigues los resultados según el filtro de fechas estipulado en la plataforma, y ​​el resultado sale en porcentaje.&#x20;
* **Reporte detallado** puedes ver el contenido que se envió y puedes filtrar por número de teléfono, también puedes rastrear la entrega de mensajes si fueron entregados exitosamente, o si por alguna razón tuvieron algún error.
  {% endhint %}

## Consolidado:&#x20;

Después de aplicar sus filtros apropiados, primero la plataforma le traerá una vista gráfica, al pasar el cursor sobre sus picos puede seguir la cantidad de mensajes que se entregaron ese día y la cantidad de mensajes que presentaron errores:

<figure><img src="/files/xOvRFiXCnaryb0r19oO2" alt=""><figcaption></figcaption></figure>

A continuación puedes ver algo más de información:&#x20;

* **Total de mensajes:** Número de mensajes que fueron activados por la plataforma.&#x20;
* **Enviados:** Número de mensajes que fueron enviados por la plataforma, en este estado es importante señalar que cuando se envía un mensaje no significa que se haya entregado.
* **Entregados:** Número de mensajes que fueron entregados por la plataforma en el periodo estipulado en el filtro de fechas.&#x20;
* **Leído:** Número de mensajes que leyeron los dispositivos, este campo depende de si su usuario final ha habilitado la función de lectura.

<figure><img src="/files/6q9AKe7laJIKdoMywiRX" alt=""><figcaption></figcaption></figure>

Desplazándose hasta la parte inferior de la página, puede realizar un seguimiento del porcentaje de entrega por día:

<figure><img src="/files/hpg6Iko4VTpO8GOeEaVo" alt=""><figcaption></figcaption></figure>

### Reporte detallado&#x20;

El reporte detallado tiene los mismos campos que el reporte consolidado, sin embargo, tiene un campo más y también otro tipo de visualización de datos.&#x20;

Para acceder al informe detallado, simplemente cambie la pestaña de la plataforma:

<figure><img src="/files/FzCG7gbk0yfsUZhPhym0" alt=""><figcaption></figcaption></figure>

O primeiro filtro a ser configurado é o filtro de data na parte superior da tela:

<figure><img src="/files/fqW8bcrpx3feUfk37rNg" alt=""><figcaption></figcaption></figure>

Puede buscar mensajes hasta los últimos 90 días (es un estándar de la plataforma).&#x20;

Puedes hacer tu búsqueda más limpia usando los otros filtros, son:&#x20;

* MT's (Son los mensajes que envías a tus clientes);&#x20;
* MO's (Son los mensajes que tu cliente envía a tu empresa;&#x20;
* Subcuenta que realizó el tiroteo;&#x20;
* Usuario; Campaña;&#x20;
* Tipo de contenido;&#x20;
* Estado;&#x20;
* Contacto o teléfono: ¿Imaginas que un usuario informa que no ha recibido tu comunicación? Puede agregar el número de teléfono del cliente en este campo y comprender qué sucedió con la entrega del mensaje.

### Exportando el informe&#x20;

Después de seleccionar el canal y los filtros, haga clic en **aplicar** y tendrá acceso a la información en la pantalla. Para exportar, haga clic en el formato deseado y **exporte**.&#x20;

{% hint style="warning" %}
Al hacer clic en exportar, el archivo se procesará y podrá acceder a él haciendo clic en: **Ver informes exportados**
{% endhint %}

&#x20;**Para exportar un informe, simplemente haga clic en el botón:** Exportar en: CSV o XLSX.

<figure><img src="/files/kSSofa1PSYdCRzOQn4KK" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
En los informes exportados tiene el historial de todos los informes solicitados y puede ver el usuario y la subcuenta que realizó la solicitud. Puede descargar o ver informes que aún se están procesando o exportar casos de error.
{% endhint %}


# Reporte Consolidado

Para realizar un seguimiento de la entrega de nuestros mensajes, tenemos algunos informes disponibles en las plataformas, comencemos con nuestro informe consolidado.&#x20;

Para acceder al informe en el menú del lado izquierdo, expanda el menú de mensajería y haga clic en informes:

<figure><img src="/files/jJNslPKa0fSwfAgUvg41" alt=""><figcaption></figcaption></figure>

Será dirigido a una página como esta, mantenga la primera ventana segmentada en Mensaje y en Consolidado.

<figure><img src="/files/dIxh27V86tccAKMofPmp" alt=""><figcaption></figcaption></figure>

El Informe Consolidado traerá el porcentaje de entrega por día, hora o mes de sus mensajes.&#x20;

Ahora vamos a nuestros filtros:&#x20;

* **Datos:** El filtro más importante que tenemos en nuestro informe, es a partir de él que la herramienta extraerá todo el historial de datos.
* **Tipo de mensaje:** Hoy tenemos dos tipos de mensajes diferentes: \
  **Enviados (MT):** Todo lo que envías como empresa a tus clientes. \
  **Recibido (MO):** Todo lo que te envían tus clientes como respuesta, mediante botones o escribiendo.&#x20;
* **Subcuenta:** Seguimiento de la cantidad de envíos por subcuenta.&#x20;
* **Usuario:** Realice un seguimiento del número de envíos por usuario.&#x20;
* **Campaña**: Seleccione una campaña específica para realizar un seguimiento de sus tasas de entrega.&#x20;
* **Tipo de contenido:** Varios contenidos para realizar búsquedas específicas como audios, imágenes, etc...&#x20;
* **Enviado con sesión:** Siempre que contactamos con nuestro usuario final, entramos con la sesión cerrada, solo se abre sesión cuando nuestro usuario responde a nuestro mensaje. Cada sesión tiene una duración fija de 24 horas.&#x20;
* **ID de correlación:** un campo específico que podemos agregar a nuestra base de clientes, este campo se refleja dentro de nuestros informes como información adicional.&#x20;
* **Estado:** Tenemos varios estados diferentes para la entrega de nuestros mensajes, ellos son:

<table><thead><tr><th width="166" align="center">Estado</th><th align="center">Entregado</th></tr></thead><tbody><tr><td align="center"><strong>Entregado</strong></td><td align="center">Mensaje entregado al dispositivo</td></tr><tr><td align="center"><strong>Mensaje entregado al dispositivo</strong></td><td align="center">Mensaje enviado con éxito al transportista o corredor. El operador respondió aceptando el mensaje.</td></tr><tr><td align="center"><strong>Tiempo de vida vencido (TTL)</strong></td><td align="center">A mensagem expirou na plataforma Sinch, antes de ser enviada para a operadora. (Mensagem não enviada).</td></tr><tr><td align="center"><strong>Error de comunicación del operador</strong></td><td align="center">Falha de comunicação com a operadora.</td></tr><tr><td align="center"><strong>Rechazado por el operador</strong></td><td align="center">Mensaje rechazado por el operador. El operador puede rechazar el mensaje por varias razones. Los más comunes se deben a una inestabilidad temporal oa un receptor incapacitado.</td></tr><tr><td align="center"><strong>No entregado</strong></td><td align="center">El mensaje se envió con éxito al operador, pero no se pudo entregar al dispositivo. Algunas de las razones son el dispositivo fuera de la red y el destinatario deshabilitado.</td></tr><tr><td align="center"><strong>No entregado por opt-out</strong></td><td align="center">Destino bloqueado por opt-out.</td></tr><tr><td align="center"><strong>Error interno</strong></td><td align="center">Error interno, póngase en contacto con nuestro equipo de <a href="/pages/-MCCUnDUYr-FBEzGaedv"><strong>soporte</strong></a>.</td></tr><tr><td align="center"><strong>Parámetro/contacto no válido</strong></td><td align="center">Datos de destino no válidos</td></tr><tr><td align="center"><strong>Blocklist</strong></td><td align="center">El mensaje no se envía porque el número del destinatario ha sido bloqueado por el cliente en la plataforma Sinch.</td></tr><tr><td align="center"><strong>Mensaje de texto inválido</strong></td><td align="center">El texto del mensaje contiene algún contenido no válido, como malas palabras, fraude o contenido falso.</td></tr><tr><td align="center"><strong>Contenido inválido</strong></td><td align="center">El contenido del mensaje no es válido porque faltan parámetros para una plantilla de texto o son incorrectos.</td></tr><tr><td align="center"><strong>Expirado por el transportista</strong></td><td align="center">Mensaje caducado por el operador. Error después de que el operador intenta enviar el mensaje dentro de las 24 horas al teléfono celular.</td></tr><tr><td align="center"><strong>Mensaje duplicado</strong></td><td align="center">El mensaje al mismo número con algún contenido fue rechazado debido a demasiadas repeticiones</td></tr></tbody></table>

Al aplicar su investigación, la plataforma traerá los siguientes retornos:

<figure><img src="/files/Q510zVUsQ7QqT4JqLruJ" alt=""><figcaption></figcaption></figure>

Primero, un gráfico con las fechas segmentadas en su filtro (por eso necesita aplicar las fechas de búsqueda correctas) y sus líneas de tendencia.&#x20;

<mark style="color:green;">**Línea verde:**</mark> Entregas exitosas.&#x20;

<mark style="color:red;">**Línea roja:**</mark> Mensajes de error.&#x20;

Al pasar el mouse sobre las líneas, tiene acceso a los totales de entrega:

<figure><img src="/files/nqvIndCVsLM4XQvjLMsR" alt=""><figcaption></figcaption></figure>

Justo debajo verás los totalizadores de la plataforma, con los siguientes datos:&#x20;

**Total:** Total de mensajes enviados durante el periodo seleccionado.&#x20;

**Enviado**: Del total de mensajes enviados, un mensaje enviado no significa que sea un mensaje entregado.&#x20;

**Entregado:** el número total de mensajes entregados correctamente.&#x20;

**Leído**: El total de mensajes leídos, para esta devolución es necesario que el usuario final tenga habilitada la función.

<figure><img src="/files/gBE9KmfFR8DQg8uSJarh" alt=""><figcaption></figcaption></figure>

Desplazando un poco más hacia abajo, tendrás los datos segmentados por día:&#x20;

* Fecha de envío;&#x20;
* entregas totales;&#x20;
* porcentaje de envío;&#x20;
* entregas totales;&#x20;
* Porcentaje de lecturas;

Si desea que esta información sea un poco más completa, puede usar los filtros para agregar información que se encuentran en la parte superior de la página:

<figure><img src="/files/We4LgNknMejhq3tBTJaf" alt=""><figcaption></figcaption></figure>

Puede agregar información de:&#x20;

* subcuentas de envío;&#x20;
* Usuario de envío;&#x20;
* campaña vinculada;&#x20;
* Código de país;&#x20;

En este campo también segmentas los datos por fecha y hora y este informe aparece un poco más personalizado en la parte inferior de la pantalla:

<figure><img src="/files/KPHj6eOwVLAkbuVH8VYP" alt=""><figcaption></figcaption></figure>

Estos datos se pueden exportar a un archivo pdf, csv o xlsx.&#x20;

También es posible guardar esta búsqueda como modelo para futuras búsquedas usando el botón:

<figure><img src="/files/62Ihp8put0Ym6FKXDOm4" alt=""><figcaption></figcaption></figure>

¿Necesitas más detalles sobre tu entrega? \
Sigue nuestro Informe Detallado


# Reporte Detallado

Realice un seguimiento de sus envíos y comprenda qué sucedió con los mensajes de cada uno de sus destinatarios.

Para realizar un seguimiento de la entrega de nuestros mensajes, tenemos algunos informes disponibles en las plataformas, este es nuestro informe detallado.&#x20;

Para acceder al informe en el menú del lado izquierdo, expanda el menú de mensajería y haga clic en informes:

<figure><img src="/files/jJNslPKa0fSwfAgUvg41" alt=""><figcaption></figcaption></figure>

Será dirigido a una página como esta, mantenga la primera ventana segmentada en **Mensaje** y en **Detallado**.

<figure><img src="/files/01R1ov99KE6jyUh32GUg" alt=""><figcaption></figcaption></figure>

El Informe Detallado detallará qué sucedió con cada uno de los mensajes enviados en la plataforma.&#x20;

Ahora vamos a nuestros filtros:&#x20;

* **Datos:** El filtro más importante que tenemos en nuestro informe, es a partir de él que la herramienta extraerá todo el historial de datos.&#x20;
* **Tipo de mensaje:** Hoy tenemos dos tipos de mensajes diferentes: \
  **Enviados (MT):** Todo lo que envías como empresa a tus clientes. \
  **Recibido (MO):** Todo lo que te envían tus clientes como respuesta, mediante botones o escribiendo.&#x20;
* **Subcuenta:** Seguimiento de la cantidad de envíos por subcuenta.&#x20;
* **Usuario:** Realice un seguimiento del número de envíos por usuario.&#x20;
* **Campaña:** Seleccione una campaña específica para realizar un seguimiento de sus tasas de entrega.&#x20;
* **Tipo de contenido:** Varios contenidos para realizar búsquedas específicas como audios, imágenes, etc...&#x20;
* **Enviado con sesión:** Siempre que contactamos con nuestro usuario final, entramos con la sesión cerrada, solo se abre sesión cuando nuestro usuario responde a nuestro mensaje. Cada sesión tiene una duración fija de 24 horas.&#x20;
* **ID de correlación:** un campo específico que podemos agregar a nuestra base de clientes, este campo se refleja dentro de nuestros informes como información adicional.&#x20;
* **Estado:** Tenemos varios estados diferentes para la entrega de nuestros mensajes, ellos son:

<table><thead><tr><th width="166" align="center">Estado</th><th align="center">Entregado</th></tr></thead><tbody><tr><td align="center"><strong>Entregado</strong></td><td align="center">Mensaje entregado al dispositivo</td></tr><tr><td align="center"><strong>Mensaje entregado al dispositivo</strong></td><td align="center">Mensaje enviado con éxito al transportista o corredor. El operador respondió aceptando el mensaje.</td></tr><tr><td align="center"><strong>Tiempo de vida vencido (TTL)</strong></td><td align="center">A mensagem expirou na plataforma Sinch, antes de ser enviada para a operadora. (Mensagem não enviada).</td></tr><tr><td align="center"><strong>Error de comunicación del operador</strong></td><td align="center">Falha de comunicação com a operadora.</td></tr><tr><td align="center"><strong>Rechazado por el operador</strong></td><td align="center">Mensaje rechazado por el operador. El operador puede rechazar el mensaje por varias razones. Los más comunes se deben a una inestabilidad temporal oa un receptor incapacitado.</td></tr><tr><td align="center"><strong>No entregado</strong></td><td align="center">El mensaje se envió con éxito al operador, pero no se pudo entregar al dispositivo. Algunas de las razones son el dispositivo fuera de la red y el destinatario deshabilitado.</td></tr><tr><td align="center"><strong>No entregado por opt-out</strong></td><td align="center">Destino bloqueado por opt-out.</td></tr><tr><td align="center"><strong>Error interno</strong></td><td align="center">Error interno, póngase en contacto con nuestro equipo de <a href="/pages/-MCCUnDUYr-FBEzGaedv"><strong>soporte</strong></a>.</td></tr><tr><td align="center"><strong>Parámetro/contacto no válido</strong></td><td align="center">Datos de destino no válidos</td></tr><tr><td align="center"><strong>Blocklist</strong></td><td align="center">El mensaje no se envía porque el número del destinatario ha sido bloqueado por el cliente en la plataforma Sinch.</td></tr><tr><td align="center"><strong>Mensaje de texto inválido</strong></td><td align="center">El texto del mensaje contiene algún contenido no válido, como malas palabras, fraude o contenido falso.</td></tr><tr><td align="center"><strong>Contenido inválido</strong></td><td align="center">El contenido del mensaje no es válido porque faltan parámetros para una plantilla de texto o son incorrectos.</td></tr><tr><td align="center"><strong>Expirado por el transportista</strong></td><td align="center">Mensaje caducado por el operador. Error después de que el operador intenta enviar el mensaje dentro de las 24 horas al teléfono celular.</td></tr><tr><td align="center"><strong>Mensaje duplicado</strong></td><td align="center">El mensaje al mismo número con algún contenido fue rechazado debido a demasiadas repeticiones</td></tr></tbody></table>

* **Contacto o número de teléfono:** busque números de teléfono específicos al realizar búsquedas.&#x20;
* **ID de conversación:** Podrás ver cuántos mensajes pertenecen a una misma conversación, es decir, a un mismo ID. Recordando que la sesión ahora es fija (24h), es decir, con cada sesión completada tendré un ID de conversación.&#x20;
* **Tipo de conversación:** puede ser iniciada por el negocio, iniciada por el usuario y punto de entrada gratuito. \
  **Negocio iniciado**: el negocio inicia una conversación enviando un mensaje al usuario/cliente. **Iniciado por el usuario:** el usuario inicia una conversación enviando un mensaje a la empresa/compañía y la empresa responde. \
  **Free Entry Point**: las conversaciones de Click to Whatsapp Ads y Facebook CTA son gratuitas.

<figure><img src="/files/d9QLLj9mhiI5Uj3h0b7v" alt=""><figcaption></figcaption></figure>

Al aplicar su búsqueda diferente del informe consolidado, la plataforma traerá los resultados totales relacionados con la búsqueda:

<figure><img src="/files/txyJOIrx50nc7C9SwT5c" alt=""><figcaption></figcaption></figure>

En este caso, durante el periodo de investigación y según los filtros estipulados, la búsqueda me arrojó 15 resultados.&#x20;

Desplazando hacia abajo en la pantalla, tendrás información sobre las entregas:&#x20;

* **Enviado:** fecha y hora en que se envió el mensaje.&#x20;
* **Estado:** estado de entrega del mensaje, aquí es donde puede realizar un seguimiento de si su mensaje se entregó o no y, si no se entregó, la razón por la que no se entregó.&#x20;
* **Teléfono:** El número de teléfono de su cliente.&#x20;
* **ID de usuario de WhatsApp:** número de WhatsApp al que se conectó la plataforma.&#x20;
* **Campaña:** campaña a la que se vinculó el envío.&#x20;
* **Usuario:** Usuario que activó el número.&#x20;
* **Tipo de contenido:** Plantilla Después de todo, así es como nos comunicamos con nuestros usuarios.&#x20;
* **Mensaje enviado:** vea el contenido del mensaje enviado.&#x20;
* **Enviado con sesión:** vea si su sesión está abierta o cerrada.&#x20;
* **ID de conversación:** Podrás ver cuántos mensajes pertenecen a una misma conversación, es decir, a un mismo ID. Recordando que la sesión ahora es fija (24h), es decir, con cada sesión completada tendré un ID de conversación.&#x20;
* **Tipo de conversación:** si se trata de una conversación iniciada por la empresa o por el usuario.&#x20;
* **Fecha de caducidad de la conversación:** fecha y hora en que la conversación caduca, por defecto **24 horas**.

<figure><img src="/files/cG5OV11KZskoo5WipGob" alt=""><figcaption></figcaption></figure>

Estos datos se pueden exportar a un archivo pdf, csv o xlsx. También es posible guardar esta búsqueda como modelo para futuras búsquedas usando el botón:

<figure><img src="/files/itfh5943k3KnQrtjADBf" alt=""><figcaption></figcaption></figure>

## Quiero hacer un seguimiento de las devoluciones de mis usuarios, ¿es posible?&#x20;

Sí, en su filtro de tipo de mensaje, cambie el campo a **Retorno (MO)** y haga clic en aplicar.&#x20;

Aquí también puede realizar un seguimiento de los clics de sus usuarios en los botones de **respuesta rápida**.&#x20;

{% hint style="danger" %}
Esta acción es solo para botones de respuesta rápida, los botones de acción no pueden rastrear clics.
{% endhint %}

La plataforma traerá los siguientes resultados:&#x20;

* **Respondido:** fecha y hora en que se respondió el mensaje.&#x20;
* **Fuente:** Número de teléfono.&#x20;
* **ID de usuario de WhatsApp:** número de WhatsApp.&#x20;
* **Campaña:** Campaña a la que se respondió el mensaje.&#x20;
* **Usuario:** Usuario al que se respondió el mensaje.&#x20;
* **Tipo de contenido:** si su usuario final respondió a este mensaje con texto, imagen o audio.&#x20;
* **Mensaje Recibido:** Texto del mensaje recibido.


# Relatório de Opt-Out

Es sencillo ver los números de teléfono que han optado por no recibir su flujo de mensajes.&#x20;

En la plataforma, accede a su menú lateral y expande la pestaña de mensajería, selecciona la opción Informes.

<figure><img src="/files/jJNslPKa0fSwfAgUvg41" alt=""><figcaption></figcaption></figure>

En la pestaña Informes, acceda al menú de lista:

<figure><img src="/files/xtbtBHEyHJCkwnqlr8sm" alt=""><figcaption></figcaption></figure>

Segmente el período que desea ver dentro del informe:

<figure><img src="/files/Gn3qg1916nXz8W27KfPi" alt=""><figcaption></figcaption></figure>

Y haga clic en exportar.&#x20;

Será redirigido a una página con todos los informes solicitados por su usuario y el nuevo informe estará en esa lista, elija cuál desea extraer y haga clic en "Descargar".


# Reportes de Conversación Consolidados

### Informe de mensajes de conversación&#x20;

Con el nuevo modelo de conversaciones de WhatsApp podrás extraer informes consolidados y detallados de tus campañas.

<figure><img src="/files/LSUvoaYt8caLfxtzGGuZ" alt=""><figcaption></figcaption></figure>

### Informe - Conversaciones consolidadas

Rellenando los filtros de fecha (período), subcuenta o nombre de campaña, verás estos 3 gráficos: Todas las conversaciones, Conversaciones gratuitas y Conversaciones pagadas. Al final, una consolidación de estos datos.

{% hint style="info" %}
**Es importante** saber que los datos se actualizan cada hora. Si no encuentra los datos que busca, debe intentar generar el informe nuevamente dentro de 1 hora.
{% endhint %}

**Gráfica de Todas las Conversaciones:** De acuerdo a tu filtro aplicado, la plataforma traerá información sobre la cantidad de mensajes enviados en cada una de las categorías de la plantilla de WhatsApp.

Los datos indicados serán:

**All conversations:** Suma de todos los mensajes enviados independientemente de la categoría seleccionada.

**Authentication:** Plantillas totales cargadas desde la categoría **Autenticación.**

**Marketing**: Plantillas totales enviadas desde la categoría **Marketing**.

**Service:** Plantillas totales enviadas con la categoría **Servicios**.

**Utility:** Plantillas totales enviadas con la categoría **Utilidad**.

**Business Iniciated \[Heredado]:** Conversaciones totales iniciadas por su empresa.

**User Iniciated \[Heredado]:** Conversaciones totales iniciadas por su usuario final.

{% hint style="info" %}
Después del **1 de junio**, ya no tendremos tráfico en las categorías **Business Initiated \[Legacy] | Usuario iniciado \[heredado]**.&#x20;

Esto significa que solo tendremos datos de estas categorías en informes con datos anteriores al **1 de junio**.
{% endhint %}

<figure><img src="/files/kChgwRZuljjUpffnvHQD" alt=""><figcaption></figcaption></figure>

**Gráfica de Conversaciones Gratis:** según tu filtro, verás cuánto está relacionado con el Free Tier (beneficio brindado para cada WABA) y cuánto está relacionado con el punto de entrada Free.

<figure><img src="/files/UmSrQKd6rZjCFhuUOhli" alt=""><figcaption></figcaption></figure>

**Gráfica de Conversaciones Pagadas:** según tu filtro, verás el total de conversaciones y sabrás cuantas de ellas inició la empresa (Negocio Iniciado) y cuantas inició el cliente (Usuario Iniciado).

<figure><img src="/files/mekNTe46uRHZ1IdXVb01" alt=""><figcaption></figcaption></figure>

### Informe - Conversaciones detalladas&#x20;

Aquí puede filtrar, además del período de la campaña, también por subcuenta, nombre de la campaña, ID de conversación, tipo de conversación (ya sea iniciada por la empresa, iniciada por el usuario o punto de entrada gratuito) o por destino (número de teléfono con ddd).

<figure><img src="/files/HsRkLpEilXYMLOkAdNG4" alt=""><figcaption></figcaption></figure>

Tras realizar la búsqueda, encontrarás un informe detallado con toda esta información rellenada, además de la fecha/hora de caducidad de la conversación. Podrá exportar su informe en formato PDF, CSV o XLSX.

<figure><img src="/files/whb5qJPUT7fMlCEVSnJI" alt=""><figcaption></figcaption></figure>


# Reportes de Conversación Detallados

### Informe - Conversaciones detalladas&#x20;

Aquí puede filtrar, además del período de la campaña, también por subcuenta, nombre de la campaña, ID de conversación, tipo de conversación (ya sea iniciada por la empresa, iniciada por el usuario o punto de entrada gratuito) o por destino (número de teléfono con ddd).

<figure><img src="/files/zH6G591fHPjttgDrUIXy" alt=""><figcaption></figcaption></figure>

Tras realizar la búsqueda, encontrarás un informe detallado con toda esta información rellenada, además de la fecha/hora de caducidad de la conversación. Podrá exportar su informe en formato PDF, CSV o XLSX.

<figure><img src="/files/GTXu9sRxUHjV9yUZhYqi" alt=""><figcaption></figcaption></figure>


# Informes guardados

Para facilitar la extracción y el análisis realizado a partir de los datos aportados en los informes, ahora es posible guardar plantillas de informes para acelerar su rutina de trabajo.

Después de seleccionar los filtros deseados, haga clic en "Guardar plantilla", ingrese un nombre para esta plantilla de informe (por ejemplo: informe mensual para envíos por subcuenta).&#x20;

Para acceder a los informes guardados, haga clic en "Plantilla de informes guardados" y busque el nombre de la plantilla e ingrese la fecha en que desea ver los datos.

**Recordando que está guardando los filtros de informes, las fechas pueden ser diferentes con cada nueva exportación.**

<figure><img src="/files/39gIB5r2UAMXln1FGGKQ" alt=""><figcaption></figcaption></figure>


# Contactos

Aprenda a editar, eliminar o crear nuevos contactos.

## Lista de Contactos <a href="#lista-de-contatos" id="lista-de-contatos"></a>

En contactos encontrarás toda tu base de clientes que ya han sido importados a la plataforma.

{% hint style="info" %}
**Es importante tener en cuenta que sus contactos no se guardan automáticamente con cada envío, estos contactos deben registrarse en la herramienta.**
{% endhint %}

## Agregar un nuevo contacto&#x20;

En el menú del lado izquierdo, expanda el menú de mensajería y busque contactos, será dirigido a una nueva pantalla como se mostra a continuación:&#x20;

Hay dos formas posibles de agregar contactos en la herramienta:&#x20;

**Agregar un solo contacto:**

En tu menú lateral izquierdo busca contactos:

<figure><img src="/files/IvEKkJkEWnalcHYcfZh8" alt=""><figcaption></figcaption></figure>

Se le dirigirá a una pantalla como esta, haga clic en los **3 puntos laterales:**

<figure><img src="/files/6DJCt0lU0KyN85CjXbms" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Haga clic en el botón **+ único contacto** en el menú de contactos y complete el formulario, los campos con \* son obligatorios. Puede o no agregar este nuevo contacto a un grupo existente. Clic en Guardar.&#x20;

¡Listo! Su nuevo contacto ha sido creado. O puede importar varios contactos a la vez a través de una carga de hoja de cálculo.
{% endhint %}

**Añadir contactos de forma masiva:**&#x20;

Para agregar varios contactos a la vez, use el botón **IMPORTAR CONTACTOS**, está disponible en la parte superior de la página:

<figure><img src="/files/hcSXJ5bilzzJlL7olrl5" alt=""><figcaption></figcaption></figure>

Deberá crear un archivo con sus contactos para importar, cuando haga clic en importar contactos, tendrá la opción de descargar una plantilla.

Esta plantilla debe guardarse en formato CSV y tener el siguiente formato:

| Destination   | Nombre |
| ------------- | ------ |
| 5511848976468 | Renata |
| 5478458778797 | Andrea |
| 5454717585185 | Fulano |

Agrega siempre el **DDI + DDD + Número de teléfono** para que la plataforma importe correctamente.&#x20;

Con su archivo listo, solo súbalo a la plataforma.

<figure><img src="/files/ZFHZPUsWM1vAt2pfVIU2" alt=""><figcaption></figcaption></figure>

**Editar un contacto**&#x20;

{% hint style="warning" %}
En la columna "Acciones", puede editar la información de cada contacto.
{% endhint %}

<figure><img src="/files/mS8MxG68adZfZEbGmtfN" alt=""><figcaption></figcaption></figure>


# Grupos

Puede crear grupos basados ​​en sus contactos y apuntar tomas selectivas a ciertas personas. De esa manera, solo envía lo que su cliente quiere ver.

{% hint style="warning" %}

#### Não estamos nos referindo a grupos de WhatsApp, apenas grupo de pessoas para envios.

{% endhint %}

**Cómo crear un grupo**&#x20;

<figure><img src="/files/Rw55wJiFohjSYrHUs3cO" alt=""><figcaption></figcaption></figure>

Para crear grupos de envío, primero debe haber registrado sus contactos en la plataforma.&#x20;

En su menú lateral izquierdo, expanda el menú de mensajería y seleccione la opción de grupos. Serás dirigido a una nueva pantalla, en este campo podrás visualizar todos tus grupos ya creados en la plataforma, si es necesario crear un nuevo grupo, utiliza la opción **Crear Grupo**, en la parte superior de la página:

<figure><img src="/files/nWqC2GRTSJFrtwyZtKQR" alt=""><figcaption></figcaption></figure>

Introduce un nombre para facilitar su gestión y una descripción y pulsa en siguiente, listo tu grupo ha sido creado.

### Editar un grupo y agregar miembros&#x20;

Al hacer clic en Acciones > Editar, puede editar el nombre y la descripción del grupo.&#x20;

Al hacer clic en Eliminar grupo, lo elimina de su lista.&#x20;

Para agregar miembros, cambie de pestaña.

<figure><img src="/files/syBvgsdegA2jzhOT5dnj" alt=""><figcaption></figcaption></figure>


# Tech Providers - ¿Qué es y cómo funciona?

El Proveedor de Tecnología (o Tech Provider) son empresas que necesitan, de forma legítima, acceder a datos comerciales de otras organizaciones para ofrecerles servicios o funcionalidades. Aquí podemos entenderlo como empresas Revendedoras.

Ninguna app reclamado por una empresa puede ser utilizada por otras empresas hasta que se complete la verificación como Tech Provider. Los administradores de la cuenta pueden finalizar el proceso de verificación para que sea reconocido como Tech Provider. Una vez verificado, cualquier app reclamado por el cliente podrá ser utilizada por otro cliente de este revendedor.

### ¿Como funciona?

Si usted es una empresa Revendedora, es necesario tener un registro ISV (Independent Software Vendor) directamente en el BM de Meta. La parte administrativa del proceso se realiza primero en su BM (Business Manager), ya sea por usted o puede solicitar apoyo a nuestro equipo de Soporte.

Una vez hecho esto, puede continuar con el proceso de Embedded SignUp. Recuerde que, si es necesario crear otros clientes en la plataforma Messaging (MM2), ¡debe contactar a nuestro equipo de Provisionamiento (Soporte)!

## Cómo hacerlo: paso a paso

1. Usted (Revendedor) debe tener acceso al BM como Admin y ser un ISV.
2. Es necesario tener una app dentro de ese BM (para saber más sobre cómo funciona, vea [aquí](https://developers.facebook.com/docs/development/create-an-app/)). Como Revendedor (ISV), es necesario que este BM esté verificado por Meta.
3. Asegúrese de que su app esté en modo "live" y no en modo de desarrollo. Si esto no está configurado de esta manera, recibirá un error en el proceso de embedded signup. La app se crea por defecto en modo de desarrollo y puede alternar el modo en la propia página de la app.
4. Una vez que todo esté correcto en la app, es importante que esté conectado a nuestra app de Sinch. Si no la tiene, vaya al menú lateral izquierdo del BM y haga clic en Partner Solutions y luego haga clic para crear una Partner Solution. A continuación, debe definir un nombre para la solución (interno) y agregar el AppID de Sinch en el campo de Partner app ID. El Partner app ID varía según el BM con el cual conectaremos el número (para acceder a este partner appID, contacte a nuestro soporte e informe que está haciendo el proceso de Tech Provider por su cuenta).
5. Después de seguir estos pasos, nosotros en Sinch debemos aceptar la solicitud de solución de asociación en la página de soluciones de asociación de nuestra aplicación. Una vez aceptada, solo debe continuar con el proceso de embedded signup. Si es necesaria la creación de más clientes en su revendedor o si necesita apoyo en este proceso, ¡solo tiene que contactar a nuestro equipo de Provisionamiento (Soporte)!


# API de Campañas

Este documento proporciona la información necesaria para integrarse con la plataforma de Sinch Messaging para realizar la gestión de campañas. La API tiene integración REST, mediante el protocolo HTTP




---

[Next Page](/llms-full.txt/1)

