Estamos retirando la API local. Consulta nuestro documento Retirada de la API local para obtener más información y aprender a migrar a nuestra API de nube de nueva generación.

Preguntas frecuentes sobre la API local

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

Introducción

WhatsApp considera que las comunicaciones con los usuarios de la API de WhatsApp Business que administran el extremo en los servidores que controlan están cifradas de extremo a extremo, ya que ningún tercero puede acceder al contenido entre los extremos.

Algunas organizaciones pueden optar por delegar la administración de su extremo de la API de WhatsApp Business a un proveedor de soluciones empresariales de terceros. En estas instancias, la comunicación sigue utilizando el mismo protocolo Signal para el cifrado. Sin embargo, debido a que el usuario de la API de WhatsApp Business ha elegido a un tercero para administrar su extremo, WhatsApp no considera que estos mensajes estén cifrados de extremo a extremo. En el futuro, en 2021, esto también se aplicará a las empresas que decidan aprovechar la versión de la API basada en la nube y que aloja Facebook.

Además, si utiliza HTTPS al realizar llamadas al cliente de la API de WhatsApp Business, los datos se cifran con SSL (del cliente de back-end al cliente de la API de WhatsApp Business).

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

No, solo puede haber una única cuenta por instancia. Si necesitas una segunda cuenta de prueba, utiliza otro número para la segunda instancia.

No. En cualquier momento dado, solo puedes tener una instancia del cliente de la API de WhatsApp Business en ejecución para un solo número de teléfono. En cuanto registres una segunda instancia, la primera se iniciará y generará un error. Estamos trabajando para encontrar una solución adecuada que te permita lograrlo. Te mantendremos informado sobre cualquier actualización disponible.

El cliente de la API local de WhatsApp Business necesita una base de datos en la que almacenar las claves para descifrar los mensajes intercambiados entre una empresa y sus clientes. Todos los mensajes de WhatsApp se cifran con claves de remitente y destinatario. Las claves del cliente se almacenan en su dispositivo móvil y las claves de la empresa, en la base de datos de la empresa. Obtén más información sobre la seguridad de WhatsApp.

La API de nube de WhatsApp Business es una alternativa en la que Meta hospeda la base de datos de una empresa. La API de nube te permite implementar las API de WhatsApp Business sin incurrir en el coste de hospedar tus propios servidores. Obtén más información.

No. Actualmente, no hay ninguna forma de ejecutar varios números en la misma configuración de cliente de la API de WhatsApp Business. Estamos trabajando para encontrar una solución adecuada que permita hacerlo 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í! De forma predeterminada, el cliente de la API de WhatsApp Business intenta comunicarse mediante chatd a través del puerto 5222. Para maximizar la experiencia, abre el puerto 5222 para todo el tráfico de salida. Esto no supone ningún riesgo para la seguridad, ya que el tráfico solo sale desde el centro de datos.

Si no puedes abrir el puerto 5222, el cliente de la API de WhatsApp Business intenta utilizar el puerto 443. Si el firewall o el proxy sigue terminando las conexiones, envía una pregunta al equipo de WhatsApp mediante la asistencia directa para depurar.

No. El cliente de la API de WhatsApp Business abre una conexión TCP saliente al puerto 5222 o 443 en los servidores de WhatsApp. El tráfico TCP se produce en esta conexión de larga duración. Habitualmente, los firewalls lo clasifican como permitir "el tráfico saliente y el tráfico establecido". Evidentemente, los paquetes fluirán en ambas direcciones una vez establecida la conexión. Sin embargo, el inicio de la conexión proviene del cliente de la API de WhatsApp Business, por lo que no es necesaria una regla para permitir las conexiones entrantes.

Los requisitos dependen de la carga y de la situación. La solución se ejecutará en cualquier máquina conectada a internet que ejecute Docker. Por ejemplo, las pruebas simples se pueden realizar en un portátil.

Para una configuración de servidor de producción de instancia única, se recomienda, como mínimo, SSD de 250 GB, 16 GB de RAM y CPU de 4 núcleos. No se recomienda usar HDD porque, con carga, las velocidades de E/S se convertirán en cuellos de botella.

