La API de instalaciones locales dejará de estar disponible. Consulta nuestro documento Fin de la API de instalaciones locales para conocer los detalles y descubrir cómo migrar a nuestra nueva generación de API de la nube.

Preguntas frecuentes sobre la API para instalaciones locales

Visita la página de estado de la Plataforma de WhatsApp Business para conocer la información más reciente sobre las interrupciones de la plataforma.

Primeros pasos

WhatsApp considera que las comunicaciones con los usuarios de la API de WhatsApp Business que administran el punto de conexión de la API en los servidores que controlan está cifrada de extremo a extremo, ya que no hay acceso de terceros al contenido entre los puntos de conexión.

Es posible que algunas organizaciones elijan delegar la administración de su punto de conexión de la API de WhatsApp Business a un proveedor de soluciones comerciales tercero. En esos casos, la comunicación utiliza el mismo cifrado de protocolo de señal. No obstante, dado que el usuario de la API de WhatsApp Business eligió a un tercero para que administre su punto de conexión, WhatsApp no considera que dichos mensajes estén cifrados de extremo a extremo. En el futuro, en 2021, tal criterio también se aplicará a las empresas que elijan utilizar la versión basada en la nube de la API alojada en Facebook.

Además, si utilizas HTTPS al hacer llamadas al cliente de la API de WhatsApp Business, esos datos serán cifrados con SSL (desde tu cliente de sistema interno al cliente de la API de WhatsApp Business).

Consulta nuestro informe técnico con información general sobre el cifrado de WhatsApp para obtener más información.

No, solo puedes ejecutar una cuenta por instancia. Si necesitas una segunda cuenta de prueba, asegúrate de usar un número diferente.

NO. En cualquier momento, solo puedes tener una instancia del cliente de la API de WhatsApp Business en uso para un solo número de teléfono. En cuanto registres una segunda instancia, tu primera instancia se interrumpirá y dará error. Estamos trabajando en una solución adecuada que te permitirá hacer esto. Te enviaremos información sobre cualquier actualización.

El cliente de la API de WhatsApp Business en las instalaciones requiere de una base de datos con el objetivo de almacenar claves para descifrar los mensajes que una empresa intercambia con los clientes. Todos los mensajes de WhatsApp se cifran con claves del emisor y receptor. Las claves del cliente se almacenan en su dispositivo móvil, mientras que las de la empresa se almacenan en su base de datos. Obtén más información acerca de la seguridad de WhatsApp.

La API de la nube de WhatsApp es una alternativa en la que Meta almacena la base de datos de una empresa. La API de la nube te permite implementar las API de WhatsApp Business sin necesidad de contar con tus propios servidores. Más información.

No. Actualmente, no hay forma de ejecutar varios números en la misma configuración de cliente de la API de WhatsApp Business. Estamos trabajando para lograr una solución adecuada que permita esta opción en el futuro.

Yes, Whatsapp Flows can be sent with On-Premises API. You can learn more about Whatsapp Flows here, or learn how to get started with Whatsapp Flows and On-Premises API here.

Instalación

¡Sí! El cliente de la API de WhatsApp Business API intenta comunicarse de forma predeterminada mediante chatd a través del puerto 5222. Para obtener una mejor experiencia, abre el puerto 5222 a todo el tráfico de salida. Esto no representa un problema de seguridad ya que es solo tráfico de salida de tu centro de datos.

Si no puedes abrir el puerto 5222, el cliente de la API de WhatsApp Business intentará utilizar el puerto 443. Si tu firewall o proxy sigue interrumpiendo conexiones, comunícate con el equipo de WhatsApp y solicita una depuración mediante la asistencia directa.

No. El cliente de la API de WhatsApp Business abre una conexión TCP de salida al puerto 5222 o 443 en los servidores de WhatsApp. El tráfico TCP utiliza esta conexión de larga duración. Por lo general, los firewalls clasifican esto como permitir “tráfico de salida y el tráfico establecido.” Obviamente, los paquetes van y vienen una vez establecida la conexión, pero el inicio de la conexión viene del cliente de la API de WhatsApp Business de modo que no es necesaria ninguna regla que permita conexiones de entrada.

Los requisitos dependerán de cada carga y situación particular. La solución se ejecutará en cualquier equipo conectado a internet que ejecute Docker. Por ejemplo, se pueden realizar pruebas simples en una computadora portátil.

Para la configuración de un servidor de producción de una sola instancia, recomendamos, como mínimo, SSD de 250 GB, 16 GB de memoria RAM y CPU de cuatro núcleos. No se recomienda usar discos duros, ya que, con carga, las velocidades de E/S provocarán cuellos de botella.

