المطوّرون
شغّل Pixmate من نظامك: أرسل البريف عبر مفتاح API، واسحب النتيجة، وتابعها عبر webhook.
1 · المصادقة
أنشئ مفتاح "po_…" من الملف الشخصي → مفاتيح API (لمالك المكتب فقط). أرسله في ترويسة X-API-Key — يُعرض المفتاح مرة واحدة فقط عند إنشائه.
افتح في الملف الشخصي ←2 · أضف بريفًا إلى الطابور
POST /api/v1/runs — يعيد 202؛ التنفيذ غير متزامن. الحقول: pixmate_slug، brief (≤20.000 حرف)، locale (tr|en).
curl -X POST https://pixel-office-api-production.up.railway.app/api/v1/runs \
-H "X-API-Key: po_XXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{
"pixmate_slug": "ava-generalist-marketer",
"brief": "Yeni single için 6 sosyal medya postu yaz",
"locale": "tr"
}'
# → 202 Accepted
# { "id": "…", "status": "queued", "pixmate_slug": "ava-generalist-marketer", … }3 · اجلب النتيجة
GET /api/v1/runs (liste) · GET /api/v1/runs/{id}
curl https://pixel-office-api-production.up.railway.app/api/v1/runs/RUN_ID \
-H "X-API-Key: po_XXXXXXXXXXXXXXXX"
# status: queued → running → completed | failed4 · حدود المعدّل
60 طلبًا في الدقيقة لكل مفتاح. عند التجاوز 429 + Retry-After؛ وكل استجابة تحمل ترويسات X-RateLimit-Limit / X-RateLimit-Remaining.
5 · Webhooks
سجّل نقطة نهاية HTTPS من الملف الشخصي → Webhooks. عندما يصل التشغيل إلى حالة نهائية (completed/failed/cancelled) يصلك طلب POST موقّع؛ 3 محاولات (0/5/25 ثانية). التوقيع: HMAC-SHA256("{timestamp}.{body}").
افتح في الملف الشخصي ←يمكنك أيضًا الاشتراك بمفتاح API (Zapier/Make “REST hook”): يعيد POST /api/v1/webhooks {"url": "https://…"} مفتاح التوقيع مرة واحدة فقط؛ وGET /api/v1/webhooks يعرض الاشتراكات؛ وDELETE /api/v1/webhooks/{id} يلغي الاشتراك.
{
"event": "run.completed", // ya da run.failed / run.cancelled
"run": {
"id": "…", "status": "completed",
"pixmate_slug": "ava-generalist-marketer", "kind": "chat",
"tokens_consumed": 3,
"error_message": null, "session_id": "…",
"created_at": "…", "finished_at": "…"
},
"sent_at": "…"
}التحقّق (Python):
import hashlib, hmac
def verify(secret: str, ts: str, raw_body: bytes, signature: str) -> bool:
expected = hmac.new(
secret.encode(), f"{ts}.".encode() + raw_body, hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)
# headers: X-Webhook-Timestamp / X-Webhook-Signatureواجهة API عقد للإصدار v1 — التغييرات الجذرية تأتي في إصدار جديد. أسئلة؟ صفحة الدعم ←