Me gustaría saber cómo puedo enviar un mensaje a diferentes números. Quiero decir, enviar SMS como notificaciones a diferentes números en el mismo String Array. Algo como:
body: "Hello Word!" number:["+2222", "+2222", "+2222"]¿Es posible hacer esto con twilio?
Debería ser posible, si es posible con el correo, ¿cómo se hace con los números de teléfono?
Estoy usando nodeJs y tenía algo como:
código actualizado
const sendBulkMessages = async(req, res) => { let messageBody = req.body; let numberList = req.body; var numbers = []; for (i = 0; i < numberList.length; i++) { numbers.push(JSON.stringify({ binding_type: 'sms', address: numberList[i] })) } const notificationOpts = { toBinding: numbers, body: messageBody, }; const response = await client.notify .services(SERVICE_SID) .notifications.create(notificationOpts) .then(notification => console.log(notification.sid)) .catch(error => console.log(error)); console.log(response); res.json({ msg: 'Mensaje enviado correctamente' }); }Pero me dice error que no envié el cuerpo, cuando claramente lo hago.
¿Alguien podría ayudarme? Por favor
Parece que está intentando enviar estos mensajes a través de una solicitud posterior a una aplicación Express. El problema es que no está extrayendo correctamente los datos del cuerpo de la solicitud.
Si el cuerpo de su solicitud POST es un objeto JSON que se ve así:
{ "toBinding": ['+222', '+222'], "body": 'Hello' }Luego, deberá asegurarse de analizar el cuerpo de la solicitud como JSON, normalmente agregando el middleware JSON del analizador de cuerpo Express , y luego extraer los datos del cuerpo de la solicitud de esta manera:
let messageBody = req.body.body; let numberList = req.body.toBinding;Aquí está el guión completo:
const sendBulkMessages = async(req, res) => { let messageBody = req.body.body; let numberList = req.body.toBinding; var numbers = []; for (i = 0; i < numberList.length; i++) { numbers.push(JSON.stringify({ binding_type: 'sms', address: numberList[i] })) } const notificationOpts = { toBinding: numbers, body: messageBody, }; const response = await client.notify .services(SERVICE_SID) .notifications.create(notificationOpts) .then(notification => console.log(notification.sid)) .catch(error => console.log(error)); console.log(response); res.json({ msg: 'Mensaje enviado correctamente' }); }Después de inspeccionar su repositorio , parece que su función era realmente correcta, pero la forma en que exportaba y requería funciones no lo era.
No puedes exportar funciones como esta:
module.exports = sendMessage, sendMessageWhatsapp, sendBulkMessages;Eso solo exporta la primera función, las demás se ignoran. Así que lo actualicé a esto:
module.exports = { sendMessage, sendMessageWhatsapp, sendBulkMessages };Esto exporta un objeto que contiene las tres funciones. Entonces, cuando necesite las funciones, no puede hacer esto:
const sendMessage = require('./message'); const sendMessageWhatsapp = require('./message'); const sendBulkMessages = require('./message');Eso requiere la misma función tres veces. Con la actualización anterior, ahora puede hacer esto:
const { sendMessage, sendBulkMessages, sendMessageWhatsapp, } = require("./message");