Twilio Functions - передать параметры и отформатировать тело SMS для включения параметров - PullRequest
0 голосов
/ 07 апреля 2020

Я использую Twilio для создания «линии посещаемости», где сотрудники могут предоставить информацию о том, почему они отсутствуют, а затем Twilio будет отправлять отдельные курируемые сообщения руководителям и сотрудникам.

Для этого, Я создал Flow в Twilio Studio и хотел бы использовать функцию Twilio для отправки массовых SMS-сообщений, уведомляющих пользователей о новом отсутствии.

Я передаю параметры в функцию, такие как имя, отдел, смещение, причина и т. Д. c с намерением поделиться этими значениями с помощью SMS.

Мне сложнее всего получить все эти различные значения правильно вписываются в тело сообщения.

exports.handler = function(context, event, callback) {

 // Create a reference to the user notification service

 const client = context.getTwilioClient();

 const service = client.notify.services(
   context.TWILIO_NOTIFICATION_SERVICE_SID
 );


 const notification = {
   toBinding: JSON.stringify({
    binding_type: 'sms', address: '+1XXXXXXXXXX',
    binding_type: 'sms', address: '+1XXXXXXXXXX',

  }),

  body: 'New Attendance Notification',
        event.question_name,
        event.question_dept,
        event.question_reason,
        event.contactChannelAddress,


 };

 console.log(notification);

 // Send a notification
 return service.notifications.create(notification).then((message) => {
   console.log('Notification Message',message);
   callback(null, "Message sent.");
 }).catch((error) => {
   console.log(error);
   callback(error,null);
 });
};

Теперь я знаю, что «тело» сообщения выше не будет работать, но я немного растерялся ...

В тексте ниже показано, как я хотел бы, чтобы мое SMS-сообщение было прочитано при отправке.

New Attendance Notification
Name: event.Name
Dept: event.Dept
Reason: event.Reason
Contact: event.ContactChannelAddress

Возможно ли то, что я пытаюсь сделать sh, даже возможно?

1 Ответ

0 голосов
/ 08 апреля 2020

Как то так ...

exports.handler = function(context, event, callback) {

 // Create a reference to the user notification service

 const client = context.getTwilioClient();

 const service = client.notify.services(
    context.TWILIO_NOTIFICATION_SERVICE_SID
 );


 const bindings = [
    '{ "binding_type": "sms", "address": "+14071234567" }',
    '{ "binding_type": "sms", "address": "+18021234567" }'
    ];

 const notice = `New Attendance Notification\nName: ${event.question_name}\nDept: ${event.question_dept} \nReason: ${event.question_reason}\nContact: ${event.contactChannelAddress} \n`;

 // Send a notification
  service.notifications.create({ toBinding: bindings, body: notice }).then((message) => {
    console.log('Notification Message',message);
    callback(null, "Message sent.");
  })
  .catch((error) => {
   console.log(error);
   callback(error,null);
 });
};
...