Para una configuración de servidor de producción de conexión múltiple, se recomienda, como mínimo, SSD de 50 GB, 4 GB de RAM y CPU de 2 núcleos para cada contenedor de aplicación principal, maestro o aplicación web.

En la mayoría de los casos, tendrás que ejecutar la base de datos en un servidor físico aparte desde los contenedores de aplicación principal y aplicación web. El servidor de base de datos debe presentar solo unos milisegundos de latencia respecto a los equipos informáticos.

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

Se requiere MySQL 5.7.x, PostgreSQL 9.5.x, 9.6.x, 10.x. Si se utiliza una versión anterior, se producirá un error Unable to initialize config store.

Para configurar MySQL localmente mediante Docker, consulta la Guía para MySQL con Docker.

Para configurar PostgreSQL localmente mediante Docker, consulta la Guía para PostgreSQL con Docker.

En la mayoría de los casos, tendrás que ejecutar la base de datos en un servidor físico aparte desde los contenedores de aplicación principal y aplicación web. El servidor de base de datos debe presentar solo unos milisegundos de latencia respecto a los equipos informáticos.

Una lista de autorizados se puede crear con nombres de host o direcciones IP.

Consulta la sección Nombres de host de la documentación de Requisitos de red para obtener más información.

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

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 proporcionar una base de datos MySQL/PostgreSQL a la que puedan conectarse los contenedores. Si se usa la plantilla de AWS, se configura una base de datos MySQL de forma predeterminada.

No. Actualmente, el cliente de la API de WhatsApp Business no puede ejecutarse en Docker para Windows. Para cubrir las necesidades de desarrollo, la solución recomendada consiste en utilizar una máquina virtual Linux y ejecutar Docker en ella. Para las cargas de trabajo de producción, se recomienda utilizar un servidor de Linux para evitar problemas de compatibilidad y rendimiento.

Para reiniciar los contenedores de Docker, puedes ejecutar el código siguiente:

Contenedor de Docker de la aplicación principal

docker restart wacore<Current_WABA_Version>

Contenedor de Docker de la aplicación web

docker restart webapp<Current_WABA_Version>

Puedes consultar la versión que estás ejecutando con

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 se puede disparar externamente para limpiar los antiguos registros de un contenedor.

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

El script funciona tanto en los contenedores de aplicaciones web como en los de aplicaciones principales. Al ejecutar el script, los antiguos archivos de registro se quitarán de modo que solo quedarán 30 archivos de registro del contenedor.

A medida que se ocupe el espacio, puede que el sistema empiece a ralentizarse. Algunos motivos posibles son la gran cantidad de mensajes y archivos multimedia, así como los archivos de registro de gran tamaño. Los archivos de registro rotan automáticamente, pero, si empiezan a hacerse grandes, puedes eliminarlos con seguridad.

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

Los archivos multimedia que te envían los usuarios se descargan en los volúmenes multimedia. La empresa decide qué archivos multimedia se eliminan, pero, en general, se puede eliminar con seguridad cualquier archivo multimedia. Puedes utilizar docker inspect your-container-id para averiguar dónde está la carpeta de volúmenes multimedia.

Sí, la base de datos se puede utilizar de otras maneras sin tocar las tablas relacionadas con WhatsApp.

Las tablas de base de datos almacenan información relacionada con la configuración de la aplicación, conversaciones de chat, mensajes, contenido multimedia, etc., que la aplicación necesita para funcionar.

La versión v2.25.x mejora el rendimiento de entrada y salida respecto a versiones anteriores. Esta optimización depende de la creación de conexiones de base de datos adicionales. En el caso de algunas implementaciones, esto puede provocar un aumento en el número de conexiones de la base de datos y que se alcancen los límites configurados. Para mantener el aumento en el rendimiento, puedes incrementar el número máximo de conexiones que puede aceptar tu servidor de bases de datos. Si no es posible, puedes cambiar el parámetro axolotl_context_striping_disabled para inhabilitar este comportamiento. Consulta la documentación Configuración de las aplicaciones para obtener más información sobre cómo hacer este cambio.

