关于 send-sms-textbelt
send-sms-textbelt 是一个通过 Gooseworks API 调用 Textbelt 发送短信的技能,面向需要从工作流发送短信并确认状态的场景。它支持查询发送状态,并提供可选发送者名称和回复 Webhook 参数。
主要功能
- 01通过 Textbelt 发送短信
- 02按 textId 查询发送状态
- 03支持发送者名称参数
- 04支持回复 Webhook 和附加数据
适用场景
- 01向指定电话号码发送短信
- 02确认短信处于发送或已送达状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill send-sms-textbelt安装后在 Claude Code 中输入/send-sms-textbelt确认已加载。
附带文件skill.meta.json
详细介绍
发送短信
设置
从 ~/.gooseworks/credentials.json 中读取你的凭据:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
如果 ~/.gooseworks/credentials.json 不存在,请告知用户运行:npx gooseworks login
所有端点都使用 Bearer 身份验证:-H "Authorization: Bearer $GOOSEWORKS_API_KEY"
通过 Orthogonal 上的 Textbelt API 发送短信。
工作流
第 1 步:收集信息
向用户询问:
- 电话号码(必填)——美国/加拿大:10 位数字,包含区号。国际号码:E.164 格式(例如,+44...)
- 消息(必填)——最多 800 个字符。不得包含 URL。
第 2 步:发送消息
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"textbelt","path":"/text"}'
"phone": "<phone_number>",
"message": "<message_text>"
}'
第 3 步:确认送达
响应中包含 textId。使用它检查送达状态:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"textbelt","path":"/status/{textId}"}'
此端点免费。
响应
发送响应(/text)
- success(布尔值)——若消息已排入发送队列,则为
true - textId(字符串)——用于跟踪送达状态的消息 ID(仅在成功时返回)
- quotaRemaining(整数)——剩余短信额度
- error(字符串)——错误消息(仅在失败时返回)
状态响应(/status/{textId})
- status(字符串)——
DELIVERED、SENDING、FAILED或UNKNOWN
限制
- 每条消息最多 800 个字符
- 消息文本中不得包含 URL
- 发件人名称为可选项,在大多数国家/地区不会显示给收件人
可选参数
发送时还可以包含:
sender(字符串)——用于合规用途的企业/组织名称replyWebhookUrl(字符串)——仅限美国:用于接收回复 Webhook 的 URLwebhookData(字符串)——传递给 Webhook 的额外数据(最多 100 个字符)
错误处理
- success: false 且包含
error字段时,该字段会说明问题(例如,电话号码无效、额度不足) - 美国/加拿大号码仅可从美国/加拿大 IP 区域使用
- 国际号码必须使用 E.164 格式(例如,
+44...) - 包含 URL 的消息会被拒绝——请改用文字描述
- 最多 800 个字符——超长消息会被拒绝,不会截断
评论
支持 Markdown