用途:面向构建 BaseLinker(Base.com,波兰多渠道电商平台)订单或仓库回调接收端。它并非普通 webhook 源,处理器必须体现三点:传输用 HTTP HEAD(无请求体,读 req.body 或 request.json() 会失败);全部载荷在查询串中,需从解析后的查询参数读取并显式把字符串转数值;没有任何签名校验(无 HMAC、签名头、时间戳/重放检查、共享密钥或握手)。平台也未发布 webhook 文档,其公开 API 为请求/响应式,变更跟踪靠轮询 getJournalList 等。观察到仅有的查询参数为 order_id(如 42,字符串)与 state(如 packed,不透明字符串),仅为观测示例,不可假定完整。框架接线:Express 用 app.head 读 req.query;Next.js 用 HEAD 读 request.nextUrl.searchParams;FastAPI 用 @app.head 读查询参数。不要挂 JSON 解析器。响应必须无体,只回裸 200(res.sendStatus(200)、new Response(null,{status:200})、Response(status_code=200))。因无校验,可采用纵深防御:URL 保密、TLS/WAF/IP 限制、自行在 URL 追加 ?token= 并恒时比较。收到回调后用 X-BLToken 调 getOrders 取订单详情,速率限制 100 请求/分钟,X-BLToken 是请求头而非签名。环境变量 BASELINKER_API_TOKEN、可选 BASELINKER_URL_TOKEN。本地开发:npx hookdeck-cli listen 3000 baselinker --path /webhooks/baselinker。限制:平台不提供校验与文档,state 非事件枚举,回调不保证覆盖全部状态变更,建议配合轮询。
baselinker-webhooks
编程与开发
更新于 10-15 22:14