La recolección de elementos no utilizados de la base de datos limpia de manera periódica las tablas messages y messages_reciept_log para simplificar la administración de la base de datos.

El recolector de elementos no utilizados conserva determinados mensajes a fin de que se entreguen y procesen correctamente. Por ejemplo, conserva un mensaje entrante durante un periodo de tiempo determinado para que las integraciones empresariales puedan marcarlo como leído.

La aplicación principal realiza la recolección de elementos no utilizados a intervalos aleatorios (p. ej., cada varias horas). De este modo, se evita una posible pérdida de rendimiento en las pilas de alta disponibilidad debido a la contención de la base de datos.

La recolección de elementos no utilizados funciona de forma independiente a la cola de devolución de llamada. Por ejemplo, si un servidor de webhooks no está disponible durante cuatro días, las devoluciones de llamada se almacenarán para entregarse cuando se restaure la conectividad con el servidor de webhooks.

Utiliza el extremo de la API services de la recoleccción de elementos no utilizados de la base de datos para purgar los mensajes y sus recibos correspondientes desde las tablas messageStore.messages y messageStore.messages_receipt_log.

Registro

Si realizas una copia de seguridad de tu configuración actual y la restauras en la máquina nueva, la información de registro deberá pasarse con el resto de la implementación. Consulta la documentación sobre la configuración de la copia de seguridad y la restauración para obtener más información.

Autenticación

Al cerrar la sesión de un usuario mediante el extremo users, se invalidarán todos los identificadores de autenticación asignados a esa cuenta. Eliminar un usuario tiene el mismo efecto, aunque es una solución mucho más drástica. Recuerda que, al iniciar la sesión de un usuario desde el extremo users, se devolverá un nuevo identificador de autenticación, pero no se invalidarán los identificadores de autenticación que ya están en circulación para el usuario. Cualquiera que posea un identificador aprovisionado previamente, lo podrá seguir utilizando hasta que caduque o se invalide mediante uno de los métodos mencionados anteriormente.

Envío de mensajes

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

Puede haber varios motivos por los que la frecuencia de entrega no se encuentra al 100 %. Algunos de los casos frecuentes incluyen a usuarios que acceden de forma esporádica a la red o que han estado inactivos durante un periodo de tiempo o la creación de una experiencia de usuario de alta calidad.

Los mensajes que se pueden entregar con WhatsApp tendrán una frecuencia de entrega muy alta. Sin embargo, hay varios motivos por los que puede que un mensaje no se entregue. Tendrás acceso al estado exacto de un mensaje si supervisas las devoluciones de llamada. Este es diferente al envío de mensajes con SMS, por ejemplo, donde no tienes acceso al estado de entrega final y, si reenvías el mensaje, se puede producir un resultado diferente.

Los mensajes pueden quedarse pendientes de envío debido a que el teléfono del usuario se encuentra fuera de servicio, no tiene batería o se perdió y al obtener uno nuevo se ha desactivado la SIM. Es posible que exista algún error por el que el cliente empresarial no pueda 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 llamada de recepción del servidor para saber si el mensaje llegó a la nube del servidor de WhatsApp.

Siempre y cuando un usuario vuelva a conectarse a la red, todos los mensajes que hayas enviado se le entregarán. La recepción de más de un mensaje con el mismo contenido será una mala experiencia para el usuario y será más probable que te bloquee o se queje. Además, será más probable que se prohíba tu participación en el servicio.

Si envías un mensaje y recibes un identificador de mensaje de la API, ya has hecho todo lo posible por enviar el mensaje. No vuelvas a enviar el mismo contenido al mismo destinatario.

Si observas frecuencias de entrega bajas durante un periodo prolongado de tiempo, envía un ticket de asistencia con Asistencia directa.

Cuando envías un mensaje, en cuanto recibes un identificador de mensaje, eso significa que la solicitud de mensaje se ha almacenado en la base de datos. El cliente de la API de WhatsApp Business seguirá intentando enviar el mensaje hasta que el servidor de WhatsApp lo confirme. Este proceso no tiene línea temporal final. A continuación, el servidor de WhatsApp intentará entregar el mensaje al teléfono del usuario. Si el teléfono del usuario no está en línea, el mensaje se almacenará durante 30 días antes de que lo descarte el servidor de WhatsApp.

