ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ToolJet 接入 Twilio 数据源指南:连接配置与发送短信实战

ToolJet 接入 Twilio 数据源指南:连接配置与发送短信实战 ToolJet 接入 Twilio 数据源指南连接配置与发送短信实战【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetToolJet 内置了 Twilio 数据源插件允许你在低代码应用中直接调用 Twilio 账户发送 SMS 短信。本文以官方数据源文档docs/versioned_docs/version-3.0.0-LTS/data-sources/twilio.md为主体结合仓库中 plugins/packages/twilio 插件包的源码实现完整讲解 Twilio 凭据获取、数据源连接、Send SMS 查询操作的配置方法以及底层消息发送的调用原理。读完本文你将能独立在 ToolJet 中完成 Twilio 数据源的接入并成功发送第一条业务短信。一、连接 Twilio 数据源1.1 入口位置要建立与 Twilio 数据源的连接有两种方式点击查询面板上的 Add new Data source添加新数据源按钮从 ToolJet 仪表盘导航到Data Sources数据源页面选择 Twilio 作为数据源。1.2 需要的连接凭据ToolJet 连接 Twilio 需要以下三项凭据参数说明获取位置Auth TokenTwilio 账户的认证令牌Twilio 账户仪表盘ConsoleAccount SID账户唯一标识符Twilio 账户仪表盘ConsoleMessaging Service SID消息服务Messaging Service的唯一标识需在 Twilio Console 中创建消息服务后获取Auth Token 与 Account SID可以在你的 Twilio 账户仪表盘中直接获取两者均展示在 Twilio Console 的 Account Info 区域Messaging Service SID则需要先创建一个消息服务Messaging Service在 Twilio Console 左侧边栏的Messaging下的Services服务中创建创建完成后即可在服务详情页看到对应的 Messaging Service SID。使用消息服务发送短信可以统一管理发件人号码、回退策略等能力是生产环境的推荐做法1.3 插件层面的凭据定义从源码结构看这三个连接参数在插件清单文件 plugins/packages/twilio/lib/manifest.json 中被明确定义并全部标记为必填requiredaccount_sid字符串类型对应Account SIDauth_token字符串类型且标记了encrypted: true说明 ToolJet 会对该敏感字段做加密存储在属性定义中其类型为passwordtype: password输入框会以掩码形式展示messaging_service_sid字符串类型对应Messaging Service SID。同时清单中声明了数据源暴露给查询上下文的变量isLoading加载状态、data查询结果、rawData原始返回数据在后续查询中可以直接引用。二、查询 Twilio发送短信完成数据源连接后即可在查询管理器中创建 Twilio 查询点击编辑器底部面板查询管理器中的 Add添加按钮选择上一步添加的Twilio数据源从下拉菜单中选择Send SMS并填写所需参数点击Preview预览按钮预览输出或点击Run运行按钮触发查询执行。2.1 支持的操作Twilio 数据源当前支持以下操作Send message发送短信该操作会将指定的消息内容发送到指定的手机号码。必需参数参数说明To Number接收短信的目标手机号码Body要发送的短信正文内容在查询编辑器中操作下拉框选择Send SMS后会出现 To Number 与 Body 两个输入框2.2 操作定义的源码实现在插件操作定义文件 plugins/packages/twilio/lib/operations.json 中可以看到operation是一个下拉组件dropdown-component-flip当前只支持一个选项值为send_sms、显示名为Send SMSto_numberTo Number与bodyBody字段的类型均为codehinter这意味着这两个输入框支持 ToolJet 的表达式{{ }}与动态变量。例如你可以把 To Number 绑定为表单组件的值、把 Body 绑定为某个输入框的文本从而实现完全动态化的短信发送而不必写死参数。2.3 底层调用链SDK 消息创建发送短信的核心逻辑位于 plugins/packages/twilio/lib/index.ts 的TwilioQueryService类中getClient(accountSid: string, authToken: string): any { return new Twilio(accountSid, authToken); } async run(sourceOptions: SourceOptions, queryOptions: QueryOptions, dataSourceId: string): PromiseQueryResult { let result {}; try { if (queryOptions.operation queryOptions.operation send_sms) { result await this.getClient(sourceOptions.account_sid, sourceOptions.auth_token) .messages.create({ body: queryOptions.body, messagingServiceSid: sourceOptions.messaging_service_sid, to: queryOptions.to_number, }) .then((message) message); } } catch (error) { console.log(error.response); throw new QueryError(Query could not be completed, error.message, {}); } return { status: ok, data: result, }; }关键点解读客户端初始化getClient方法基于官方twilioSDK插件依赖声明为twilio: ^5.2.0见 plugins/packages/twilio/package.json创建客户端使用连接阶段配置的account_sid与auth_token完成鉴权消息创建messages.create方法接收三个参数——body短信正文、messagingServiceSid消息服务 SID来自数据源连接配置、to目标号码来自查询参数这也印证了文档中必需参数 To Number 与 Body的说法——to_number和body来自查询参数而messaging_service_sid来自数据源级配置错误处理一旦 SDK 调用失败会打印error.response便于排查并抛出QueryError(Query could not be completed, error.message, {})错误信息会以query could not be completed的形式反馈到查询结果面板成功返回查询成功时返回{ status: ok, data: result }其中data是 Twilio 消息对象包含sid、status、dateCreated等字段你可以通过{{queries.查询名.data.sid}}之类的表达式在后续逻辑中引用。对应的类型定义见 plugins/packages/twilio/lib/types.tsSourceOptions包含account_sid、auth_token、messaging_service_sidQueryOptions包含operation、body、to_number。三、使用提示与注意事项号码格式Twilio 对to字段期望 E.164 格式的国际号码如8613800138000建议在表单校验或发送前确认号码格式否则 SDK 会返回格式校验错误。凭据安全auth_token在 ToolJet 插件清单中被标记为加密存储属于敏感凭据请勿在查询表达式或应用中明文硬编码。消息服务Messaging Service文档要求必须配置 Messaging Service SID 而非单个发件人号码这是通过messages.create的messagingServiceSid参数实现的好处是号码池管理、自动回退和合规配置都交由消息服务统一处理。调试手段当发送失败时查询会返回query could not be completed错误结合服务端日志中打印的error.response可以进一步定位具体原因如余额不足、号码未验证、SID 错误等。插件测试现状仓库中 plugins/packages/twilio/tests/twilioapi.test.js 目前仅声明了占位测试用例it.todo(needs tests)尚未包含自动化的单元测试这意味着该插件的行为验证主要依赖真实 Twilio 账户的联调。四、小结本文围绕 Twilio 数据源文档完成了从凭据准备、数据源连接到 Send SMS 查询的完整链路讲解并结合插件源码manifest.json、operations.json、index.ts揭示了参数定义、表达式支持与底层messages.create调用机制。整体流程为在 Twilio Console 获取 Account SID / Auth Token → 创建消息服务获取 Messaging Service SID → 在 ToolJet 中添加数据源 → 在查询管理器中选择 Send SMS 并填写 To Number 与 Body → 预览或运行。掌握这一链路后你可以将短信通知能力无缝接入 ToolJet 构建的仪表盘、审批流或业务应用中。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表