En el caso de una configuración del servidor de producción multiconexión, recomendamos, como mínimo, SSD de 50 GB, 4 GB de memoria RAM y CPU de 2 núcleos para cada contenedor de app principal, maestra o web.

En la mayoría de los casos, debes ejecutar la base de datos en un servidor físico separado de los contenedores principales y los contenedores web. El servidor de la base de datos debe tener solo unos pocos milisegundos de latencia respecto de las máquinas de cómputo.

Esta configuración admite el envío de 20 mensajes por segundo aproximadamente.

Se requiere MySQL 5.7.x, PostgreSQL 9.5.x, 9.6.x, 10.x. Utilizar una versión anterior arrojará un error de Unable to initialize config store.

Configura MySQL localmente con Docker siguiendo la guía de MySQL de Docker.

Configura PostgreSQL localmente con Docker siguiendo la guía de PostgreSQL de Docker.

En la mayoría de los casos debes ejecutar la base de datos en un servidor físico separado de los contenedores principales y los contenedores web. El servidor de la base de datos debe tener solo unos pocos milisegundos de latencia respecto de las máquinas de cómputo.

Una lista de permitidos puede crearse tanto con nombres de host como direcciones IP.

Consulta la sección de nombres de host de la documentación sobre requisitos de la red para obtener más información.

Sí, la conexión TCP es necesaria. Si tu empresa no puede abrir puertos adicionales, puedes utilizar la conexión SSL terminada.

Consulta la documentación sobre requisitos de la red para obtener más información.

Administración de datos

Se admiten MySQL y PostgreSQL. Si ejecutas Docker por ti mismo, debes ofrecer una base de datos MySQL/PostgreSQL a la cual puedan conectarse los contenedores. Utilizar la plantilla de AWS configura una base de datos de MySQL de forma predeterminada.

No. Actualmente, el cliente de la API de WhatsApp Business no se ejecuta en Docker para Windows. Para las necesidades de desarrollo, el uso de una máquina virtual Linux y poder ejecutar un Docker en la misma es la solución recomendada. Respecto a las cargas de trabajo de producción, recomendamos utilizar un servidor Linux para evitar problemas de compatibilidad y de rendimiento.

Puedes reiniciar los contenedores de Docker ejecutando el siguiente código:

Contenedor de app principal de Docker

docker restart wacore<Current_WABA_Version>

Contenedor de app web de Docker

docker restart webapp<Current_WABA_Version>

Puedes verificar qué versión estás ejecutando

docker ps

Sí, la rotación de registros para los contenedores de app web y los contenedores de app principal tienen comportamientos levemente diferentes:

  • App web: se conservan los últimos 30 archivos de registro. El archivo de registro rota solo si su tamaño supera los 20 MB.
  • App principal: se conservan los últimos 30 archivos de registro. El archivo de registro rota solo si su tamaño supera los 15 MB. Los archivos rotados se comprimen.

Existe un script que puede activarse externamente para borrar registros antiguos del contenedor:

docker exec CONTAINER_NAME /opt/whatsapp/bin/cleanup.sh

El script funciona tanto con contendores de app web como con contenedores de app principales. Al ejecutar el script, se eliminarán los antiguos archivos de registro y de esta manera solo quedarán 30 archivos de registro del contenedor.

Tu sistema puede empezar a volverse lento a medida que se ocupa el espacio disponible. Esto puede deberse a la existencia de muchos archivos multimedia, mensajes y archivos de registro grandes. Los archivos de registro se rotan automáticamente, pero si empiezan a aumentar de tamaño, lo más seguro es eliminarlos.

Los mensajes se almacenan en la base de datos. Es posible eliminar los mensajes según sea necesario. Además, si se establece pass_through como false en la configuración de la app, todos los mensajes se guardan en la base de datos hasta que se eliminan explícitamente.

Los archivos multimedia que los usuarios te envían se descargan de los volúmenes de multimedia. La empresa es la encargada de decidir qué archivos multimedia eliminar, pero en general es seguro es eliminar cualquier tipo de archivo multimedia. Puedes utilizar docker inspect your-container-id para verificar dónde se encuentra la carpeta de volumen de multimedia.

Sí, la base de datos puede utilizarse de otras formas sin tocar las tablas relacionadas con WhatsApp.

Las tablas de la base de datos almacenan información relacionada con la configuración de la app, los hilos de chat, los mensajes, el contenido multimedia, etc., que son necesarios para que la app funcione.