Actualmente, no hay ninguna forma de saber cuántos ni qué usuarios han bloqueado tu empresa. El mejor indicador sería escuchar las devoluciones de llamada de estado y, si no recibes el estado delivered, puede que el usuario haya bloqueado tu empresa o que no tenga conexión de red. Para obtener más detalles, consulta la documentación sobre webhooks.

Si un usuario ha bloqueado la empresa, la API de contactos seguirá devolviendo el número de teléfono como usuario de WhatsApp válido. Sin embargo, al enviar el mensaje, no se entregará. Si se trata de un mensaje de pago, no se te cobrará.

En un escenario de consumo normal, esta es la opción predeterminada cuando el remitente no está en la libreta de direcciones y no has enviado ningún mensaje al remitente en el pasado. En el escenario empresarial, una empresa debe utilizar plantillas de mensaje al interactuar con un usuario para establecer "confianza". Al hacerlo, el cliente de la API de WhatsApp Business podrá respetar la configuración de descarga automática desde la aplicación.

En un escenario de consumo normal, esta es la opción predeterminada cuando el remitente no está en la libreta de direcciones y no has enviado ningún mensaje al remitente en el pasado. En un escenario empresarial, una empresa debe utilizar plantillas de mensaje al interactuar con un usuario para establecer "confianza". Al hacerlo, el cliente de la API de WhatsApp Business podrá mostrar el enlace y el usuario podrá hacer clic en él.

Por supuesto. Ponte en contacto con tu representante de WhatsApp y realiza la solicitud.

No, no se garantiza que los mensajes lleguen en el mismo orden en que se enviaron. Si el orden es crítico para tu caso de uso, el enfoque sugerido es esperar a escuchar la llamada de entrega del primer mensaje antes de enviar el segundo.

Al utilizar el nodo messages, debe configurar el encabezado Content-Type como application/json para el cliente de la API de WhatsApp Business a fin de poder analizar el cuerpo del mensaje correctamente. A continuación, también se debe definir un encabezado Authorization, que debe contener un identificador de acceso que no haya caducado. Consulte la documentación de inicio de sesión y autenticación para obtener información sobre cómo obtener el identificador y cuándo caduca.

Sí, antes de enviar un mensaje, envía una llamada de API al nodo contacts. La información recibida al llamar a contacts se almacena en caché en el contenedor. Si no se sigue este paso, es posible que se devuelva un error Unkown Contact. Para obtener más información, consulte la documentación sobre la llamada a contacts.

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 hay ningún mecanismo de limpieza para los archivos multimedia de entrada o salida. Para eliminar manualmente los archivos multimedia, localízalos en tu sistema de archivos.

Para buscar el punto de montaje del volumen 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"
    }
]

A continuación, para ver todos los archivos multimedia entrantes, puedes ejecutar el comando ls con la ruta del archivo Mountpoint recibido:

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

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

El tamaño de archivo máximo que puede cargarse es 64 MB; es decir, que este límite se aplica también a todas las imágenes, documentos o vídeos que envíes con un mensaje.

El momento idóneo para eliminar contenido multimedia es decisión tuya.

Después de subir el contenido multimedia, recibirás un identificador de contenido multimedia, que puedes utilizar para enviar un mensaje que incluya el elemento multimedia subido. Una vez enviado el mensaje multimedia, la API de WhatsApp Business cifrará y subirá el contenido multimedia a los servidores de WhatsApp, donde permanecerá durante un periodo de período de 14 días. Después de este período, puedes optar por eliminar el contenido multimedia, para lo cual debes proporcionar el identificador del contenido multimedia, o bien por mantenerlo para usos futuros. Aunque se recomienda mantener el contenido multimedia durante 30 días, tú decides la política de retención que quieres aplicar en función de la política de tu empresa o del caso de uso específico.

En el caso de las imágenes, el texto se añadirá como descripción. El texto se muestra en toda su longitud para las imágenes, tanto en Android como en iPhone.

