مرجع API

الأساس https://ai.syctra.com/api/v1 · كل نقطة نهاية تتطلّب Authorization: Bearer <token> ما لم تُعلَّم عام. راجع API والتكامل الأصلي للمصادقة والأخطاء والحدود والأمن.

التشغيلات — التحدّث إلى وكيل

POST /chat

يبدأ تشغيلاً دائماً ويردّ فوراً.

الحقلالنوعالافتراضيالوصف
messagestringمطلوب. ما تطلبه من الوكيل
app_namestring"main"الوكيل الهدف. أي مفتاح من الفهرس (interactive، data_copilot، contract_review_dz، slide_master، finance_master…) أو custom_<id> لأحد وكلائك
session_iduuidجديدمتابعة محادثة قائمة. اتركه فارغاً لبدء واحدة
attachmentsstring[]معرّفات من POST /uploads
kb_idsstring[]قواعد المعرفة التي يجوز للوكيل البحث فيها
kb_enhanceboolfalseإعادة صياغة إجابات RAG بالنموذج (أبطأ، أغنى)
planboolfalseوضع الخطة: يكتب الوكيل خطة خطوات وينفّذها، ويُصدر plan / plan_step
modelstringافتراضي الحسابمفتاح من فهرس النماذج — راجع GET /models
reasoningboolfalseتفكير أطول قبل الإجابة
data_workspace_iduuidمساحة Data Lab التي يعمل عليها
client_tzstringUTCمنطقة IANA، مثل "Africa/Algiers"
idempotency_keystringآمن للإعادة: المفتاح نفسه يُرجع التشغيل نفسه
{ "run_id": "…", "session_id": "…", "cursor": 0, "resumed": false,
  "status": "running", "queue_seq": 0 }

status يكون running، أو queued إذا كانت الجلسة مشغولة (يبدأ تلقائياً عند انتهاء سابقه)، أو blocked.

الطريقةالمسارالغرض
POST/tasksمثل /chat لكن منفصل صراحةً — للمهام الخلفية
GET/runs/{run_id}/eventsبثّ SSE للتشغيل (أدناه)
POST/runs/{run_id}/respondالإجابة عن سؤال طرحه الوكيل (user_choice، quiz، موافقة)
POST/runs/{run_id}/cancelإيقاف تشغيل جارٍ
GET/sessions/{id}/queueفحص طابور الجلسة
POST/sessions/{id}/queue/resumeاستئناف طابور أوقفه خطأ

GET /runs/{run_id}/events — البثّ

text/event-stream. كل حدث يحمل id (رقم seq تصاعدي) وevent (نوعه) وdata (JSON). قابل للاستئناف: أعد الاتصال بـ Last-Event-ID: <seq> أو ?after=<seq> فيُعاد بثّ كل ما بعد هذا المؤشّر من التخزين الدائم — لا يضيع عمل ولا تتكرّر فوترة.

المجموعةالأحداث
الإجابةtoken (شذرة نص) · usage (عدّاد الرموز) · done · error
الأدواتtool_call · tool_result · sandbox_stdout
الخطةplan (خطوات مرتّبة) · plan_step (الفهرس + الحالة)
المستنداتdocument_start · document_delta · document_end (يحمل artifact_id)
المخرجاتartifact · file (PDF/DOCX/PPTX/XLSX) · image · slides · webpage · chart · sheet
البحثsources (نتائج الويب) · graph (رسم المعرفة) · browser (لقطات المتصفّح) · maps
تدخّل الإنسانuser_choice · choice_answer · quiz · approval (إجراء بانتظار تأكيدك)
الاتصالemail_draft · email_sent · social · call
الاستوديوهات القانونيةdossier · timeline · doc_summary · findings · contract · clause · contract_compare · consultation · legal_issues · ref_check · deadline · watch_synthesis · watch_change · watch_diff
التوظيفcandidate · iv_job · iv_candidate · iv_questions · iv_grid · iv_answers · iv_ask · iv_plan
الأعمالprospect · cerfa · exhibition · finance · site_map · site_pack

استهلك token وdone وerror للحصول على إجابة نصية بسيطة؛ الباقي بطاقات مهيكلة يمكنك عرضها أو تجاهلها. الأنواع غير المعروفة يجب تخطّيها لا اعتبارها أخطاء — تُضاف أنواع جديدة مع الوقت.