La v2.25.x mejora el rendimiento de salida y de entrada en comparación con versiones anteriores. Esta optimización crea conexiones adicionales a la base de datos. En algunas implementaciones, se pueden alcanzar los límites configurados por el aumento en la cantidad de conexiones de la base de datos. Para mantener el alto rendimiento, puedes aumentar la cantidad máxima de conexiones que acepta el servidor de tu base de datos. De no ser posible, puedes cambiar el parámetro "axolotl_context_striping_disabled" para desactivar este comportamiento. Consulta la documentación sobre Ajustes de apps para obtener más información sobre cómo hacer este cambio.

La recolección de elementos no utilizados de la base de datos elimina periódicamente las tablas messages y messages_reciept_log para ayudar a gestionar la base de datos.

El recolector de elementos no utilizados retiene ciertos mensajes para permitir que se realice correctamente la entrega o el procesamiento. Por ejemplo, si se retienen los mensajes entrantes por un determinado período de tiempo, las integraciones comerciales permiten marcar el mensaje como leído.

La app principal recopila los elementos no utilizados en intervalos aleatorios (es decir, una vez cada pocas horas). Esto permite prevenir una potencial degradación en el rendimiento en las pilas de alta disponibilidad como consecuencia de la contención de la base de datos.

La recolección de elementos no utilizados funciona de manera independiente de la cola de devoluciones de llamada. Por ejemplo: si el servidor del webhook no está disponible por 4 días, se almacenarán las devoluciones de llamada, que se entregarán una vez que se restablezca la conectividad del servidor del webhook.

Usa el punto de conexión de la API de services de la recolección de elementos no utilizados de la base de datos para purgar los mensajes y la recepción de mensajes de las tablas messageStore.messages y messageStore.messages_receipt_log.

Registro

Si haces una copia de seguridad de tu configuración actual y la restauras en una nueva computadora, la información de registro debería migrar junto con el resto de la implementación. Consulta la documentación sobre la configuración de copias de seguridad y restauración para obtener más información.

Autenticación

Cerrar la sesión de un usuario a través del extremo users invalidará todos los tokens de autenticación asignados a esa cuenta. Eliminar un usuario tendrá el mismo efecto, aunque esta acción es mucho más drástica. Ten presente que iniciar la sesión de un usuario a través del extremo users devolverá un nuevo token de autenticación, pero no invalidará los tokens de autenticación que ya están en uso para ese usuario. Cualquier persona que posea un token que se haya otorgado con anterioridad podrá seguir usándolo hasta que caduque o quede invalidado mediante alguno de los métodos antes mencionados.

Envío de mensajes

Nota: No envíes el mismo mensaje repetidamente al mismo destinatario con la API de WhatsApp Business.

Hay múltiples razones por las que los índices de entrega no son del 100%. Entre algunos casos frecuentes se incluye al de los usuarios que tienen acceso esporádico a la red, por lo que están inactivos durante un período de tiempo, o a la posibilidad de crear una experiencia del cliente de alta calidad.

Los mensajes que pueden ser entregados con WhatsApp tendrán un índice de entrega muy alto. Sin embargo, hay muchas razones por las que podría no entregarse un mensaje. Podrás acceder al estado exacto de un mensaje mediante la supervisión de tus devoluciones de llamadas. Esto es diferente al envío de mensajes por SMS, por ejemplo, en los que no tienes acceso al estado final de la entrega y volver a enviar el mensaje puede, de hecho, producir un resultado diferente.

Los mensajes pueden permanecer sin entregarse porque el teléfono de un usuario está apagado o no tiene batería, o porque perdió el teléfono y va a obtener uno nuevo y tiene desactivada la SIM. Es posible que existan errores en la capacidad de los clientes de la empresa de conectarse a la red. También es posible que las devoluciones de llamada (webhooks) no se estén entregando. Puedes supervisar estas situaciones con el nodo health. Puedes activar las devoluciones de llamadas de recepción del servidor para confirmar que el mensaje fue recibido en la nube del servidor de WhatsApp.

Cuando el usuario restablezca la conexión a la red, se le entregarán todos los mensajes que le hayas enviado. Recibir más de un mensaje con el mismo contenido será una mala experiencia para él. Lo más probable es que eso lo predisponga a bloquearte o a quejarse. Tendrás más probabilidades de que pases a ser un remitente prohibido.

Si envías un mensaje y recibes un identificador de mensaje de la API, quiere decir que hiciste lo posible por enviar este mensaje. No envíes el mismo contenido al mismo destinatario.

Si observas índices de entrega bajos durante un período prolongado, abre un ticket de asistencia en Asistencia directa.