En el caso de los documentos, el texto sustituye el nombre de archivo. No está pensado para mostrarse en el dispositivo del usuario como texto descriptivo, sino para mostrar el nombre del archivo. Los teléfonos iPhone muestran el texto completo, mientras que los teléfonos Android lo recortan. Esto es una limitación técnica de la implementación actual de WhatsApp en ambos dispositivos.

Para enviar imágenes como un álbum desde la API de WhatsApp Business, es necesario enviar al menos 4 imágenes seguidas. Si la vista de conversación del usuario está activa en el momento de recibir las imágenes, la vista de álbum no estará disponible hasta la siguiente visita.

No se creará ningún álbum si se cumple alguno de los siguientes criterios:

  1. Imágenes con texto
  2. Separador no leído: el usuario ve algunas imágenes, pero no todas
  3. Encabezado de fecha: nuevo día entre entregas

No, actualmente tenemos que utilizar AWS EFS para compartir el volumen de contenido multimedia entre la aplicación principal y la aplicación web.

No, actualmente no se puede cambiar la ruta predeterminada para el almacenamiento de contenido multimedia (/usr/local/wamedia/). Para funcionar correctamente, todo el contenido multimedia almacenado debe estar en esta ubicación predeterminada.

Plantillas de mensaje

Actualmente, es de 7 días. Si la memoria caché no se actualiza durante más de 7 días, extrae el paquete de idioma más reciente del servidor, independientemente de si el elemento ya existe en el paquete.

Nota: La política de lenguaje fallback se retirará a partir de v2.27.8. Ahora, la política de lenguaje deterministic es la predeterminada.

Si creas una traducción en un nuevo idioma, debes traducir todos los elementos que usas en dicho idioma. De lo contrario, es posible que recibas errores de "estructura no disponible" porque el teléfono del destinatario no encuentra un elemento que espera del idioma en el que está. Estos errores de estructura no disponible se observan al enviar mensajes de plantilla con la política fallback.

Si la creación de traducciones de idioma no es una opción para ti en este momento, puedes utilizar la política deterministic para evitar estos errores.

Webhooks

El cliente de la API de WhatsApp Business te envía las devoluciones de llamada del webhook a través del contenedor de la aplicación principal. Por tanto, es necesario configurar el extremo del webhook para aceptar solicitudes entrantes de la aplicación principal.

Si un webhook no envía la devolución de llamada, esta se pone en la cola de reintento. Cualquier devolución de llamada que se envíe después del error de devolución de llamada inicial no se recibirá. Solo cuando se realice correctamente la devolución de llamada que inicialmente presentaba un error podrán completarse los pasos siguientes.

Si un evento del webhook por cualquier motivo no se entrega (por ejemplo, el cliente no tiene conexión), o si la solicitud del webhook devuelve un código de estado HTTP distinto de 200, la entrega del webhook volverá a intentarse. La entrega seguirá intentándose con tiempos de retraso cada vez mayores hasta agotar un tiempo de espera determinado (normalmente, un plazo de 24 horas, aunque puede variar) o hasta que la entrega se realice correctamente.

Los mensajes duplicados pueden enviarse a un webhook de WhatsApp, ya que la única garantía disponible es que los mensajes se recibirán como mínimo una vez (y no exactamente una vez). Si esta opción afecta la forma en que los mensajes se procesan en tu extremo, se sugiere que dedupliques los mensajes del webhook en función de los identificadores de mensaje.

Comprueba la configuración de la aplicación pass_through. No recibirás ninguna devolución de llamada con el estado leído si has habilitado pass_through con la versión v2.29.1 u otra superior del cliente de la API de WhatsApp Business.

Si quieres recibir la devolución de llamada con el estado leído, inhabilita la configuración de la aplicación pass_through. Ten en cuenta que, al inhabilitar pass_through, el almacenamiento de la base de datos puede aumentar rápidamente. Consulta la documentación Administración de bases de datos para obtener más información sobre cómo administrar tu base de datos.

Errores

Este es ocasionado por un error en una versión anterior del cliente de iOS. Se espera que los errores disminuyan con el tiempo a medida que la población general actualice su cliente.

Primero, examina las devoluciones de llamadas en busca de errores críticos para diagnosticar el problema.

