En este documento, se explica cómo migrar números de teléfono del negocio desde la API de instalaciones locales a la API de la nube.
Ten en cuenta que migrar un número de teléfono de una API a otra no es lo mismo que migrar un número de una cuenta de WhatsApp Business (WABA) a otra.
Para realizar una migración de la API de la nube a la API de instalaciones locales, consulta Migrar de la API de la nube a la API de instalaciones locales.
El proceso de migración implica generar metadatos sobre el número de teléfono del negocio y, luego, usar esos datos para registrar el número a fin de usarlo con la API de la nube. A su vez, esto anula el registro del número de la API de instalaciones locales, ya que solo se puede registrar un número a la vez para usarlo con una API.
La migración NO afecta lo siguiente:
Sin embargo, para apoyar la migración, debes conocer todas las diferencias entre las API y tomar las medidas adecuadas para abordarlas antes de realizar los pasos de migración que se describen en este documento.
Debes tener una app de Meta Business que sea capaz de usar la API de la nube y la API del administrador comercial con datos de clientes incorporados, y de procesar los webhooks de la API de la nube y la API del administrador comercial. La app también debe estar asociada a tu cuenta comercial de Meta verificada, o bien dicha cuenta debe haber reclamado la app.
Si no tienes una app de negocios de Meta o si tienes una, pero no configuraste el producto de WhatsApp en ella, sigue los pasos de la guía de primeros pasos de la API de la nube. Al completar estos pasos, se generarán todos los recursos necesarios para probar la API de la nube y la API del administrador comercial.
Tu app de Meta debe someterse a revisión y recibir la aprobación (es decir, tener acceso avanzado) en relación con los permisos whatsapp_business_messaging y whatsapp_management.
Después de asegurarte de que tu app pueda manejar todas las diferencias entre las API, te recomendamos primero migrar un número de teléfono de empresa de bajo volumen y verificar que toda la funcionalidad que deseas ofrecer con la API de la nube funcione correctamente. Después de verificar que todo funciona correctamente, migra más números.
También te recomendamos que realices la migración cuando el tráfico a tu API de instalaciones locales sea reducido.
Las siguientes funciones de la API de instalaciones locales no son compatibles con la API de la nube o reciben un tratamiento diferente por parte de ella. Asegúrate de que tu app pueda manejar estas diferencias antes de comenzar el proceso de migración.
Las estructuras de la carga útil de los webhooks de la API de la nube y la API del administrador comercial son diferentes de las estructuras de la carga útil de la API de instalaciones locales. Te recomendamos crear un nuevo punto de conexión de webhooks que pueda gestionar exclusivamente la API de la nube y la API del administrador comercial.
Consulta los siguientes documentos para entender las diferencias entre las cargas útiles y cómo configurar webhooks en tu app a través del panel de apps:
Ten en cuenta que después de migrar un número de teléfono del negocio a la API de la nube, debes usar el punto de conexión Cuenta de WhatsApp Business > Apps suscritas para suscribir tu app de Meta a los webhooks de la WABA asociada al número del negocio:
curl -X POST 'https://graph.facebook.com/v17.0/<WABA_ID>/subscribed_apps' \ -H 'Authorization: Bearer EAAJB...'
Una vez que se haya completado la migración a la API de la nube, se dejarán de entregar los webhooks de la API de instalaciones locales del número de teléfono del negocio. A partir de ese momento, comenzará la entrega de los webhooks de la API de la nube.
No pueden usarse los identificadores de contenido multimedia de cualquier contenido subido a la API de instalaciones locales cuando se envían mensajes mediante la API de la nube. Por ello, debes volver a subir contenido multimedia usando la API de la nube con el fin de generar nuevos identificadores de contenido multimedia o de usar URL de contenido multimedia, si este contenido está alojado en un servidor público. Consulta Mensajes de contenido multimedia y Plantillas de mensajes basadas en contenido multimedia.
Ten en cuenta que, para garantizar la integridad de los mensajes, algunos dominios de alojamiento de contenido multimedia que permite la API de instalaciones locales no los permite la API de la nube. Si usas un servicio de alojamiento para tu contenido multimedia, te recomendamos probar las URL de contenido multimedia en mensajes sin formato y mensajes de plantilla antes de realizar la migración. Si crees que tu organizador está bloqueado por error, contacta al servicio de asistencia.
Los códigos de error de la API de la nube y la API del administrador comercial son diferentes de los códigos de error de la API de instalaciones locales. Consulta los siguientes documentos:
La API de instalaciones locales identifica los mensajes de presionar para hablar (PTT) en los webhooks configurando messages.type
en voice
, pero la API de la nube identifica los mensajes PTT configurando messages.audio.voice
en true
.
La API de la nube no admite los paquetes de stickers.
El tiempo de inactividad comienza a correr tan pronto como se realiza el paso final de migración (registrar el número para su uso con la API de la nube) y solo debería ser de unos segundos. Durante este tiempo, los mensajes enviados al número por usuarios de WhatsApp se descartarán de forma discreta.
Te recomendamos especialmente programar la migración para un momento en que el número experimente baja actividad. De esta manera, se puede minimizar cualquier impacto que pueda tener el tiempo de inactividad.
Si hay dos o más fragmentos en ejecución en el número de teléfono comercial de instalaciones locales, este se actualizará automáticamente a alto volumen en la API de la nube.
Si estás migrando un número de teléfono de empresa que tiene un estado de cuenta de empresa oficial (OBA) , su estado se conservará si incluyes los metadatos (generados en el paso 2) al registrarlo (paso 3). Si omites estos datos, el número perderá su estatus de OBA.
Si tienes preguntas o necesitas ayuda con la migración, envía un ticket de asistencia directa que incluya:
Si conoces el PIN del número de teléfono del negocio, puedes omitir este paso.
Necesitarás el PIN del número de teléfono del negocio al realizar el paso 3. Por tanto, si no lo conoces, primero debes desactivar la verificación en dos pasos en el número de teléfono del negocio. Si no tienes el número de teléfono del negocio, pide al propietario que la desactive.
Utiliza la API de copia de seguridad y restauración para generar metadatos sobre el número de teléfono de tu negocio.
POST /v1/settings/backup { "password": "<PASSWORD>" }
<PASSWORD>
puede ser cualquier cadena. Este valor se usará para codificar los metadatos. Tenlo presente, ya que lo necesitarás en el paso siguiente.
{ "settings": { "data": "<METADATA>" }, "meta": { "api_status": "<API_STATUS>", "version": "<API_VERSION>" } }
La API devolverá una cadena codificada asignada a la propiedad data
que describe el número de teléfono de tu negocio y su configuración. Captura este valor, ya que lo necesitarás en el siguiente paso.
<METADATA>
: se trata de la cadena codificada que describe el número de teléfono de tu negocio y su configuración. Captura este valor, ya que lo necesitarás en el siguiente paso.<API_STATUS>
: se refiere al estado de la implementación de la API de instalaciones locales.<API_VERSION>
: número de versión de la API de instalaciones locales que está en ejecución.curl 'https://localhost:9090/v1/settings/backup' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer EAAJB...' \ -d ' { "password": "tacocat" }'
{ "settings": { "data": "V0FCS..." }, "meta": { "api_status": "stable", "version": "2.49.3" } }
No se necesita una contraseña de un solo uso (OTP) si los metadatos de la copia de seguridad del Paso 2 mencionado antes se envían correctamente y sin modificaciones a la API de la nube durante el Paso 3 (este paso).
Usa el punto de conexión Número de teléfono de WhatsApp Business > Registro de la API de la nube para registrar el número, a fin de usarlo con la API de la nube.
Incluye el valor de metadatos del número de teléfono comercial codificado y la contraseña del paso anterior. Aunque se puede registrar el número sin estos datos, se perderán los datos del perfil del número de teléfono del negocio si no se incluyen, lo que puede afectar el estado de la cuenta de WhatsApp Business como cuenta de empresa oficial.
POST /<BUSINESS_PHONE_NUMBER_ID>/register
{ "messaging_product": "whatsapp", "pin": "<NEW_OR_EXISTING_PIN>", "backup": { "password": "<PASSWORD>", "data": "<METADATA>" } }
<NEW_OR_EXISTING_PIN
: PIN preexistente o PIN que quieres establecer en relación con el número de teléfono del negocio.<PASSWORD
: contraseña que usaste para generar los metadatos del número de teléfono de tu negocio en el paso anterior.<METADATA
: se trata de la cadena codificada que describe el número de teléfono de tu negocio y su configuración, que se generó en el paso anterior.{ "success": <SUCCESS> }
La API responderá con success
en true
si el registro es correcto, o bien, en false
si se produjo un error.
curl 'https://graph.facebook.com/v21.0
/110200345501442/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"pin": "134568",
"backup": {
"password": "tacocat",
"data": "V0FCS..."
}
}'
{ "success": true }
Solicita el campo health_status
en el número de teléfono del negocio y verifica que se pueda usar para los mensajes que se cursan con la API de la nube. Consulta Estado general de los mensajes.