Webhooks
Webhooks
احصل على إشعارات فورية عند اكتمال المهام أو فشلها
نظرة عامة
Webhooks allow you to receive HTTP callbacks when your image or video generation tasks complete. Instead of polling for results, you can set up a webhook endpoint to receive automatic notifications.
الأحداث المتاحة
- job.completedTriggered when a task completes successfully
- job.failedTriggered when a task fails
نقاط نهاية API
GET
/api/v1/webhooksList all your webhook configurations
مثال على الرد:
{
"success": true,
"data": [
{
"id": 1,
"url": "https://your-server.com/webhook",
"events": ["job.completed", "job.failed"],
"status": "active"
}
]
}POST
/api/v1/webhooksCreate a new webhook endpoint
مثال للطلب:
{
"url": "https://your-server.com/webhook",
"events": ["job.completed", "job.failed"],
"secret_key": "your-secret-key"
}المُعاملات:
urlstringمطلوبYour webhook endpoint URL
eventsstring[]مطلوبEvents to subscribe to
secret_keystringاختياريSecret for signature verification
مثال على الرد:
{
"success": true,
"data": {
"id": 1,
"url": "https://your-server.com/webhook",
"events": ["job.completed", "job.failed"],
"status": "active"
}
}DELETE
/api/v1/webhooks/{id}Delete a webhook endpoint
مثال على الرد:
{
"success": true,
"data": { "id": 1 }
}حمولة Webhook
صيغة إشعارات الويب هوك المرسلة إلى نقطة النهاية الخاصة بك
| رأس الصفحة | وصف |
|---|---|
| X-Nano-Timestamp | Unix timestamp of the request |
| X-Nano-Signature | HMAC-SHA256 signature for verification |
مثال الحمولة:
{
"id": "job.completed:task_xxx",
"type": "job.completed",
"created_at": 1734948000,
"data": {
"task_id": "task_xxx",
"model": "veo3",
"status": "completed",
"video_url": "https://cdn.example.com/video.mp4"
}
}التحقق من التوقيع
const crypto = require('crypto');
function verifySignature(rawBody, signature, secret, timestamp) {
const message = `${timestamp}.${rawBody}`;
const expectedSig = crypto
.createHmac('sha256', secret)
.update(message)
.digest('hex');
return `v1=${expectedSig}` === signature;
}