Si se muestra "Conflicto: se detectaron varias instancias que comparten el mismo número", debes comprobar los contenedores. El motivo más probable es que existan varios contenedores de Docker intentando conectarse a los servidores de WhatsApp con la misma cuenta de WhatsApp. Asegúrate de que hay solo un contenedor puesto en marcha. Si tienes contenedores antiguos, desactívalos y el error desaparecerá.

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

Este es un problema conocido. A veces, al actualizar el cliente de la API de WhatsApp Business mediante los scripts CloudFormation, se acaba por requerir una actualización en la pila de DB de RDS. La nueva pila RDS no tendrá el mismo nombre de host que la pila original y los contenedores de Docker no pueden conectarse a la base de datos. La solución es aplicar SSH en la instancia de EC2 creada por CloudFormation, actualizar el archivo whatsapp.conf con el nuevo nombre de host y, a continuación, reiniciar los contenedores de Docker para que utilicen la nueva configuración.

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

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

Se produce si el puente de Docker está dañado. La mejor solución es detener el servicio de Docker y volver iniciarlo. También puedes probar docker restart en tus contenedores.

Un error de "conexión denegada" probablemente indica que la aplicación principal no está en ejecución. Utiliza docker ps para verificar que la aplicación principal está en funcionamiento. De lo contrario, echa un vistazo a los registros de Docker. Es posible que la aplicación principal no pueda conectarse con la base de datos. Asegúrate de que la base de datos esté configurada correctamente.

Puede ser debido a muchos motivos. Es posible que tu aplicación principal se encuentre inactiva o que tu base de datos no se haya configurado correctamente. Si no es el caso, echa un vistazo a los registros de la aplicación principal (o a los registros maestros de la aplicación principal si ejecutas una conexión múltiple). Si ves errores de conexión de la base de datos, es probable que la base de datos se esté quedando sin conexiones. Consulta la documentación de MySQL o la documentación de PostgreSQL sobre este error.

Te recomendamos que aumentes el número de conexiones de tu base de datos. Deberías tener suficiente con 1000 conexiones de la base de datos, pero asegúrate de tomar una decisión bien fundamentada sobre el número de conexiones necesarias. Si el error persiste, abre una solicitud de asistencia.

Si ves este error, pero el parámetro obligatorio faltante al que se refiere está configurado en el cuerpo JSON, podría tratarse de un error de análisis de JSON. Este error puede generarse cuando no es posible analizar toda la carga útil del JSON debido a errores de formato. Examina los valores de esos parámetros en busca de caracteres JSON no válidos, como un retorno de carro al final. A veces, es posible que los parámetros se copien con espacios en blanco adicionales que pueden contener caracteres que interrumpen el 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 un mensaje de plantilla se envía mediante el nodo messages, solo se envían al teléfono el espacio de nombres, el idioma, el nombre del elemento y los parámetros localizados, no el mensaje completo. Una vez que dichos valores se entregan al teléfono, este intenta representar el mensaje.

Si se produce algún error durante la representación, se envía un error structure unavailable a la URL de devolución de llamada que contiene el identificador del mensaje y el destinatario. Estos errores pueden deberse a un espacio de nombres incorrecto, una discrepancia en los parámetros localizados, un nombre de elemento incorrecto, etc.

Ve al Administrador de WhatsApp en tu cuenta de Business Manager de Facebook para ver el número correcto de parámetros. Asegúrate de que el espacio de nombres es correcto y de que el nombre del elemento existe.

Una causa de error común es no crear traducciones de todas las plantillas en uso. Por ejemplo, si tienes dos plantillas que envías generalmente y añades la traducción a un nuevo idioma de una plantilla, asegúrate de añadir también la traducción al nuevo idioma de la otra plantilla. Si tienes previsto admitir más de un idioma, debes proporcionar traducciones de todas las plantillas en todos los idiomas admitidos.

La buena noticia es que los errores structure unavailable se suelen deber a fallos en la llamada a la API messages y, para resolverlos, se puede cambiar la carga útil del envío.

Primero debes comprobar que el contacto exista antes de enviar el mensaje. Para obtener más información sobre cómo hacerlo, consulta la documentación sobre contactos.