Cuando envías un mensaje, apenas recibes un identificador de mensaje, significa que el mensaje se almacenó en la base de datos. El cliente de la API de WhatsApp Business seguirá intentando enviar ese mensaje hasta que el servidor de WhatsApp confirme la recepción. Este proceso no tiene cronograma final. El servidor de WhatsApp intentará entonces entregar ese mensaje al teléfono del usuario. Si el teléfono del usuario no está en internet, el mensaje se almacenará durante 30 días antes de que el servidor de WhatsApp lo descarte.

Actualmente, no existe forma de ver cuántos o qué usuarios han bloqueado tu empresa. El mejor indicador sería detectar las devoluciones de llamada del estado y si no recibes el estado delivered, quiere decir que el usuario ha bloqueado tu empresa o que no tiene conexión a la red. Consulta la documentación sobre Webhook para obtener más detalles.

Si un usuario bloqueó tu empresa, la API de contactos seguirá devolviendo ese número de teléfono como usuario de WhatsApp válido. Sin embargo, cuando envíes el mensaje, no se entregará. Si es un mensaje pagado, no se te cobrará.

En el caso de un consumidor normal, esto sucede por el diseño de la app cuando el remitente no figura en tu libreta de direcciones y no has enviado un mensaje a este remitente en el pasado. En el caso de una empresa, se deben utilizar plantillas de mensaje al interactuar por primera vez con un usuario para establecer "confianza". Al hacerlo, el cliente de la API de WhatsApp Business respetará la configuración de descarga automática en la app.

En el caso de un cliente normal, esto sucede por el diseño cuando el remitente no figura en tu libreta de direcciones y no has enviado un mensaje a este remitente en el pasado. En el caso de una empresa, se deben utilizar plantillas de mensaje al interactuar por primera vez con un usuario para establecer "confianza". Al hacerlo, el cliente de la API de WhatsApp Business podrá reproducir el enlace y hacer clic en el mismo.

¡Por supuesto! Comunícate con tu representante de WhatsApp y solicítala.

No, no se puede garantizar que el orden de llegada de los mensajes sea el mismo que el orden en el que los mensajes fueron enviados. Si en tu caso el orden es fundamental, te sugerimos esperar la devolución de llamada entregada del primer mensaje antes de enviar el segundo mensaje.

Al utilizar el nodo messages, debes configurar el encabezado Content-Type como application/json para que el cliente de la API de WhatsApp Business analice de manera apropiada el cuerpo del mensaje. Además existe un encabezado de Authorization que debe configurarse y que debe contener un token de acceso vigente. Consulta la documentación Inicio de sesión y autenticación para obtener información sobre cómo obtener tu token y saber cuándo caduca.

Sí, envía una llamada API al nodo de contacts antes de enviar un mensaje. La información de verificación de contacts se almacena en caché en el contenedor y, si esto no se hace, se podría generar un error de Unkown Contact. Consulta la documentación Comprobar contactos para obtener más información.

If there is a delay in a subset of numbers, then it is likely not an issue affecting the customers integration but rather an issue on the recipients end, these delays in delivery can happen for a number of reasons. See Send Message Performance, Delays for more information.

No this is not possible. Numbers that are registered under WABAs (WhatsApp Business Accounts) can only message regular WhatsApp accounts.

Contenido multimedia

No existe un mecanismo de limpieza para los archivos multimedia entrantes o salientes. Puedes borrar tus archivos multimedia de forma manual localizándolos en tu sistema de archivos.

Para encontrar el punto de montaje del volumen de tu contenido multimedia, puedes ejecutar un comando de docker.

Solicitud

docker volume inspect whatsappMedia

Respuesta

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data",
        "Name": "whatsappMedia",
        "Options": {},
        "Scope": "local"
    }
]

Luego, para ver todos los archivos multimedia entrantes, puedes ejecutar el comando ls con la ruta de archivo Mountpoint recibida:

ls /var/lib/docker/volumes/whatsappMedia/_data/

Para la configuración de AWS, el volumen del contenido multimedia se encuentra montado en la ruta /mnt/wa/media del host.

El tamaño máximo para la subida de archivos es de 64 MB, lo cual significa que dicho límite también se aplica a cualquier imagen, documento o video que envíes con un mensaje.

Tú eliges cuándo eliminar el contenido multimedia.

Luego de subir un archivo multimedia, recibirás un identificador, el cual puedes usar para enviar un mensaje que incluye el elemento de contenido multimedia subido. Al enviar el mensaje de contenido multimedia, la API de WhatsApp Business cifrará y subirá el contenido a los servidores de WhatsApp, donde permanecerá durante 14 días. Luego, puedes decidir eliminar el contenido multimedia mediante su identificador correspondiente o conservar dicho contenido para usarlo más tarde. Si bien la recomendación es conservar el contenido multimedia durante 30 días, queda en ti decidir la política de retención en base a la política de tu empresa o tus casos de uso.

