mcpField
S
shoplazza-webhook

shoplazza-webhook

github.com/shoplazza开发1750 次安装1 周前更新
代码仓库

关于 shoplazza-webhook

这是用于通过 Shoplazza CLI 管理店铺事件 Webhook 订阅的技能,涵盖专属命令与安全步骤;通用 CLI 机制由 shoplazza-common 负责。

主要功能

  1. 01创建和列出 Webhook 订阅
  2. 02按可选条件统计订阅数
  3. 03查询、更新和删除 Webhook
  4. 04创建时要求事件主题和 HTTPS 地址
  5. 05删除前执行确认安全流程

适用场景

  1. 01订单发货时通知指定端点
  2. 02商品变更时接收通知
  3. 03查看或统计现有事件订阅

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/shoplazza/shoplazza-cli --skill shoplazza-webhook

安装后在 Claude Code 中输入/shoplazza-webhook确认已加载。

详细介绍

shoplazza CLI — webhook 模块

重要——在进行任何操作之前,先使用 Read 读取 ../shoplazza-common/SKILL.md。 其中定义了所有跨领域机制:访问层级、输出封装(.data)、--dry-run、 --jq、schema、api rest、身份验证 / 配置文件以及安全协议。本文件仅介绍 webhook 领域,不会重复这些内容。

概述

webhook 模块用于管理事件订阅:webhook 将商店的事件主题(例如 orders/create)绑定到一个地址(平台在事件触发时调用的 HTTPS 端点)。 它仅包含规范命令,不提供 +shortcuts。支持完整的 CRUD 操作及计数。

命令映射

意图 → 命令。权威参数 / 请求体请参阅 shoplazza schema webhook.<cmd>。

用户意图命令
订阅事件(创建)webhook create --data '{"webhook":{"topic":"<event>","address":"<https-url>"}}'
列出所有 webhookwebhook list
统计 webhook 数量(可选筛选)webhook count --params '{"address":"<url>","topic":"<event>"}'(参数可选)
获取单个 webhookwebhook get --params '{"id":"<id>"}'
更新 webhook 的地址 / 主题webhook update --params '{"id":"<id>"}' --data '{"webhook":{"address":"<url>","topic":"<event>"}}'
删除 webhook(有破坏性 → 先使用 --dry-run)webhook delete --params '{"id":"<id>"}' --dry-run

事件主题格式如 orders/create、orders/fulfilled、products/update 等。无法从二进制文件中查询完整的主题列表——请通过 shoplazza schema webhook.create / Open Platform 文档确认主题;不要自行编造。

处理请求

  1. 将意图匹配到规范命令(这里没有快捷命令)。
  2. create 需要两个必填字段——如果缺少任何一个,请使用 AskUserQuestion 询问,绝不要编造:事件主题和地址(HTTPS 端点)。对于 update/get/ delete,必须提供 webhook 的 id。
  3. 提供必填字段后,可直接执行 create/update(订阅不会转移资金);仅当用户提出要求时才先使用 --dry-run。
  4. delete 具有破坏性——它会立即停止事件传递且无法撤销。请遵循 shoplazza-common 安全协议:先使用 --dry-run,重新说明要删除的具体订阅(主题 + 地址,而不只是 ID),然后停止并等待用户同意。

适用范围

看起来像事件 / 订单 / 商品任务,但实际上属于此模块:

看起来像订单 / 商品需求实际归属命令
“订单发货后自动通知我的系统” / 订单发货时通知我的系统此处(webhook)——这是一个订阅webhook create --data '{"webhook":{"topic":"orders/fulfilled",…}}'
“商品更新时通知我” / 商品更新时通知我此处(webhook)webhook create --data '{"webhook":{"topic":"products/update",…}}'

订阅事件属于 webhook,而非 orders/products 命令。(用于处理 event-webhook 路由冲突。)

权限 · 范围

授权按领域划分。授权:auth login --domain webhook。使用 shoplazza auth scopes 查询确切的范围字面值。

注意事项

仅限领域特有规则(通用规则见 shoplazza-common)。

现象原因解决方法
猜测的 topic 被拒绝二进制文件的帮助信息中未列出主题枚举值通过 schema webhook.create / Open Platform 文档确认;不确定时询问用户——不要编造
create 失败webhook 请求体中的 topic 和 address 都是必填项--data '{"webhook":{"topic":"…","address":"…"}}'
address 被拒绝端点必须是可访问的 HTTPS URL提供完整的 https:// URL

示例

# 1. Subscribe: push order-created events to an endpoint
webhook create --data '{"webhook":{"topic":"orders/create","address":"https://api.myapp.com/hooks/orders"}}'

# 2. List current subscriptions
webhook list

# 3. Update a webhook's address
webhook update --params '{"id":"246"}' --data '{"webhook":{"address":"https://new.example.com/hook"}}'

# 4. Delete a subscription: look up what it is, preview, then STOP for the user's go-ahead
webhook get --params '{"id":"135"}' --jq '.data.webhook | {topic, address}'
webhook delete --params '{"id":"135"}' --dry-run

# 5. Count webhooks pointing at an address
webhook count --params '{"address":"https://api.myapp.com/hooks"}'

参考资料

  • 各命令的标志:shoplazza webhook <cmd> --help
  • 参数 / 请求体 / 响应:shoplazza schema webhook.<cmd>
  • 跨领域机制(身份验证 / 层级 / 输出封装 / --dry-run / 安全):../shoplazza-common/SKILL.md

评论

支持 Markdown