Este error se devuelve porque aún no se ha inicializado la aplicación principal. Esto significa que puede que el registro no se haya completado correctamente. Antes de hacer una llamada a otro extremo, prueba el registro. El primer paso después de instalar la API de WhatsApp Business es iniciar sesión. El segundo paso es el registro. Estos dos pasos son necesarios antes de realizar una solicitud a otro extremo.

Todas las compilaciones del cliente de la API de WhatsApp Business tienen un período de caducidad de seis meses a partir de la fecha de lanzamiento. Si se muestra 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 se está realizando un experimento al usuario al que estás enviando mensajes, es posible que no reciba tus notificaciones, aunque haya aceptado recibirlas.

Si recibe un error similar al siguiente al configurar la implementación de AWS, pruebe a cambiar a un nombre de pila de 8 caracteres o menos.

Nombre de país (código de 2 letras) [AU]:Nombre del estado o la provincia (nombre completo) [Algún-estado]:Nombre de la localidad (p. ej., ciudad) []:Nombre de la organización (p. ej., empresa) [Internet Widgits Pty Ltd]:Nombre de la unidad organizativa (p. ej., sección) []:Nombre común (p. ej., servidor FQDN o TU nombre) []:la cadena es demasiado larga; no puede superar los 64 bytes de longitud Nombre común (p. ej., servidor FQDN o TU nombre) []:Dirección de correo electrónico []:error, no se especificó ningún objeto en el archivo de configuración Problemas al crear la solicitud de certificado Se creó la clave del dispositivo para internal-wa-inc-name-LB-123456789.ap-southeast-1.elb.amazonaws.com

Se devolverá un objeto profile vacío si el perfil de empresa solo se rellena parcialmente. Realiza la actualización a la versión v2.21.4 para resolver este problema.

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

El código de error 471 está relacionado con las limitaciones de frecuencia basadas en la calidad. Para obtener más información, consulta la documentación sobre las limitaciones de frecuencia basadas en la calidad.

A continuación se incluyen algunos errores de validación de envío de la plantilla de mensaje junto con algunos posibles motivos:

  • "No existe ninguna plantilla de mensaje en el idioma tu-idioma" o "No existe ninguna plantilla de mensaje en el idioma tu-idioma y la configuración regional tu-configuración-regional": el paquete de idioma especificado no existe. Comprueba tu cuenta de Business Manager.
  • "La plantilla nombre-de-tu-plantilla no existe en el idioma tu-idioma" o "La plantilla nombre-de-tu-plantilla no existe en el idioma tu-idioma y 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 está aprobada). Si intentas enviar un mensaje con una plantilla que se eliminó, también recibirás este error.
  • "El número de parámetros localizable_params num1 no coincide con el número de parámetros num2 que se esperaba": estás intentando enviar una plantilla de mensaje con parámetros que no coinciden con el número de parámetros que se esperaba. Compruebe si la invocación de la API es correcta.
  • "your-template-name es una plantilla avanzada y requiere el uso de la API de mensajes de plantilla": estás intentando enviar una plantilla de mensaje multimedia como plantilla de mensaje estándar. Asegúrate de que el tipo de mensaje sea template. Consulta la documentación Plantillas de mensajes multimedia para obtener más información.
  • Una vez aprobadas (o eliminadas) las plantillas en Business Manager, el cliente de la API de WhatsApp Business puede tardar hasta 20 minutos en recibir las plantillas actualizadas. Si estás intentando enviar un mensaje con una plantilla que se acaba de aprobar y recibes un error que indica que la plantilla no existe, puedes volver a intentar enviar el mensaje después de esperar el tiempo especificado.

En el caso de los clientes de la API de WhatsApp Business que ejecuten la versión 2.21.6, cuando el cliente se desconecte del servidor, es posible que permanezca desconectado durante unos minutos (hasta 4 minutos) y que, a continuación, se vuelva a intentar la conexión. La actualización a la versión 2.23.4 reducirá el tiempo de inactividad del cliente cuando intente conectarse al servidor.

Antes de la versión v2.29.x, era posible que el tamaño de la cola de mensajes saliente aumentará con el tiempo debido a un error. Este problema se soluciona con la actualización a la versión v2.29.3.

