Envíe y reciba mensajes usando una versión alojada en la nube de la WhatsApp Business Platform. La Cloud API le permite implementar las APIs de WhatsApp Business sin el coste de alojar sus propios servidores y también le permite escalar más fácilmente su mensajería empresarial. La Cloud API admite hasta 80 mensajes por segundo entre envíos y recepciones combinados (incluyendo mensajes de texto y multimedia).
La API de WhatsApp Business permite a medianas y grandes empresas comunicarse con sus clientes a gran escala. Mediante la API, las empresas pueden crear sistemas que conectan a miles de clientes con agentes o bots, posibilitando tanto la comunicación programática como la manual. Además, puede integrar la API con numerosos sistemas backend, como plataformas de CRM y marketing.
Las empresas recibirán todas las nuevas funcionalidades más rápido en la API en la nube. Actualmente, la API empresarial de WhatsApp Business en la nube incluye todas las funciones disponibles con la API de WhatsApp Business.
Características útiles de WhatsApp Cloud API:
Para enviar y recibir un primer mensaje usando un número de prueba, complete los siguientes pasos:
1. Configurar los activos de desarrollador y el acceso a la plataforma
Crear una aplicación Meta: Vaya a developers.facebook.com > My Apps > Create App. Seleccione el tipo "Business" y siga las instrucciones en pantalla.
Desde el Panel de la aplicación, haga clic en la aplicación que desea conectar a WhatsApp. Desplácese hacia abajo para encontrar el producto "WhatsApp" y haga clic en Configurar.
A continuación, verá la opción de seleccionar un Business Manager existente (si dispone de uno) o, si lo desea, el proceso de incorporación puede crear uno automáticamente (puede personalizar su empresa más adelante, si es necesario). Realice una selección y haga clic en Continuar.
Al hacer clic en Continuar, el proceso de incorporación realiza las siguientes acciones:
2. Enviar un Mensaje de Prueba
Ahora puede abrir su IDE y crear un nuevo proyecto. Coloque un componente TsgcWhatsapp_Client y rellene las siguientes propiedades:
Una vez configuradas correctamente esas 2 propiedades, llame al método SendTest para enviar su primer mensaje a un número de teléfono utilizando la Whatsapp Business Platform.
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.WhatsappOptions.PhoneNumberId := '107809351952205';
oClient.WhatsappOptions.Token := 'EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2';
oClient.SendTest('34605889421');
3. Configurar un Webhook
Para recibir alertas cuando reciba un mensaje o cuando cambie el estado de un mensaje, debe configurar un punto de conexión Webhooks para su aplicación. La configuración de Webhooks no afecta al estado de su número de teléfono y no interfiere con el envío o la recepción de mensajes.
Para comenzar, primero debe crear el punto de extremo; para ello, configure la propiedad ServerOptions del componente cliente de WhatsApp y establezca las siguientes propiedades:
Después de configurar el servidor, puede usar el método StartServer para iniciar el servidor y aceptar las solicitudes entrantes.
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.ServerOptions.WebhookOptions.Endpoint := '/webhook';
oClient.ServerOptions.WebhookOptions.Token := 'MySecretToken';
oClient.StartServer();
Una vez que su extremo esté listo, acceda al panel de control de su aplicación.
En el Panel de su Aplicación, busque el producto WhatsApp y haga clic en Configuración. A continuación, busque la sección de webhooks y haga clic en Configurar un webhook. Tras hacer clic, aparece un cuadro de diálogo en su pantalla que le solicita dos elementos:
Tras añadir la información, haga clic en Verify and Save.
De vuelta en el App Dashboard, haga clic en WhatsApp > Configuration en el panel izquierdo. En Webhooks, haga clic en Manage. Se abrirá un cuadro de diálogo con todos los objetos sobre los que puede recibir notificaciones. Para recibir mensajes de sus usuarios, haga clic en Subscribe para messages.
4. Recibir un mensaje de prueba
Cada vez que se recibe un nuevo mensaje, se llamará al evento del cliente OnMessageReceived.
procedure OnMessageReceived(Sender: TObject; const aMessage: TsgcWhatsapp_Receive_Message; var aMarkAsRead: Boolean);
begin
DoLog('Received: ' + aMessage.Messages._Message[0].Id);
end;
Ahora que su Webhook está configurado, envíe un mensaje al número de prueba que ha utilizado. ¡Debería recibir inmediatamente una notificación de Webhooks con el contenido de su mensaje!
La API de WhatsApp no permite enviar mensajes de texto libre a teléfonos que no se hayan puesto en contacto con usted antes (en las últimas 24 horas). La única forma de enviar un mensaje de texto a un teléfono que nunca haya enviado mensajes a su número de cuenta de desarrollador es enviando una Plantilla (previamente aprobada por Meta). Para superar esta limitación durante las pruebas de mensajes de texto libre, primero envíe un mensaje de WhatsApp desde el número de destino a su número de cuenta de desarrollador, y entonces podrá enviar mensajes de texto libre durante 24 horas.
OnBeforeSendMessage
Este evento se llama antes de que el mensaje se envíe a los servidores de WhatsApp. Puede acceder al mensaje interno a través del parámetro RawMessage.
OnBeforeSubscribe
Este evento se llama antes de que el servidor se suscriba a un topic. Use el parámetro Accept para permitir o denegar la suscripción. Por defecto, el servidor se suscribirá a todos los eventos solicitados.
OnRawMessage
Este evento se invoca cuando el servidor recibe un nuevo mensaje que aún no ha sido procesado, por lo que se obtiene acceso al mensaje sin procesar.
OnMessageReceived
Este evento se llama después de que el servidor recibe y analiza un nuevo mensaje. Si establece el parámetro MarkAsRead en True, el remitente recibirá una doble marca de verificación.
OnMessageSent
Este evento se llama cada vez que el servidor recibe un nuevo mensaje de estado sobre el mensaje enviado anteriormente. Lea la propiedad Status para saber si el mensaje ha sido enviado, entregado o leído.