توثيق API

مرحبًا بك في واجهة RobovAI Nova البرمجية. ابنِ وكلاء ذكاء اصطناعي أقوياء، أتمت سير العمل، وادمج أكثر من 100 أداة في تطبيقاتك بواجهة موحدة واحدة.

الرابط الأساسي: https://your-active-domain

المصادقة

التوثيق يعكس الواجهة الحالية: بعض المسارات عامة، بينما مسارات الإدارة والحساب والبوتات تتطلب Bearer JWT صالحًا يتم الحصول عليه من تسجيل الدخول أو من جلسة المستخدم الحالية.

HTTP Authorization: Bearer YOUR_API_KEY

Webhook المحادثة

أرسل رسائل واحصل على ردود الذكاء الاصطناعي. الموجه الذكي سيكتشف النية تلقائيًا وينفذ الأدوات عند الحاجة.

POST /webhook

Python import requests url = "__BASE_URL__/webhook" payload = { "user_id": "user_123", "message": "/weather Cairo", "platform": "web" } response = requests.post(url, json=payload) print(response.json())

Response Example

JSON { "response": "تم تنفيذ الطلب بنجاح...", "tool_used": "optional" }

المعاملات

الاسم النوع الوصف
user_id string معرف فريد لجلسة المستخدم
message string نص أو أمر المستخدم
platform string المنصة المصدر (web, telegram, whatsapp)

التعامل مع الأخطاء

جميع أخطاء الـ API تتبع صيغة JSON متسقة مع أكواد حالة HTTP.

صيغة الاستجابة

JSON { "error": "error_type", "message": "Human-readable error description", "status": 400 }

أكواد الأخطاء الشائعة

الحالة نوع الخطأ الوصف
400 Bad Request معاملات مفقودة أو مدخلات غير صالحة
401 Unauthorized مفتاح API غير صالح أو مفقود
429 Rate Limit طلبات كثيرة جدًا (راجع حدود الاستخدام أدناه)
500 Server Error خطأ داخلي في المعالجة

قائمة الأدوات المتاحة

احصل على قائمة كاملة بجميع الأدوات الـ 100+ المتاحة في منصة Nova.

GET /tools/list

Python import requests url = "__BASE_URL__/tools/list" response = requests.get(url) tools = response.json() for tool in tools: print(f"{tool['name']}: {tool['description']}")

مخطط الاستجابة

JSON [ { "command": "/weather", "name": "Weather Check", "description": "Get current weather for any city", "category": "web" }, ... ]

Superhuman Chat

نقطة المحادثة المتقدمة في الباك اند الحالي، وتُستخدم في واجهات Nova الحديثة لتوليد ردود عالية الجودة أو موجهة للبناء والنشر.

POST/chat/superhuman

Field Type Description
message string رسالة المستخدم الأساسية.
mode string مثل speed أو balanced أو quality أو builder.
user_id string هوية المستخدم أو الجلسة.
bot_id string? اختياري لربط الرد ببوت مخصص.
JSON { "message": "اكتب 3 أفكار لحملة تسويق لعقار فاخر", "user_id": "demo_user", "mode": "quality", "follow_up_rounds": 1, "require_sources": false }

Chatbots API

هذه المجموعة تعكس المسارات المفعلة في /api/chatbots لبناء وإدارة البوتات المخصصة، التكاملات، الـ CRM، والتغذية المعرفية.

POST /api/chatbots

إنشاء بوت جديد مع اسم ووصف ونوع و system prompt.

GET /api/chatbots

إرجاع قائمة بوتات المستخدم الحالية.

GET /api/chatbots/{bot_id}

تفاصيل البوت مع التكاملات وإحصاءات CRM.

POST /api/chatbots/{bot_id}/integrations

ربط منصة خارجية أو قناة تشغيل.

POST /api/chatbots/{bot_id}/train

تدريب البوت من قائمة روابط URLs.

GET /api/chatbots/{bot_id}/crm

استرجاع جهات الاتصال والسجل المرتبط بالبوت.

JSON { "name": "Sales Concierge", "description": "بوت مبيعات للموقع", "bot_type": "hybrid", "system_prompt": "أجب باحتراف وركّز على تحويل الزائر إلى عميل", "temperature": 0.7 }

Campaigns API

صفحة الوكلاء الذكيين في الواجهة تعتمد على /api/agents لإدارة الحملات، جداول التنفيذ، ومصادر المحتوى.

POST /api/agents

إنشاء حملة محتوى جديدة.

GET /api/agents

عرض الحملات المملوكة للمستخدم.

GET /api/agents/{campaign_id}

تفاصيل الحملة ومصادرها الحالية.

POST /api/agents/{campaign_id}/sources

إضافة مصدر RSS أو رابط خارجي للحملة.

JSON { "name": "Luxury Real Estate Campaign", "ai_persona": "خبير تسويق عقاري فاخر", "schedule_cron": "0 */4 * * *" }