La aplicación principal comprobará los directorios /usr/local/waent/data y /usr/local/waent/log de su contenedor y se asegurará de que al menos haya 10 MB de almacenamiento. De lo contrario, devolverá este error crítico.

Revisa los registros y el directorio de datos para asegurarte de que haya suficiente espacio.

Otros

Actualmente, no existe ninguna forma de hacerlo. Si no puedes gestionar las respuestas entrantes de tus usuarios por WhatsApp, te sugerimos que envíes un mensaje de respuesta automático para redirigirles a los canales de asistencia correspondientes.

Debes registrar un segundo número de teléfono e iniciar una segunda pila CloudFormation o instancia de Docker para pruebas. Si tienes dos clientes de API de WhatsApp Business activos con el mismo número de teléfono, el servidor te rechazará porque las claves de cifrado entrarán en conflicto. Es recomendable tener un segundo entorno que puedas utilizar para probar tu instancia de no producción antes de hacer algún tipo de migración en el cliente de producción.

Comprobar el estado es gratis y lo puedes hacer con la frecuencia que quieras.

Lee la documentación sobre las estadísticas para obtener más información sobre las estadísticas de bases de datos y de aplicación que puedes consultar. Las estadísticas de aplicación se almacenan en memoria y su consulta resulta sencilla. Las estadísticas de base de datos requieren más recursos y solo deben consultarse cuando sea necesario.

La empresa no recibe ninguna notificación cuando un cliente cambia su número de teléfono de WhatsApp. Cuando utilices el nodo contacts, el estado del nodo será invalid.

Si el número de teléfono de un cliente pasa a estar inactivo, pero el cliente sigue utilizando WhatsApp, este conservará su acceso a WhatsApp hasta que el número de teléfono se vuelva a asignar o registrar.

WhatsApp se esfuerza por comprobar que un número de teléfono proporcionado realmente corresponde a un teléfono. El hecho de que un usuario tenga cuenta de WhatsApp demuestra que ha confirmado el número y que nadie más ha usado ese número para registrarse en WhatsApp después. Sin embargo, no garantiza la ubicación física de la tarjeta SIM.

Por otra parte, si se pierde o roba el teléfono de un usuario, este puede desactivar su cuenta de WhatsApp. Para obtener más información sobre cómo pueden desactivar su cuenta los usuarios, consulta las preguntas frecuentes sobre teléfonos perdidos y robados.

No, no hay ninguna forma de usar la API de WhatsApp Business para detectar si varios dispositivos utilizan el mismo número.

Una carga útil de mensaje de un usuario puede ser un texto o un archivo multimedia.

En el caso del texto, no se ha identificado ningún peligro.

En el caso de los archivos multimedia:

  • Normalmente, se espera que las empresas dispongan de algún software de protección (p. ej., antivirus, antimalware, etc.) activo para analizar cualquier amenaza potencial.
  • WhatsApp no puede identificar ni comprobar el contenido de un archivo que se transfiere porque está cifrado de extremo a extremo (lo mismo se aplica al contenido solo de texto).
  • Existe una opción para impedir que los archivos multimedia se descarguen automáticamente en el cliente de la API de WhatsApp Business. Si la empresa no quiere recibir ningún archivo de los usuarios, puede definir el campo auto_download en una matriz vacía.

Ponte en contacto con el servicio de asistencia y proporciona toda la información que tengas. Lo investigaremos y cerraremos cualquier número falso.

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

El cliente de la API local de WhatsApp Business necesita una base de datos en la que almacenar las claves para descifrar los mensajes intercambiados entre una empresa y sus clientes. Todos los mensajes de WhatsApp se cifran con claves de remitente y destinatario. Las claves del cliente se almacenan en su dispositivo móvil y las claves de la empresa, en la base de datos de la empresa. Obtén más información sobre la seguridad de WhatsApp.

La API de nube de WhatsApp Business es una alternativa en la que Meta hospeda la base de datos de una empresa. La API de nube te permite implementar las API de WhatsApp Business sin incurrir en el coste de hospedar tus propios servidores. Obtén más información.