En las imágenes, el texto se agregará como descripción. El texto aparece con su extensión completa en las imágenes de Android y iPhone.

En los documentos, el texto reemplaza el nombre del archivo. No tiene la finalidad de mostrarse en el dispositivo del usuario como texto de descripción, sino la de mostrar el nombre del archivo. En iPhone, se muestra el texto completo, mientras que en Android el nombre del archivo se trunca. Tales situaciones se deben a una limitación técnica en la implementación actual de WhatsApp en ambos dispositivos.

Al enviar imágenes como un álbum desde la API de WhatsApp Business, deberás enviar al menos 4 imágenes en forma sucesiva. Si la vista de conversación del usuario está activada al recibir las imágenes, la vista de álbum no estará disponible hasta la próxima visita.

No se puede crear un álbum si se cumple alguno de los siguientes criterios:

  1. Imágenes con texto
  2. Línea que separa los mensajes no leídos: el usuario ve algunas imágenes, pero no todas
  3. Encabezado de fecha: mensajes entregados en distintos días

No, actualmente, tenemos que usar el sistema EFS de AWS para compartir el volumen del contenido multimedia entre la app principal y la app web.

No, actualmente, no permitimos el cambio de la ruta predeterminada del almacenamiento multimedia (/usr/local/wamedia/). Todo el almacenamiento multimedia debe estar en esta ubicación predeterminada para funcionar correctamente.

Plantillas de mensajes

Actualmente es de 7 días. Si un caché no se ha actualizado durante más de 7 días, incorporará el paquete de idiomas más reciente del servidor sin importar si el elemento ya existe en el paquete o no.

Nota: A partir de la versión v2.27.8, la política de idioma fallback quedó obsoleta y la nueva política predeterminada es deterministic.

Si creas una traducción a un nuevo idioma, debes traducir todos los elementos que utilizas a ese idioma. De lo contrario, podrías obtener errores de "estructura no disponible" debido a que el teléfono del destinatario no puede encontrar el elemento que espera en el idioma apropiado. Estos errores de estructura no disponible aparecen al enviar mensajes de plantilla mediante el uso de la política de reserva.

Si crear traducciones a idiomas no es una opción que desees en este momento, puedes utilizar la política determinista para evitar estos errores.

Webhooks

El cliente de la API de WhatsApp Business te envía las devoluciones de llamada de Webhook a través del contenedor de app principal. Por lo tanto, tu extremo de Webhook debe configurarse para que acepte las solicitudes entrantes de la app principal.

Si Webhook no envía una devolución de llamada, la devolución de llamada se coloca en una cola de reintento. No se recibirá ninguna de las devoluciones de llamada que se envíen después del error de devolución de llamada inicial. Únicamente después de que la devolución de llamada inicial que falló se realice correctamente se continuará con el resto.

Si un evento de Webhook no se entrega por algún motivo (por ejemplo, el cliente está fuera de línea) o si la solicitud de Webhook devuelve un código de estado HTTP que sea distinto de 200, volveremos a intentar la entrega de Webhook. Volveremos a intentar las entregas que tengan demoras crecientes hasta un tiempo de espera determinado (por lo general de 24 horas, aunque esto puede variar), o hasta que la entrega se realice correctamente.

Puede que recibas mensajes duplicados en Webhook de WhatsApp dado que la única garantía que hay es que esos mensajes se reciban al menos una vez (a diferencia de solo una vez). Si esto afecta el modo en que procesas los mensajes, te sugerimos eliminar los mensajes duplicados de Webhook según el identificador del mensaje.

Vuelve a comprobar la configuración pass_through de tu app. No recibirás ninguna devolución de llamada de estado de lectura si activaste pass_through con la v2.29.1 o una versión posterior del cliente de la API de WhatsApp Business.

Si quisieras recibir la devolución de llamada de estado de lectura, desactiva la configuración pass_through de la app. Ten en cuenta que es posible que el almacenamiento en bases de datos crezcan rápidamente si desactivas pass_through. Consulta la documentación sobre administración de bases de datos para obtener más información sobre cómo administrar tus bases de datos.

Errores

Esta falla se produce por un error en una antigua versión de cliente iOS. Esperamos que estos errores disminuyan con el tiempo a medida que se implementen actualizaciones generales.

Verifica primero los errores críticos en las devoluciones de llamada para diagnosticar el problema.