الطريقةالمسارالغرض
GET/modelsفهرس النماذج المتاحة لحسابك
GET/sessionsسرد المحادثات
GET/sessions/{id}جلسة واحدة وأحدث أحداثها
PATCH DELETE/sessions/{id}إعادة تسمية / حذف
GET/sessions/{id}/messagesسجلّ الرسائل الكامل
GET/sessions/{id}/artifactsكل ما أنتجته الجلسة
POST/sessions/{id}/branchتفريع المحادثة عند نقطة
POST/sessions/{id}/truncateاقتطاع المحادثة عند رسالة
GET POST/sessions/{id}/versionsسجلّ نسخ المخرجات / الاستعادة
GET/sessions/search?q=بحث نصّي كامل في محادثاتك

الملفات

الطريقةالمسارالغرض
POST/uploads{filename, content_base64, mime, session_id?}{upload_id}. يُحلَّل تلقائياً (OCR، رؤية، تفريغ صوتي). حتى ٢٠٠ ميغابايت للملف
GET/uploads/{id}حالة التحليل والنص المستخرج
GET/uploads/{id}/rawالبايتات الأصلية
POST/artifactsإنشاء مُخرَج من محتواك
GET/artifacts/{id}تنزيل ملف مُنتَج
POST/exportتحويل Markdown/HTML إلى PDF أو DOCX أو PPTX
POST/export-textتصدير نصّي بسيط

اربط ملفاً مرفوعاً بتشغيل بتمرير معرّفه في attachments. المقبول: PDF، Office، صور، صوت، فيديو، CSV/Excel، ZIP (يُفكّ تكرارياً).

قواعد المعرفة (RAG)

الطريقةالمسارالغرض
POST GET/kbإنشاء / سرد قواعد المعرفة
PATCH DELETE/kb/{id}إعادة تسمية / حذف
GET POST/kb/{id}/documentsسرد / إضافة مستندات (الاستيعاب غير متزامن)
POST/kb/query/streamاستعلام مبثوث (أدناه)
GET PUT/kb/{id}/configملف الاسترجاع (قانوني / مؤسسي / زمني / عام)، لغة FTS، الميزانيات. PUT يعيد كتابة كل الحقول — أرسل الكائن كاملاً
GET/kb/{id}/chunks · /entities · /graphفحص الفهرس والكيانات المستخرجة والرسم
GET/kb/{id}/file/{doc_id} · /image/{image_id}المستند المصدر / الصورة المستخرجة
POST GET/kb/{id}/conversationsمحادثات RAG متعدّدة الأدوار
GET/kb/{id}/conversations/{cid}/messagesسجلّ المحادثة
GET POST DELETE/kb/{id}/connectorsالمزامنة من مصادر خارجية؛ /kb/connectors/catalog يسردها
POST GET DELETE/kb/{id}/shareنشر رابط استعلام عام
GET/kb/pricingنموذج التكلفة لكل استعلام
curl -N -X POST https://ai.syctra.com/api/v1/kb/query/stream \
  -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' -d '{
    "kb_id": "…", "q": "ما بنود الفسخ بعد ١٢ شهراً؟",
    "mode": "full", "cite": true, "enhance": false, "agent": false, "top_k": 20
  }'
الحقلالقيمالوصف
modeauto · quick · full · deep · graph_local · graph_globalعمق الاسترجاع. auto يختار حسب السؤال
citeboolاستشهادات [N] داخل النص ومعرّفات المصادر
enhanceboolإعادة صياغة الإجابة بالنموذج
agentboolتفكيك الأسئلة المركّبة قبل الاسترجاع
doc_idstringحصر الاسترجاع في مستند واحد
conversation_iduuidمتابعة محادثة متعدّدة الأدوار

الوكلاء المخصّصون

الطريقةالمسارالغرض
GET/agent-toolsفهرس القدرات القابلة للتفعيل على وكيل
GET POST/agents/customسرد / إنشاء
GET PUT DELETE/agents/custom/{id}قراءة / تعديل / حذف
POST/agents/custom/personaاستخلاص شخصية من كتابات مرفوعة
GET/marketplace · /marketplace/{id}الوكلاء المنشورون
POST/marketplace/{id}/install · /publish · /unpublishالتثبيت / النشر / السحب
{
  "name": "محلّل المناقصات", "emoji": "📑",
  "description": "يقرأ ملفات المناقصات وينتج مذكّرة قرار",
  "instruction": "أنت محلّل صفقات عمومية…",
  "tool_keys": ["web", "deep_research", "documents", "knowledge_base", "database"],
  "model": "standard", "visibility": "private",
  "examples": ["حلّل هذه المناقصة"], "tags": ["مشتريات"]
}

