什么是Webhook?
Webhook 是您提供的HTTP端点,当您的任务完成(无论成功还是失败)时,我们会向其发送 POST
请求。这消除了持续轮询API的需要,并允许您的系统实时响应。
如何使用Webhook
创建任务时,在您的请求中包含 webhook.url
字段。示例:
{
"actor": "scraper.shopee",
"webhook": {
"url": "https://webhook.site/8fe8b27a-3902-42d9-a44e-b5e74466e475"
},
"input": {
"url": "https://shopee.tw/api/v4/pdp/get_pc?item_id=1413075726&shop_id=19675194"
}
}
Webhook有效负载
任务完成后,我们将 POST
结果到您的Webhook URL。
成功有效负载
{
"response": {
"data": "base64 json string",
"encoding": "base64"
},
"state": "completed",
"success": true,
"taskId": "7a0087db-05ae-4caf-887c-67e5efcaf3d1"
}
失败有效负载
{
"state": "completed",
"status": {
"code": 4,
"message": "context deadline exceeded"
},
"success": false,
"taskId": "d5f188a7-9d87-4f7d-8801-5a7c6083b3e6"
}
仍然更喜欢轮询?
没问题——您可以随时手动获取结果:
curl --location --request GET 'https://api.scrapeless.com/api/v1/scraper/result/{taskId}' \
--header 'x-api-token: YOUR_API_KEY' \
--header 'Content-Type: application/json'
无论是否设置了Webhook,这都有效。
试试看
使用Webhook.site立即测试您的Webhook——这是一个免费工具,可以生成可测试的URL并向您显示实时的传入请求。
常见问题
问:如果Webhook失败,您会重试吗?
目前不会。请确保您的端点可靠且可用。
问:Webhook调用是同步的吗?
不是——我们异步发送它们,因此不会阻塞任务处理。