Si observas el mensaje "Conflicto: Se detectaron varias instancias que comparten el mismo número.", deberás verificar tus contenedores. Lo más probable es que la causa sea que haya varios contenedores de Docker intentando conectarse a los servidores de WhatsApp utilizando la misma cuenta de WhatsApp. Asegúrate de que solo haya un contenedor en funcionamiento. Si tienes contenedores antiguos, ciérralos y el error desaparecerá.

Si quieres probar nuestra solución de alta disponibilidad más complicada, consulta la documentación Alta disponibilidad.

Este es un problema conocido. A veces actualizar el cliente de la API de WhatsApp Business utilizando los scripts de CloudFormation da como resultado que también sea necesario actualizar la pila de DB RDS. La nueva pila de RDS no tendrá el mismo nombre de host que la pila original y los contenedores de Docker no podrán conectarse a la base de datos. La solución es utilizar SSH en la instancia de EC2 creada por CloudFormation, actualizar el archivo whatsapp.conf con el nuevo nombre de host y, luego, reiniciar los contenedores de Docker para que puedan seleccionar la nueva configuración.

Este error se produce cuando la base de datos no se ha configurado correctamente.

  • Asegúrate de estar utilizando la versión de MySQL 5.7 o una versión posterior, o bien, PostgreSQL 9.5.x, 9.6.x, 10.x.
  • La contraseña de la base de datos no debe contener ninguno de estos caracteres: ?{}&~!()^.
  • Si utilizas AWS, asegúrate de que tu pila tenga un nombre corto. Consulta la documentación sobre Instalación para obtener más información.

Esto sucede si el puente de Docker está dañado. La mejor solución para esto es detener el servicio de Docker y reiniciarlo. Además, puedes intentar docker restart en tus contenedores.

Un error de "conexión rechazada" probablemente signifique que la app principal no está funcionando. Utiliza docker ps para ver si la app principal está funcionando. Si no es así, revisa los registros de Docker. Es posible que la app principal no pueda conectarse a la base de datos. Asegúrate de que tu base de datos esté configurada correctamente.

Existen muchos motivos para esto. Es posible que tu app principal esté caída o que tu base de datos no esté configurada correctamente. Si no sucede ninguna de estas cosas, revisa los registros de tu app principal (o los registros maestros de la app principal si estás utilizando múltiples conexiones). Si ves errores de conexión de base de datos, es probable que tu base de datos se esté quedando sin conexiones. Consulta la documentación de MySQL o la documentación de PostgreSQL para obtener información sobre este error.

Te recomendamos incrementar el número de conexiones a la base de datos en tu base de datos. 1000 conexiones a la base de datos debería ser un número seguro, pero toma una decisión bien fundada sobre el número de conexiones que necesites. Si el error persiste, abre un ticket de asistencia.

Si te aparece este error pero el parámetro obligatorio faltante al que se hace referencia está definido en el cuerpo JSON, podría ser un error del análisis JSON. Este error se produce cuando la carga completa JSON no puede analizarse debido a errores de formato de JSON. Verifica que no haya caracteres JSON inválidos en los valores de esos parámetros, como un retorno de carro al final. Algunas veces los parámetros se copian con espacios adicionales en blanco que pueden contener caracteres que rompen el formato JSON.

Los errores de "estructura no disponible" se producen cuando el teléfono no puede leer el mensaje de plantilla.

Las plantillas se almacenan en el servidor. Cuando se envía un mensaje de plantilla con el nodo messages ,solo se envían al teléfono los parámetros localizados, el espacio de nombres, el idioma y el nombre de elemento, pero no el mensaje completo. Una vez que estos valores se entregan al teléfono, este intenta representarlos para mostrar un mensaje.

Si se produce algún error al representarlo, se envía un error structure unavailable a la URL de la devolución de llamada que contiene el identificador del destinatario y del mensaje. Estos errores pueden deberse a espacios de nombre incorrectos, un error de coincidencia en el parámetro localizado, un nombre de elemento incorrecto, etc.

Ve a "Administrador de WhatsApp" en tu cuenta de Administrador comercial de Facebook para ver el número de parámetros correcto. Vuelve a comprobar que el espacio de nombre sea correcto y que el nombre de elemento exista.

Una fuente de errores común es no crear traducciones para todas las plantillas que están en uso. Por ejemplo, si cuentas con dos plantillas que sueles enviar y agregas una traducción a un nuevo idioma de una plantilla, asegúrate de agregar también esa traducción a un nuevo idioma de la otra plantilla. Si tienes pensado comunicarte en más de un idioma, deberás proporcionar las traducciones de todas las plantillas en todos los idiomas admitidos.