مفاتيح القدرات: knowledge_base · web · deep_research · agent_team · computer_use · algerian_law · documents · slides · charts · images · webpage · code · quiz · email · planning · scraping · prospecting · linkedin · meta · obsidian · knowledge_graph · scheduling · workspace_files · data_engineering · database · n8n · stripe · paypal · notion · github · gitlab · elevenlabs · microsoft · atlassian · slack · s3 · apify · mcp_remote.

شغّله كأي وكيل آخر: POST /chat مع "app_name": "custom_<id>".

المُجدوِل

الطريقةالمسارالغرض
GET POST/cronسرد / إنشاء تشغيل مجدول
PATCH DELETE/cron/{id}إيقاف مؤقّت، تعديل، حذف
POST/cron/{id}/runتشغيل فوري مرّة واحدة
{ "name": "رصد المنافسين يوم الاثنين", "cron_expr": "0 8 * * 1",
  "timezone": "Africa/Algiers", "prompt": "لخّص تحرّكات الأسبوع الماضي…",
  "app_name": "main", "delivery_email": "team@acme.com" }

صيغة cron القياسية بخمسة حقول. delivery_email يرسل الإجابة النهائية بالبريد؛ اتركه فارغاً لتعطيل الإرسال.

Data Lab

الطريقةالمسارالغرض
GET POST/data/workspacesسرد / إنشاء مساحة DuckDB دائمة
PATCH DELETE/data/workspaces/{id}إعادة تسمية / حذف
POST/data/workspaces/{id}/ingestتحميل Excel/CSV — أوراق فوضوية، ترويسات متعدّدة الأسطر، عدّة جداول في الورقة
GET/data/workspaces/{id}/tables · /filesفحص المخطّط والمصادر
POST/data/workspaces/{id}/queryتنفيذ SQL على المساحة
DELETE/data/workspaces/{id}/tables/{table}حذف جدول

سرب الوكلاء

الطريقةالمسارالغرض
GET/swarm/api/teams · /catalogue · /healthالفرق المتاحة وحالة المحرّك
POST/swarm/api/runبدء تشغيل متعدّد الوكلاء
GET/swarm/api/run/{id}/streamالتقدّم عبر SSE
POST/swarm/api/run/{id}/cancelإيقافه
GET/swarm/api/dossiers · /{id} · /{id}/file/{name}الملفّات المنتَجة وموادّها
POST/swarm/api/convert · /template/inspectتحويل المخرجات / فحص قالب عرض

المستندات والمشاريع

الطريقةالمسارالغرض
GET/docspaceشجرة المجلّدات والمستندات
POST PATCH DELETE/folders, /folders/{id}إدارة المجلّدات
POST PATCH DELETE/documents, /documents/{id}إدارة المستندات
GET/documents/{id}/contentقراءة المحتوى
POST/documents/{id}/attachربط مستند بمحادثة
POST/docspace/import-zipاستيراد جماعي
GET POST/projects, /projects/{id}مساحات تجمع المحادثات والملفات
POST GET DELETE/projects/{id}/membersصلاحيات المشروع

المشاركة (روابط عامة)

الطريقةالمسارالغرض
POST GET DELETE/sessions/{id}/shareنشر محادثة
GET/shared/{slug}عام — قراءة محادثة منشورة
GET/shared/{slug}/artifacts/{id}عام — مُخرَج من محادثة منشورة
GET POST/shared/{slug}/commentsعام — سلسلة تعليقات
POST/shared/{slug}/cloneنسخ محادثة منشورة إلى حسابك
POST GET DELETE/docshareمشاركة المستندات والمجلّدات
GET/shared-doc/{slug}عام — مستند مشترك
GET/shared-kb/{slug} · POST /shared-kb/{slug}/query/streamعام — رابط قاعدة معرفة، والاستعلامات تُفوتر على المالك

الرابط العام عنوان غير مُفهرس، لا مصادقة. ما تنشره يقرؤه كل من يملك الرابط — والاستعلامات على قاعدة مشتركة تُفوتر عليك أنت. ألغِ بالمسار DELETE المقابل.

الأداة المدمجة (Widget)

أنشئ أداة في التكاملات ← Widget، ثم الصق سطراً واحداً في موقعك:

<script src="https://ai.syctra.com/embed.js" data-key="pk_live_…" async></script>

اختيارياً data-position="bottom-left" | "bottom-right". تستدعي الأداة واجهة عامة منفصلة تحت /embed-api — المفتاح العام ليس مفتاح API ولا يستطيع قراءة حسابك:

