A partir de sgcWebSockets 2022.6.0 se admite la API WhatsApp Cloud para .NET.
Envía y recibe mensajes usando una versión alojada en la nube de la plataforma WhatsApp Business. La Cloud API te permite implementar las APIs de WhatsApp Business sin el coste de alojar tus propios servidores y, además, facilita escalar la mensajería de tu negocio. La Cloud API admite hasta 80 mensajes por segundo entre envío y recepción combinados (incluyendo mensajes de texto y media).
La WhatsApp Business API permite a empresas medianas y grandes comunicarse con sus clientes a gran escala. Usando la API, las empresas pueden construir sistemas que conecten miles de clientes con agentes o bots, habilitando comunicación tanto programática como manual. Además, puedes integrar la API con numerosos sistemas backend, como plataformas CRM y de marketing.
Características
Las empresas recibirán antes todas las nuevas funcionalidades en la Cloud API. Ahora mismo, WhatsApp Business Cloud API incluye todas las funcionalidades disponibles en WhatsApp Business API.
Funcionalidades útiles de WhatsApp Cloud API:
- Integra la mensajería de WhatsApp con herramientas como CRM, analítica y aplicaciones de terceros
- Green Tick, perfil verificado de WhatsApp Business
- Broadcast y envío masivo de WhatsApp
- Sin app ni interfaz: úsalo a través de BSPs o CRM
- Chatbot de WhatsApp y automatización de chat usando aplicaciones de terceros
- Programa mensajes de WhatsApp a gran escala
- Las funcionalidades de mensajería interactiva incluyen List messages, botones de respuesta y mensajes CTA
Primeros pasos
Para enviar y recibir un primer mensaje usando un número de prueba, completa los siguientes pasos:
1. Configura los recursos de desarrollador y el acceso a la plataforma
- Regístrate como Meta Developer
- Activa la autenticación de dos factores para tu cuenta
- Crea una Meta App: ve a developers.facebook.com > My Apps > Create App. Selecciona el tipo "Business" y sigue los pasos que aparecen en pantalla.
Desde el App Dashboard, haz clic en la app que quieras conectar a WhatsApp. Baja hasta encontrar el producto "WhatsApp" y haz clic en Set up.
A continuación verás la opción de seleccionar un Business Manager existente (si tienes uno) o, si lo prefieres, el proceso de onboarding puede crear uno automáticamente (podrás personalizar tu negocio más tarde si lo necesitas). Haz tu selección y pulsa Continue.
Cuando pulsas Continue, el proceso de onboarding realiza las siguientes acciones:
- Tu app se asocia con el Business Manager que hayas elegido o que se haya creado automáticamente.
- Se añade a tu negocio un número de teléfono de prueba de WhatsApp. Puedes usar este número de prueba para explorar la WhatsApp Business Platform sin registrar ni migrar un número real. Los números de prueba pueden enviar mensajes ilimitados hasta a 5 destinatarios (que pueden estar en cualquier parte del mundo).
2. Envía un mensaje de prueba
Ahora puedes abrir tu IDE y crear un nuevo proyecto. Coloca un componente TsgcWhatsapp_Client y rellena las siguientes propiedades:
- WhatsappOptions.PhoneNumberId: es el ID del número de teléfono usado para enviar mensajes.
- WhatsappOptions.Token: es el access token temporal, válido durante 24 horas.
Una vez configuradas correctamente esas 2 propiedades, llama al método SendTest para enviar tu primer mensaje a un número de teléfono usando la WhatsApp Business Platform.
TsgcWhatsapp_Client oClient = new TsgcWhatsapp_Client();
oClient.WhatsappOptions.PhoneNumberId = "107809351952205";
oClient.WhatsappOptions.Token = "EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2";
oClient.SendTest("34605889421");
3. Configura un Webhook
Para recibir avisos cuando llegue un mensaje o cuando cambie el estado de uno, necesitas configurar un endpoint de Webhooks para tu app. Configurar los Webhooks no afecta al estado de tu número de teléfono ni interfiere con el envío o recepción de mensajes.
Para empezar, primero necesitas crear el endpoint, así que configura la propiedad ServerOptions del componente cliente de WhatsApp con las siguientes propiedades:
- ServerOptions: aquí puedes configurar la dirección IP a la que enlazar, el puerto de escucha y si usa SSL (el Webhook debe ejecutarse en un servidor seguro; puedes configurar tu servidor para usar SSL o hacer proxy de las peticiones del Webhook a un servidor no HTTPS). El servidor está basado en TsgcWebSocketHTTPServer.
- WebhookOptions: esta propiedad permite establecer las propiedades del Webhook que después se configurarán en tu cuenta de Facebook Developer.
- Endpoint: es el nombre del endpoint, por defecto /webhook. Ejemplo: si tu servidor escucha en https://www.esegece.com, el endpoint será "https://www.esegece.com/webhook"
- Token: es una cadena de seguridad que puede contener cualquier valor definido por ti. Se usa para verificar que el registro del Webhook es correcto.
- WebhookOptions: esta propiedad permite establecer las propiedades del Webhook que después se configurarán en tu cuenta de Facebook Developer.
Una vez configurado el servidor, puedes usar el método StartServer para arrancarlo y aceptar las peticiones entrantes.
TsgcWhatsapp_Client oClient = TsgcWhatsapp_Client.Create(); oClient.ServerOptions.WebhookOptions.Endpoint = "/webhook"; oClient.ServerOptions.WebhookOptions.Token = "MySecretToken"; oClient.StartServer();
Una vez listo tu endpoint, ve al App Dashboard.
En tu App Dashboard, busca el producto WhatsApp y haz clic en Configuration. A continuación localiza la sección de webhooks y haz clic en Configure a webhook. Tras hacer clic, aparecerá un cuadro de diálogo que te pedirá dos cosas:
- Callback URL: es la URL a la que Meta enviará los eventos.
- Verify Token: esta cadena la defines tú al crear el endpoint del webhook.
Tras añadir la información, haz clic en Verify and Save.
De vuelta en el App Dashboard, haz clic en WhatsApp > Configuration en el panel izquierdo. En Webhooks, haz clic en Manage. Se abrirá un cuadro de diálogo con todos los objetos sobre los que puedes recibir notificaciones. Para recibir mensajes de tus usuarios, haz clic en Subscribe en messages.
4. Recibe un mensaje de prueba
Cada vez que se recibe un nuevo mensaje, se llama al evento de cliente OnMessageReceived.
void OnWhatsAppMessageReceived(TsgcWhatsApp_Client Sender, TsgcWhatsApp_Receive_Message Message, ref bool MarkAsRead)
{
DoLog("Message Received: [" + Message.From + "] " + Message.Text);
MarkAsRead = true;
}
Ahora que tu Webhook está configurado, envía un mensaje al número de prueba que has usado. Deberías recibir inmediatamente una notificación de Webhooks con el contenido de tu mensaje.
A continuación tienes una demo pública online de un bot de WhatsApp: envía cualquier mensaje de texto para empezar.
WhatsApp Bot
Construido con la librería sgcWebSockets: envía cualquier mensaje de texto y el bot mostrará una lista de opciones o repetirá tu mensaje. https://www.esegece.com/demo/whatsappA continuación tienes la demo compilada de WhatsApp para Windows.