La buena noticia es que los errores structure unavailable suelen deberse a errores en la llamada a la API messages y se pueden solucionar si se cambia la carga de envío.

Antes de enviar un mensaje, debes comprobar si existe el contacto. Consulta la Documentación sobre contactos para obtener más información acerca del proceso.

Este error se debe a que la app principal aún no se ha inicializado. Significa que el registro puede no haberse realizado correctamente. Vuelve a intentar el registro antes de hacer una llamada a otro extremo. El primer paso después de instalar la API de WhatsApp Business es iniciar sesión. El segundo paso es registrarse. Estos dos pasos son necesarios antes de realizar solicitudes a cualquier otro extremo.

Todas las compilaciones del cliente de la API de WhatsApp Business tienen un plazo de caducidad de 6 meses desde la fecha de lanzamiento. Si ves este error, actualiza a la versión más reciente lo antes posible.

WhatsApp realiza experimentos para medir y comprender el impacto de las notificaciones de la API de WhatsApp Business en la experiencia del usuario y en el producto en general. Si el usuario al que envías un mensaje pertenece a uno de estos experimentos, puede que no reciba tus notificaciones incluso aunque haya elegido hacerlo.

Si recibes un error similar al siguiente al configurar tu implementación de AWS, intenta cambiar el nombre de la pila por uno que tenga 8 caracteres o menos.

Nombre de país (código de letra 2) [AU]:Nombre de estado o provincia (nombre completo) [Some-State]:Nombre de localidad (por ejemplo, ciudad) []:Nombre de organización (por ejemplo, compañía) [Internet Widgits Pty Ltd]:Nombre de unidad organizativa (por ejemplo, sección) []:Nombre común (por ejemplo. servidor FQDN o TU nombre) []:la cadena es demasiado larga, el nombre común debe tener menos de 64 bytes de largo (por ejemplo, servidor FQDN o TU nombre) []:Dirección de correo electrónico []:error, no se especifican objetos en los problemas de archivo de config lo que hace que el dispositivo de Solicitud de Certificado Creada sea clave para internal-wa-inc-name-LB-123456789.ap-southeast-1.elb.amazonaws.com

Se devuelve un objeto de profile vacío si el perfil de la empresa solo se completó parcialmente. Actualiza a la versión v2.21.4 para resolver este problema.

Consulta la documentación sobre configuración del perfil de la empresa para obtener más información sobre cómo completar el perfil de la empresa.

El código de error 471 se refiere a los límites de frecuencia basados en la calidad. Consulta la documentación de límites de frecuencia basados en la calidad para obtener más información.

Los siguientes son errores de validación del lado del envío de la plantilla de mensaje. Los motivos por los que pueden aparecer son los siguientes:

  • "No existen plantillas de mensaje en el idioma tu idioma" o "No existen plantillas de mensaje en el idioma tu idioma y en la configuración regional tu configuración regional". El paquete de idioma indicado no existe. Verifica tu cuenta de administrador comercial.
  • "La plantilla nombre de tu plantilla no existe en el idioma tu idioma" o "La plantilla nombre de tu plantilla no existe en el idiomatu idioma y en la configuración regional tu configuración regional". Estás intentando utilizar una plantilla que no existe (no se ha creado o aún no ha sido aprobada). Si intentas enviar un mensaje con una plantilla eliminada, también obtendrás este error.
  • "El número de localizable_params num1 no coincide con el número esperado de params num2". Estás intentando enviar un mensaje de plantilla con parámetros que no coinciden con el número de parámetros esperado. Verifica que tu invocación de API sea correcta.
  • "nombre de tu plantilla es una plantilla enriquecida y requiere el uso de la API de mensajes de plantilla". Estás intentando enviar una plantilla de mensaje multimedia como plantilla de mensaje normal. Asegúrate de que el tipo de mensaje sea template. Consulta la documentación sobre plantillas de mensajes para obtener más información.
  • Una vez aprobadas las plantillas en el administrador comercial (o eliminadas), el cliente de la API de WhatsApp Business puede demorar hasta 20 minutos en recibir las plantillas actualizadas. Si intentas enviar un mensaje con una plantilla que se acaba de aprobar, y obtienes un error que indica que la plantilla no existe, puedes volver a intentar enviar el mensaje después de esperar el tiempo especificado anteriormente.

En el caso de los clientes de la API de WhatsApp Business que utilizan la versión v2.21.6, cuando el cliente se desconecta del servidor este puede permanecer desconectado durante algunos minutos (hasta 4 minutos) y luego volver a intentar conectarse. La actualización a la versión v2.23.4 permite reducir el tiempo de inactividad del cliente en caso de intentar una conexión al servidor.

