Configuración inicial

1

Desarrolla tu Chatbot con la API de Whatsapp

2

¿Cómo funciona la API de WhatsApp?

3

¿Cómo crear una cuenta de desarrollador en Meta?

4

¿Cómo configurar una aplicación en Developers Facebook?

5

Creación y configuración de una aplicación en Whatsapp

Integración con la API de WhatsApp

6

¿Cómo configurar la API de WhatsApp para recibir y enviar mensajes?

7

¿Cómo configurar la API de WhatsaApp con Postman?

8

¿Cómo crear un servidor de Express?

Implementación de Servidor Express

9

¿Cómo implementar Webhooks en Express?

10

¿Cómo optimizar la arquitectura de un bot usando servicios y controladores?

Comunicación con la API de WhatsApp

11

¿Cómo enviar un mensaje de bienvenida con la API de WhatsApp?

12

¿Cómo configurar una respuesta personalizada desde la API de WhatsApp?

Flujos de Interacción con la API de WhatsApp

13

¿Cómo desarrollar un flujo inicial para guiar a los usuarios con WhatsApp API?

14

¿Cómo configurar un menú de opciones desde la API de WhatsApp?

Multimedia con WhatsApp API

15

¿Cómo integrar mensajes multimedia en el flujo de tu chatbot?

16

¿Cómo Integrar el Send-Media-Message al flujo de tu Chatbot?

17

¿Cómo crear el flujo para agendar una cita desde la API de WhatsApp?

18

¿Cómo crear una lógica que permita almacenar el flujo de tu Chatbot?

Avances y Personalización

19

¿Cómo conectar tu chatbot con Google Sheets para la gestión de datos?

20

¿Cómo configurar la API de Google Sheets para almacenar la información de tu usuario?

21

¿Cómo conectar la API de WhatsApp con ChatGPT?

22

¿Cómo integrar ChatGPT al flujo de la API de WhatsApp?

23

¿Cómo enviar contactos desde tu chatbot para soporte al usuario?

24

¿Cómo configurar la API de WhatsApp para enviar ubicaciones a tu usuario?

25

¿Cómo crear flujos escalables en la API de WhatsApp usando buenas prácticas de programación?

26

¿Cómo desplegar la API de WhatsApp en un ambiente de producción?

27

¿Cómo publicar tu Chatbot para interacciones reales?

28

Ahora tienes tu Chatbot que potencia las interacciones con tu usuario

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Cómo enviar un mensaje de bienvenida con la API de WhatsApp?

11/28
Recursos

Aportes 13

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para el caso de México hay un detalle ya que le pone un 1 después de código ejemplo: 521XXXXXXXXXX si quitas ese 1 funciona ```js async handleIncomingMessage(message) { if (message?.type === "text") { const incomingMessage = message.text.body.toLowerCase().trim(); // Remove 1 from the position 2 in the from property const fromNumber = message.from.slice(0, 2) + message.from.slice(3); if (this.isGreeting(incomingMessage)) { await this.sendWelcomeMessage(fromNumber, message.id); } else { const response = `Echo: ${message.text.body}`; await whatsappService.sendMessage(fromNumber, response, message.id); } await whatsappService.markAsRead(message.id); } } ```
Todo este curso lo pueden dar para python ? @platzi?
No sé si solo me pasa a mí pero esta clase es la 12 y debería ser a 11. Me había perdido en la configuración de la app.
me sale un error al volver a ejecutar el comando de npm run start
Estoy teniendo un error status 400 em el método sendToWhatsApp. Luego de enviar un msg: "Hi", o cuaquier otro msg.. me marca como leido pero no responde.. ```js const sendToWhatsApp = async (data) => { const baseUrl = `${config.BASE_URL}/${config.API_VERSION}/${config.BUSINESS_PHONE}/messages`; const headers = { Authorization: `Bearer ${config.API_TOKEN}` }; try { const response = await axios({ method: 'POST', url: baseUrl, headers: headers, data, }) return response.data; } catch (error) { console.error(error) } }; ```no se donde puede estar el error, no lo encuentro!
les dejo mi aporte e python, en donde le hice una leve modificacion al saludo. El bot saluda siempre con la palabra que hizo con el saludo del usuario. Ejmplo, si el usuario saluda con un buen dia, el bot devuelve un buen dia ```js def is_hello_message(message_text, user_name): greeting = ["hola", "hola!", "hello", "buen dia"] word_match = next((palabra for palabra in greeting if palabra in message_text.lower()), None) if any(word in message_text.lower() for word in greeting): greeting = f"{word_match.capitalize()} {user_name}! Bienvenido a nuestro servicio! En que puedo ayudarte?" else: greeting = "" return greeting ```
la aplicación me arroja el siguiente error al consumir un servicio Server is listening on port: 3001 Webhook verified successfully! Error sending message: AxiosError: Request failed with status code 401 code: 'ERR\_BAD\_REQUEST'
Esta clase a muchos les saldrá error😅 en mi caso me salia AxiosError: Request failed with status code 404...ERR\_BAD\_REQUEST agregar BASE\_URL = <https://graph.facebook.com>
![](https://static.platzi.com/media/user_upload/image-b92142ed-e705-4c1c-bb01-323764690cc6.jpg)
GRACIAS POR DAR LA RESPUESTA SOBRE ARREGLAR EL PROBLEMA CON LA LADA DEL NUMERO PERO CREO QUE LA DAN ENTRE LINEAS Y CUESTA TRABAJO ENTENDER COMO LO RESOLVIERON, ME TOMO VARIOS DIAS PERO AQUI ESTA LA FUNCION COMO FUNCIONA LA DEJO ![](https://static.platzi.com/media/user_upload/image-85c23e8c-adc9-4c4a-8e4e-bb1135f70776.jpg)![]()
Tuve problemas con el número de Mexico igual que Hugo el 1 después del 52 es el problema. Lo que hice fue en messageHandler.js agregue: const fromNumber = this.formatNumber(message.from);```js const fromNumber = this.formatNumber(message.from); ```y al final: ```js formatNumber(number) { // Si el número empieza con "521", remueve el '1' para que quede "52" seguido del número if (number.startsWith("521")) { return "52" + number.slice(3); } return number; // Retorna el número sin cambios si no empieza con "521" } } ``` formatNumber(number) { // Si el número empieza con "521", remueve el '1' para que quede "52" seguido del número if (number.startsWith("521")) { return "52" + number.slice(3); } return number; // Retorna el número sin cambios si no empieza con "521" }} con esto me quedo funcionando!!
disculpa tu al parar tu servicio y volver a ejecutar npm start no te manda error en el nodemon.js cuando lo cambias a node src/app.js?? bueno solo me corre cuando ejecuto directamente con node src/app.js
Yo haría el método `isGreeting` privado. Los campos privados se pueden utilizar desde ECMAScript 2019. `class MessageHandler {` `#isGreeting(message) {` `//...` `}` `}`