以下是如何在 Marketo 中通过 Twilio 发送 SMS 的详细步骤,以及一些常见问题和解决方案。
1. 注册和设置 Twilio
1.1 创建 Twilio 账户
- 访问 Twilio 官网:
- 前往 Twilio 官网。
- 点击 “Sign Up”:
- 输入你的邮箱地址、设置密码,并完成账户验证。
- 提供你的手机号码用于账户验证。Twilio 会发送一个验证码到你的手机,你需要输入这个验证码完成验证。
1.2 获取 API 密钥
- 登录 Twilio 控制台:
- 在 Twilio 控制台 中登录你的账户。
- 记录 Account SID 和 Auth Token:
- 在控制台的 Dashboard 页面,你会看到 Account SID 和 Auth Token。点击 View 来查看 Auth Token,并记录这两个值。
- 购买 Twilio 号码:
- 在 Phone Numbers 部分,点击 Get a Trial Number。
- 选择一个号码,并完成购买。这个号码将在
From
字段中使用。
2. 配置 Marketo Webhook
2.1 生成 Basic Auth 认证
- 打开 Base64 编码工具:
- 使用 Base64 编码工具。
- 编码你的 Credentials:
- 格式为
AccountSID:AuthToken
。例如,如果你的 Account SID 是ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
,Auth Token 是your_auth_token
,则编码内容为ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token
。 - 点击 Encode,得到 Base64 编码结果。例如
QUNY...your_encoded_token
。
- 格式为
2.2 创建 Webhook
-
登录 Marketo:
- 打开 Marketo 并登录你的账户。
-
转到 Admin -> Webhooks:
- 点击 New Webhook。
-
填写 Webhook 配置:
- Name: 输入一个名称,例如
Send SMS via Twilio
。 - Webhook URL: 填写
https://api.twilio.com/2010-04-01/Accounts/{AccountSID}/Messages.json
。将{AccountSID}
替换为你的 Twilio Account SID。 - Request Type: 选择
POST
。 - Request Headers:
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {Base64EncodedCredentials}
。将{Base64EncodedCredentials}
替换为你刚才编码的结果。
- Request Body:
To={{lead.Phone Number}}&From=YourTwilioNumber&Body=Hello, this is a test message.
To={{lead.Phone Number}}
: 使用 Marketo 的动态字段,将Phone Number
替换为你联系人记录中的电话号码字段。From=YourTwilioNumber
: 使用你从 Twilio 购买的号码。Body=Hello, this is a test message.
: 短信内容,确保它符合 Twilio 的最大长度限制(通常 160 个字符)。
- Name: 输入一个名称,例如
-
点击 Save 来保存 Webhook。
3. 创建 Smart Campaign
3.1 配置触发条件
- 转到 Marketing Activities:
- 选择你要创建 Smart Campaign 的程序或文件夹。
- 创建新 Smart Campaign:
- 点击 New Smart Campaign,为其命名,例如
Send SMS on Phone Number Update
。 - 点击 Smart List,添加触发条件:
- Trigger: 选择
Data Value Changes
。 - Attribute: 选择
Phone Number
或其他你需要监控的字段。 - Value Changes To: 选择
Any Value
,这意味着当电话字段的值发生任何变化时都会触发。
- Trigger: 选择
- 点击 New Smart Campaign,为其命名,例如
3.2 配置流动作
- 在 Flow 部分,添加
Call Webhook
动作:- 选择 Webhook: 选择你刚刚创建的 Twilio Webhook。
- 配置其他动作(可选):例如,你可以添加
Add to List
动作以记录已发送的 SMS,或者Send Alert
动作以通知团队。
3.3 设置调度
-
在 Schedule 部分:
- 选择 Smart Campaign 实时触发或定时触发。通常,你会选择实时触发,以便在联系人更新后立即发送短信。
-
点击 Save 并 Activate 你的 Smart Campaign。
4. 测试和监控
4.1 测试 Webhook
- 创建测试联系人:
- 在 Marketo 中创建一个测试联系人,并填写
Phone Number
字段(确保它是有效的格式)。
- 在 Marketo 中创建一个测试联系人,并填写
- 手动触发 Smart Campaign:
- 在 Smart Campaign 中,点击 Run Once 或通过手动更新联系人记录来触发 Campaign。
- 验证短信发送:
- 登录 Twilio 控制台,访问 Messaging Logs,查看是否成功发送短信。
- 确认接收方是否收到短信。
4.2 监控结果
- Marketo:
- 在 Admin -> Webhooks -> Webhook Logs 中查看 Webhook 调用的记录。检查请求是否成功以及返回的响应。
- Twilio:
- 转到 Twilio 控制台,查看 Messaging Logs 和 Message Status。检查短信的状态(例如,发送成功、失败或排队中)。
5. 常见问题及解决方案
5.1 API 认证失败
- 问题:Webhook 调用返回 401 Unauthorized 错误。
- 原因:Base64 编码格式错误,或凭据不正确。
- 解决方案:
- 确保你的 Base64 编码格式正确,并且
Authorization
头部的格式为Basic {Base64EncodedCredentials}
。 - 重新检查
Account SID
和Auth Token
是否正确,并确保没有空格或错误字符。
- 确保你的 Base64 编码格式正确,并且
5.2 请求体格式错误
- 问题:Twilio 返回 400 Bad Request 错误。
- 原因:请求体格式不符合 Twilio API 的要求。
- 解决方案:
- 确认请求体的字段名和格式是否符合 Twilio 的要求。特别注意
To
,From
, 和Body
的格式是否正确。 - 确保
To
和From
字段使用国际格式电话号码(例如+14155552671
)。
- 确认请求体的字段名和格式是否符合 Twilio 的要求。特别注意
5.3 短信未送达
- 问题:Twilio 显示短信发送失败。
- 原因:号码错误、余额不足、发送限制。
- 解决方案:
- 确保接收方号码格式正确,符合国际标准(包括国家代码)。
- 确保你的 Twilio 账户有足够的余额来发送短信。
- 查看 Twilio 的错误代码和消息,参考 Twilio 错误码文档 进行诊断。
5.4 Marketo Webhook 调用失败
- 问题:Webhook 调用失败,Marketo 日志中显示错误。
- 原因:Webhook URL 错误、网络问题或权限问题。
- 解决方案:
- 检查 Webhook URL 是否正确,确保没有拼写错误或格式问题。
- 确保 Marketo 实例能够访问 Twilio API 端点。检查网络设置和防火墙配置。
- 验证你的 Marketo 和 Twilio 集成设置是否有权限问题,例如 API 权限不足。
6. 高级配置(可选)
6.1 使用变量化的短信内容
- 在 Request Body 中使用动态内容:
- 你可以使用 Marketo 动态字段来个性化短信内容。例如:
To={{lead.Phone Number}}&From=YourTwilioNumber&Body=Hello {{lead.First Name}}, this is a personalized message.
- 你可以使用 Marketo 动态字段来个性化短信内容。例如:
6.2 处理多语言支持
- 根据联系人语言发送不同语言的短信:
- 使用 Marketo 的智能字段来判断联系人语言,并相应地设置短信内容。
- 在 Webhook 配置中,根据联系人语言设置不同的短信内容。
通过这些详细的步骤和可能的配置选项,你应该能够在 Marketo 中成功地集成 Twilio 并发送 SMS。如果还有其他问题或需要进一步的帮助,请随时告知!