标准 Webhook 的工作方式
对于没有 event_name 的工作流,ModelRiver 会在处理完成后立即把完整 AI 响应发送到你的 webhook 端点。这是一种简单的 fire-and-forget 模式:你的后端收到结果后,自行按需处理。
Webhook 载荷结构
当任务完成时,载荷通常包含:任务类型、工作流、状态、channel_id、AI 结果、供应商元数据、缓存字段以及时间戳。
Webhook 请求头
| Header | 说明 |
|---|---|
mr-signature | 载荷的 HMAC-SHA256 签名 |
mr-timestamp | Webhook 发送时的 Unix 时间戳 |
mr-channel-id | 本次请求的唯一标识 |
content-type | 恒为 application/json |
集成示例
Node.js(Express)
JAVASCRIPT
1app.post('/webhooks/ai', (req, res) => {2 const { type, data, customer_data } = req.body;3 4 console.log('AI completed:', data);5 6 res.status(200).json({ received: true });7});Python(Flask)
PYTHON
1@app.route('/webhooks/ai', methods=['POST'])2def handle_webhook():3 payload = request.json4 event_type = payload['type']5 data = payload['data']6 7 print(f'AI completed: {data}')8 9 return jsonify({'received': True}), 200