Antes de la versión v2.29.x, el tamaño de la lista de mensajes salientes podía seguir aumentando hasta generar un error. La actualización a v2.29.3 resuelve este error.

La app principal comprobará los directorios /usr/local/waent/data y /usr/local/waent/log dentro del contenedor de la misma y se asegurará de que haya, por lo menos, 10 MB de almacenamiento, de lo contrario, mostrará este error crítico.

Revisa tus registros y los datos del directorio para asegurarte de tener suficiente espacio.

Otros

Actualmente, no hay forma de hacer esto. Si no puedes administrar las respuestas entrantes de tus usuarios en WhatsApp, te sugerimos enviar un mensaje de respuesta automática que los redireccione a tus canales de asistencia adecuados.

Deberías registrar un segundo número de teléfono y configurar una segunda pila de CloudFormation o una instancia de Docker para la prueba. Si tienes dos clientes de la API de WhatsApp Business activos que usan el mismo número de teléfono, el servidor te expulsará porque las claves de cifrado entrarán en conflicto. Te recomendamos tener un segundo entorno que puedas usar para probar tu instancia que no es de producción antes de realizar algún tipo de migración a tu cliente de producción.

Verificar el estado es gratis y puede consultarse con la frecuencia que sea necesaria.

Consulta la documentación Estadísticas para obtener más información sobre las estadísticas de la app y la base de datos que puedes consultar. Las estadísticas de la app se almacenan en la memoria y no es caro hacer la consulta. Las estadísticas de la base de datos requieren de más recursos y solo se deben consultar en caso de ser necesario.

Nadie notifica a tu empresa cuando un cliente cambia su número de teléfono de WhatsApp. Si utilizas el nodo contacts, el estado para ese número será invalid.

Si el número de teléfono de un cliente queda inactivo, pero el cliente aún está utilizando WhatsApp, el cliente seguirá teniendo acceso a WhatsApp hasta que el número de teléfono se reasigne o vuelva a registrarse.

WhatsApp verifica con seguridad si un número proporcionado pertenece realmente a un teléfono. El hecho de que un usuario tenga una cuenta de WhatsApp es la prueba de que se ha confirmado el número y de que nadie más ha utilizado ese número para registrarse en WhatsApp posteriormente. Sin embargo, esto no permite garantizar la ubicación física de la tarjeta SIM.

Por otro lado, si un usuario pierde su teléfono o se lo roban, puede desactivar su cuenta de WhatsApp. Para obtener más información sobre cómo los usuarios pueden desactivar sus cuentas, consulta Preguntas frecuentes sobre teléfonos perdidos y robados.

No, no hay forma de que la API de WhatsApp Business detecte si varios dispositivos utilizan el mismo número de teléfono.

La carga de mensaje de un usuario puede ser un archivo multimedia o de texto.

En el caso de los mensajes de texto, no creemos que exista ningún peligro identificado.

En el caso de los archivos multimedia:

  • Por lo general, se espera que las empresas utilicen algún tipo de software de protección (es decir, antivirus, antimalware, etc.) para analizar cualquier posible amenaza.
  • WhatsApp no puede identificar ni comprobar el contenido de un archivo que se transfiere ya que está cifrado de extremo a extremo (lo mismo aplica al contenido de solo texto).
  • Existe una opción para evitar que los archivos multimedia se descarguen de manera automática en el cliente de la API de WhatsApp Business. Si la empresa no quiere recibir ningún archivo de los usuarios, puede configurar el campo auto_download como matriz vacía.

Contáctate con el servicio de asistencia para brindar cualquier información que tengas. Investigaremos y bloquearemos cualquier número falso.

A partir de la versión v2.18.26, el extremo de estadísticas de app permite la exportación de métricas internas en formato de texto Prometheus. Consulta la documentación de supervisión de instancias para obtener más información.

El cliente de la API de WhatsApp Business en las instalaciones requiere de una base de datos con el objetivo de almacenar claves para descifrar los mensajes que una empresa intercambia con los clientes. Todos los mensajes de WhatsApp se cifran con claves del emisor y receptor. Las claves del cliente se almacenan en su dispositivo móvil, mientras que las de la empresa se almacenan en su base de datos. Obtén más información acerca de la seguridad de WhatsApp.

La API de la nube de WhatsApp es una alternativa en la que Meta almacena la base de datos de una empresa. La API de la nube te permite implementar las API de WhatsApp Business sin necesidad de contar con tus propios servidores. Más información.