Account & Billing API

هذه المسارات مرتبطة مباشرة بصفحة الحساب الحالية وتوفر بيانات الباقة، الملف الشخصي، التسعير، وشحن الرصيد.

Method Path Description
GET /account/subscription بيانات الباقة الحالية وحد الاستخدام وسجل آخر العمليات.
GET /account/profile الملف الكامل للمستخدم.
GET /payments/pricing خطط الاشتراك وحزم التوكنز ومزودي الدفع.
POST /account/buy-tokens إنشاء عملية شراء لحزمة توكنز.
POST /account/subscribe الاشتراك في Pro أو Enterprise.

API Playground

نفّذ طلبات مباشرة من نفس البيئة. سيتم استخدام Bearer token المخزن في المتصفح إن وُجد، لذلك يصلح هذا القسم للتحقق السريع من أن الواجهة تعكس الباك اند الحالي.

Ready.

حدود الاستخدام والأسعار

وصول تجريبي: حدود الاستخدام الحالية في الباك اند تعتمد على الباقة المرتبطة بالحساب لا على أرقام تسويقية ثابتة.
الفئة طلبات/دقيقة حد يومي السعر
مجاني (تجريبي) 50 رسالة/يوم $0
Pro 500 رسالة/يوم 99 EGP / month
Enterprise مخصص بلا حدود 299 EGP / month

تكامل Python

أسهل طريقة لدمج Nova باستخدام مقتطفات Python.

Python class NovaClient: def __init__(self, base_url): self.base_url = base_url def chat(self, user_id, message): resp = requests.post( f"{self.base_url}/webhook", json={ "user_id": user_id, "message": message, "platform": "api" } ) return resp.json().get("response") # Usage client = NovaClient("__BASE_URL__") reply = client.chat("user1", "Generate a QR code for my website") print(reply)

Node.js SDK

تكامل سريع لتطبيقات Node.js.

التثبيت

Shell npm install axios

الاستخدام

JavaScript const axios = require('axios'); class NovaClient { constructor(baseURL = '__BASE_URL__') { this.client = axios.create({ baseURL }); } async chat(userId, message, platform = 'api') { const response = await this.client.post('/webhook', { user_id: userId, message: message, platform: platform }); return response.data; } async listTools() { const response = await this.client.get('/tools/list'); return response.data; } } // Example usage const nova = new NovaClient(); nova.chat('user123', '/weather Cairo') .then(data => console.log(data.response)) .catch(err => console.error(err));

أمثلة cURL

اختبار سريع باستخدام أدوات سطر الأوامر.

طلب محادثة

Shell curl -X POST __BASE_URL__/webhook \ -H "Content-Type: application/json" \ -d '{ "user_id": "user_456", "message": "/search latest AI news", "platform": "api" }'

قائمة الأدوات

Shell curl -X GET __BASE_URL__/tools/list

مع المصادقة (الإنتاج)

Shell curl -X POST __BASE_URL__/webhook \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"user_id":"user1","message":"Hello"}'

تكامل بوت تيليجرام

اربط Nova ببوت تيليجرام الخاص بك في دقائق.

خطوات الإعداد

  1. أنشئ بوت عبر @BotFather واحصل على التوكن
  2. أعد إعداد Webhook يشير إلى نقطة Nova
  3. اضبط متغيرات البيئة
  4. انشر واختبر

إعداد Webhook

Python import requests from telegram import Update, Bot from telegram.ext import Application, MessageHandler, filters BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" NOVA_URL = "__BASE_URL__/webhook" async def handle_message(update: Update, context): user_id = str(update.effective_user.id) message = update.message.text # Forward to Nova response = requests.post(NOVA_URL, json={ "user_id": user_id, "message": message, "platform": "telegram" }) reply = response.json().get("response", "Error") await update.message.reply_text(reply) # Setup app = Application.builder().token(BOT_TOKEN).build() app.add_handler(MessageHandler(filters.TEXT, handle_message)) app.run_polling()

تكامل واتساب API

ادمج Nova مع WhatsApp Business API أو Twilio.

باستخدام Twilio

Python from flask import Flask, request from twilio.twiml.messaging_response import MessagingResponse import requests app = Flask(__name__) NOVA_URL = "__BASE_URL__/webhook" @app.route("/whatsapp", methods=['POST']) def whatsapp_webhook(): incoming_msg = request.values.get('Body', '') sender = request.values.get('From', '') # Call Nova nova_response = requests.post(NOVA_URL, json={ "user_id": sender, "message": incoming_msg, "platform": "whatsapp" }) reply_text = nova_response.json().get("response", "Error") # Send back via Twilio resp = MessagingResponse() resp.message(reply_text) return str(resp) if __name__ == "__main__": app.run(debug=True)
ملاحظة: ستحتاج حساب Twilio وموافقة WhatsApp Business API. للاختبار، استخدم Twilio Sandbox لواتساب.