如何更改友好名称通知 twilio 短信

How change friendly name notify twilio sms

我遇到了一些问题,我想更改发件人的姓名。我的意思是,可以分配一个字母数字发件人 ID,我查看了文档并遵循了指南,在 twilio api 的响应中名称出现了但是当我收到消息时它会将它们发送到相同的号码.我知道这不是国家规定的事情,因为根据 twilio 文档,这是可能的。 (https://support.twilio.com/hc/en-us/articles/223133767-International-support-for-Alphanumeric-Sender-ID) 发生了什么事?我该如何解决?我需要做任何配置吗?

我希望如何显示发件人 ID

收到发件人ID

更新问题

好的,我构造代码的方式如下:

我正在做一个 nodejs 项目,我需要向多个 phone 号码发送消息,所以为了做到这一点,我使用了 Twilio 提供的短信通知服务,这是创建的方法:

async sendSMSAsNotify(req: Request, res: Response) {
        try {
            console.log("req.body:", req.body);
            let messageBody = req.body.body;
            console.log(messageBody);
            let numberList = req.body.toBinding;
            let extractBody = messageBody.replace(/<[^>]+>/g, '');
            console.log(extractBody);
            var decodedStripedHtml = he.decode(extractBody);

            //console.log(decodedStripedHtml);

            //console.log(`Body: ${messageBody}`);
            var numbers = [];
            for (let i = 0; i < numberList.length; i++) {
                numbers.push(
                    JSON.stringify({
                        binding_type: "sms",
                        address: numberList[i],
                    })
                );
            }

            const notificationOpts = {
                toBinding: numbers,
                body: decodedStripedHtml,
                title: 'MyCompany'
            };

            // console.log("numbers:", notificationOpts.toBinding);
            // console.log("body", notificationOpts.body);

            const response = await this.client.notify
                .services(process.env.SERVICE_SID_NTF)
                .notifications.create(notificationOpts);

            console.log('response', response);

            res.json({
                msg: `Message sent successfully!  ${response}`,
            });
        } catch (e) {
            throw new HttpException(HttpErrors.NOT_FOUND_ERROR, HttpStatus.NOT_FOUND);
        }
    }

sendSMSAsNotify()方法很管用,我可以把同一条短信发给多个号码。但是现在我想要实现的是我发送的每条消息都显示发件人id。我没有在短信通知服务的文档中找到如何做到这一点,所以我尝试更改它并使用一种非常简单的方法通过twilio向单个号码发送短信只是为了测试。

async sendSMS(sms: SMSDto) {
        try {
            return await this.client.messages.create({
                body: sms.message,
                from: 'MyCompany',
                to: sms.number,
            });
        } catch (e) {
            return e
        }
    }

但是我尝试更改发件人身份的两种方法都不允许我这样做,这就是我来到这里的原因,我真的需要帮助,这是我需要满足的要求,我找不到帮助我的方法。

是否有可能您所在的国家/地区不 support alphanumeric sender IDs 而 Twilio 会求助于短代码?

PS:如果您可以添加一个代码片段,显示您 运行 的代码,那将会很有帮助。

首先,list of countries that support alphanumeric sender IDs does contain Honduras there are further guidelines for SMS in Honduras 表示:

Dynamic Alphanumeric Sender IDs are not fully supported for Honduras mobile operators. Sender IDs may be overwritten with a local long code or short code outside the Twilio platform.

因此,即使您按照我将要解释的那样设置所有内容,您的发件人 ID 仍然有可能被本地长代码或短代码覆盖,而 Twilio 对此无能为力。

话虽如此,以下是设置字母数字发件人 ID 的方法。


由于您正在使用 Notify 发送消息,因此您将设置一个 Messaging Service 以与 Notify 一起使用。

消息服务控制如何从号码池中的 Notify 发送 SMS 消息。该池还可以包含您的字母数字发件人 ID

因此,要从字母数字发件人 ID 发送,您需要转到消息服务中的发件人池并添加一个字母发件人。

一旦您在消息服务池中设置了 alpha 发件人,它将用于发送您的消息。如果您不打算使用它们,您甚至可以删除池中的任何长代码号码,但如果您确实发送到不支持字母数字发件人 ID 的国家/地区,它们可以作为后备。