الطريقةالمسارالغرض
GET/embed-api/config/{public_key}عام — إعدادات الأداة
POST/embed-api/chatعام — رسالة زائر
GET/embed-api/runs/{run_id}/eventsعام — بثّ الإجابة
GET/embed-api/history/{public_key}/{visitor_id}عام — سجلّ الزائر
GET POST PATCH DELETE/embed-widgetsإدارة المالك (بمصادقة)

المساران /embed-api/* و/scim/v2/* يُقدَّمان من جذر النطاق، لا تحت /api/v1 — مثال: https://ai.syctra.com/embed-api/chat.

لا يُربط بالأداة إلا الوكلاء المسموح بهم للاستخدام العام، وحركة الزوّار محدودة لكل أداة، وكل محادثة تُفوتر على المؤسسة المالكة. قيّد المصادر (origins) المسموحة قبل النشر.

الفرق والمؤسسة والتزويد

الطريقةالمسارالغرض
GET/enterprise · /enterprise/analytics · /enterprise/retentionالمؤسسة، الاستخدام، سياسة الاحتفاظ
POST DELETE/enterprise/teams, /teams/{id}إدارة الفرق
POST DELETE/enterprise/teams/{id}/members…العضوية
POST DELETE/enterprise/teams/{id}/grantsالوكلاء المسموحون لفريق
POST/enterprise/teams/{id}/invite · /invites/revoke · /invites/resendالدعوات
GET POST/invite/{token}, /invite/{token}/acceptعام — قبول الدعوة
GET PUT DELETE/enterprise/ssoالدخول الموحّد SAML / OIDC
POST/enterprise/scim-tokenإصدار رمز تزويد SCIM
GET/me/caps · /me/teams · POST /me/active-teamصلاحيات المستدعي وفرقه
GET POST DELETE/teams, /groups, /share-targetsفرق خفيفة، مجموعات، أهداف مشاركة

SCIM 2.0 يُقدَّم على https://ai.syctra.com/scim/v2 برمز خاص به (ليس مفتاح API): GET|POST /Users، GET|PUT|PATCH|DELETE /Users/{id}، GET /Groups.

الحساب والإشعارات والخصوصية

الطريقةالمسارالغرض
GET PATCH/auth/meالملف الشخصي
POST/auth/change-password · /auth/logoutبيانات الاعتماد / الخروج
GET/balanceرصيد الأرصدة
GET POST/notifications, /notifications/readفيد الإشعارات
PUT/me/notify-email · /me/low-balance-pctتفضيلات الإشعار
GET POST/push/vapid-key, /push/subscribeاشتراكات Web Push
GET DELETE PUT/memory, /memory/{id}, /memory/settingsالذاكرة طويلة الأمد: قراءة، حذف، إلغاء الاشتراك
GET/account/exportGDPR — تصدير كل ما تملكه
DELETE/accountGDPR — حذف الحساب وبياناته
GET POST/approvals, /approvals/{id}/decideالموافقة على إجراء محجوب أو رفضه
GET PUT/approval-settingsأي القدرات تتطلّب موافقة بشرية

أسطح أخرى

الطريقةالمسارالغرض
GET POST DELETE/deadlines…أجندة الآجال القانونية
POST GET DELETE/meetings…تفريغ الاجتماعات ومحاضرها
POST GET DELETE/dubbings…, GET /dubbing/languagesمهام دبلجة الفيديو / الصوت
POST GET DELETE/email-compose, /email-templatesالرسائل المُنشأة والقوالب
POST/email/sendإرسال بريد عبر المنصّة
GET POST DELETE/promptsالمُوجّهات المحفوظة
POST/feedback · /message-feedbackملاحظات المنتج وملاحظات كل إجابة
GET/healthz · /readyz · /metricsعام — الحياة والجاهزية ومقاييس Prometheus

ملاحظات للمُكامِلين

  • لا توجد بعد webhooks صادرة. تابع الأعمال الطويلة بإبقاء بثّ SSE مفتوحاً، أو باستطلاع GET /sessions/{id} — التشغيل يصمد أمام انقطاعك في الحالتين.
  • استطلع بأدب. فضّل SSE؛ وإن اضطررت للاستطلاع فاستخدم cursor الذي تملكه.
  • احفظ المؤشّر. حفظ آخر seq عالجته يجعل تكاملك آمناً أمام الأعطال.
  • ثبّت الوكيل. app_name يحدّد السلوك والتكلفة والأدوات المتاحة — عيّنه صراحة بدل الاعتماد على الافتراضي main.
  • عالج 402 و429 أولاً. هما الخطآن اللذان يلقاهما أي تكامل سليم في الإنتاج؛ ما عداهما يدلّ غالباً على خلل في الحمولة.