Twilio去年收购了Segment,以帮助开发者在每个客户接触点统一客户数据。我有一段时间没有使用Segment,因为我认为Segment只适用于企业,但我最近了解到,我这个独立开发者也有它的用例。继续阅读,了解如何使用Segment和Twilio Serverless来在有人访问你的网站时发送短信通知。
添加一个段源
首先,我们需要在Segment应用中添加一个网站作为来源。 在Segment中,你为每一个你想追踪的网站或应用程序创建一个源(或不止一个!)。 一个源提供数据给Segment使用。要创建一个来源,请创建并入你的Segment工作区,点击左边的来源。

从你的 "来源列表"中,点击蓝色的 "添加来源"按钮:

在 "来源目录 "中,在 "网站"下选择 "JavaScript",然后选择 "添加来源":

在源设置中,给你的源一个名字--例如,个人网站。你可以把标签 留空,然后添加网站的URL。在我的例子中,我的个人网站是www.lizziesiegle.xyz。

点击添加源后,Segment会提供给你类似下面的代码,让你在HTML文件的**元素中加入。

这段代码添加了Segment的Analytics.js库,所以我们可以将数据从我们的网站发送到Segment和任何目的地。把这个添加到你网站的** 元素中。
你可以通过检查你的网站和检查分析变量是否存在来检查Analytics .js是否与你的网站一起工作--这既可以在本地进行,也可以在部署的网站上进行。
:
现在,本教程将使用Twilio函数作为目的地:现在让我们制作这个Twilio函数。
制作一个Twilio函数来发送短信
The Serverless Toolkit是CLI工具,可以帮助你在本地开发并部署到Twilio Runtime。使用Serverless Toolkit的最佳方式是通过Twilio CLI。如果你还没有安装Twilio CLI,请在命令行上运行以下命令来安装它和Serverless Toolkit:
npm install twilio-cli -g
twilio login
twilio plugins:install @twilio-labs/plugin-serverless
通过运行创建你的新项目:
twilio serverless:init segment-site-visitor-detector –template=blank
cd segment-site-visitor-detector
打开.env ,填写你的AUTH_TOKEN,并为你的个人电话号码添加一个环境变量。在这篇博文中,该变量被称为MY_PHONE_NUMBER 。
在\functions 目录内添加一个新的文件,称为segment.js ,包含以下代码:
exports.handler = function(context, event, callback) {
const client = context.getTwilioClient();
let body = event.request.headers.viewed;
let to = context.MY_PHONE_NUMBER;
let from = 'YOUR-TWILIO-NUMBER';
console.log(`body ${body}`);
client.messages
.create({ body, to, from })
.then((message) => {
console.log(`SMS successfully sent, ${message.sid}`);
return callback(null, `Success! Message SID: ${message.sid}`);
})
.catch((error) => {
console.error(error);
return callback(error);
});
};
这段代码返回一个初始化的Twilio REST Helper Library,获得入站请求(其中将包含我们即将在Segment控制台中设置的viewedheader)并将其设置为一个名为body的变量*,制作to* 和from变量(我的个人电话号码隐藏为一个环境变量和一个Twilio号码),然后在Twilio Function被击中时(当我的网站被浏览时)发送一条出站文本消息。
在根目录下,运行twilio serverless:deploy ,复制以/segment 结尾的URL。
将Twilio功能设置为Segment目的地:
回到你的Segment Console中,在蓝色的Copy Snippet按钮下面,点击蓝色的Add Destination按钮。 
在目的地目录中搜索webhook并选择Webhooks。
然后点击蓝色的配置Webhooks按钮:

选择一个数据源作为你的网站,现在要设置Webhook,我们给它一个目的地名称,然后点击保存:

然后选择Webhooks(最多5个) ,并启用设置指南旁边的切换键。

输入你的功能URL,以/segment 结尾,并设置一个标题,就像你看到的下面一样。
点击蓝色的 "保存"按钮,然后就可以了。每当有人访问你的网站时,你就会收到一条 "网站已被浏览!"的文字信息。

另外,在你的Segment控制台,你可以进入Source的Debugger部分,也可以看到有人访问网站的情况。
