دليل المطوّرين والربط مع Helpy

اربط Claude وChatGPT وCursor وHermes بـ Helpy عبر MCP، واربط أنظمتك بـ REST API والويبهوكات — بنفس صلاحيات كل مستخدم بالظبط.

نظرة عامة

فيه 3 طرق تربط بيها أي حاجة بـ Helpy، وكلها بتشتغل بصلاحيات المستخدم اللي ربط ونطاق بياناته بالظبط، وبتتراجع فوراً لو صلاحياته اتغيّرت أو فصل الاتصال:

الطريقةلمينالعنوان
خادم MCPتطبيقات الذكاء الاصطناعي: Claude وChatGPT وCursor وHermes وClaude Code وVS Codehttps://helpy.ai/api/mcp
REST API v1أنظمتك وسكربتاتك وn8n وMake وتطبيقاتكhttps://helpy.ai/api/v1
Webhooksاستقبال أحداث لحظية (عميل جديد أو اتعدّل)من Helpy ← التطبيقات ← Zapier/Webhooks

وصف OpenAPI 3.1 الكامل للـ REST API (لـ Postman وSwagger ومولّدات SDK):

https://helpy.ai/api/v1/openapi.json

اربط تطبيق ذكاء اصطناعي في دقيقتين

الرابط واحد لكل التطبيقات. التطبيق بيكتشف تسجيل الدخول لوحده (OAuth)، فبتسجّل دخولك في Helpy مرة وتوافق — من غير ما تنسخ أي مفتاح. الإعداد خطوة بخطوة جوه Helpy في الإعدادات ← ربط الذكاء الاصطناعي.

رابط الخادم

https://helpy.ai/api/mcp
التطبيقالإعداد
Claudeالإعدادات ← Connectors ← Add custom connector ← الصق الرابط ← Connect ووافق. على Team/Enterprise المالك يضيفه للمؤسسة مرة واحدة.
ChatGPTSettings ← Apps & Connectors ← Advanced ← فعّل Developer mode ← Create: الرابط ومصادقة OAuth ← وافق.
Cursorزر «أضف لـ Cursor» في Helpy، أو ~/.cursor/mcp.json ثم Login من إعدادات MCP.
Hermes~/.hermes/config.yaml ثم hermes mcp login helpy — أو مفتاح API للتشغيل الآلي.
Claude Codeالأمر تحت، ثم /mcp ← helpy ← Authenticate.
VS Code.vscode/mcp.json ثم وضع Agent في Copilot Chat.

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "helpy": {
      "url": "https://helpy.ai/api/mcp"
    }
  }
}

Hermes — ~/.hermes/config.yaml

mcp_servers:
  helpy:
    url: "https://helpy.ai/api/mcp"
    auth: oauth

# then run: hermes mcp login helpy

Claude Code

claude mcp add --transport http helpy https://helpy.ai/api/mcp

VS Code — .vscode/mcp.json

{
  "servers": {
    "helpy": {
      "type": "http",
      "url": "https://helpy.ai/api/mcp"
    }
  }
}

بمفتاح API بدل تسجيل الدخول (Hermes على سيرفر، n8n، أي عميل MCP مبيدعمش OAuth): ابعت الترويسة Authorization: Bearer <المفتاح>.

Hermes بمفتاح API (متغيّر البيئة HELPY_API_KEY)

mcp_servers:
  helpy:
    url: "https://helpy.ai/api/mcp"
    headers:
      Authorization: "Bearer ${HELPY_API_KEY}"

إزاي خادم MCP بيشتغل

  • النقل: Streamable HTTP بدون جلسة (POST بـ JSON-RPC) — يدعم إصدارات البروتوكول 2025-11-25 و2025-06-18 و2025-03-26 و2024-11-05.
  • الأدوات: نفس أدوات مساعد Helpy (حوالي 90 أداة) — التطبيق بيشوف بس اللي المستخدم مسموح له بيه في شركته وباقته وتطبيقاته المركّبة.
  • القراءة فورية. أي تغيير بيرجع معاينة فيها action_id ومبيتنفّذش؛ بعد موافقة المستخدم في المحادثة التطبيق يستدعي helpy_confirm_action. فيه كمان helpy_cancel_action وhelpy_undo_action (للتغييرات القابلة للعكس خلال دقايق).
  • التغييرات اللي بتمسّ عدد كبير من العملاء محتاجة acknowledge_bulk=true بعد ما المستخدم يأكد العدد.
  • search وfetch: بحث موحّد في العملاء والمحادثات ومركز المساعدة (متوافق مع Deep Research في ChatGPT).
  • أوامر جاهزة (prompts) بتظهر كاختصارات في Claude وCursor:
الأمربيعمل إيه
daily_briefingأرقام اليوم، المحادثات المنتظرة، المهام والحجوزات — وخطة بالأولويات.
inbox_triageالمحادثات اللي مستنية رد: ملخص كل واحدة واقتراح رد.
follow_up_leadsالعملاء الجدد أو اللي محدش كلمهم — مين نتابع وإزاي.
customer_360كل حاجة عن عميل: بياناته، محادثاته، مهامه وحجوزاته، والخطوة الجاية.
weekly_reportأداء آخر 7 أيام مقارنة بالأسبوع اللي قبله، وتوصيات.
launch_campaignخطة حملة كاملة (صفحة، رسائل، متابعة) وتنفيذها خطوة بخطوة بموافقتك.

قصر الأدوات على مجموعات: ضيف أسماء المجموعات للرابط مفصولة بفاصلة، مثلاً /api/mcp/crm,inbox,tasks. أدوات الحساب والمساعدة والموافقة موجودة دايماً.

المجموعةفيها
crmالعملاء والمراحل والملاحظات والجماهير
inboxالبحث في المحادثات وقراءتها والرد وتغيير حالتها
tasksالمهام وأعضاء الفريق
bookingsالحجوزات والأوقات المتاحة
pagesصفحات الهبوط وأكواد QR والكتالوجات والهوية
outreachالتسلسلات وقوالب واتساب والبث
automationsالأتمتة ووصفاتها
agentsالوكلاء الأذكياء وحملاتهم
callsالمكالمات وطلبات الاتصال ومسارات المكالمات
prospectsالبحث عن عملاء محتملين وأبحاث الشركات
workspaceالتقارير وتشخيص التطبيقات والفريق والإعدادات

المصادقة

OAuth 2.1 (للتطبيقات اللي المستخدم بيربطها بنفسه):

البندالقيمة
اكتشاف المورد (RFC 9728)https://helpy.ai/.well-known/oauth-protected-resource/api/mcp
اكتشاف خادم التفويض (RFC 8414)https://helpy.ai/.well-known/oauth-authorization-server
صفحة الموافقةhttps://helpy.ai/oauth/authorize
التوكنhttps://helpy.ai/api/oauth/token
تسجيل عميل ديناميكي (RFC 7591)https://helpy.ai/api/oauth/register
الإلغاء (RFC 7009)https://helpy.ai/api/oauth/revoke
الصلاحيات (scopes)helpy:read للقراءة، وhelpy:write للتغييرات — والمستخدم يقدر يشيل التغييرات في شاشة الموافقة
الأمانPKCE (S256) إلزامي، توكن الوصول ساعة، وتوكن التجديد 90 يوم بيتجدّد مع كل استخدام (ولو اتسرق واتستخدم تاني الاتصال بيتقفل)، وCIMD مدعوم

مفاتيح API (للأنظمة والتشغيل الآلي): من Helpy ← الإعدادات ← ربط الذكاء الاصطناعي ← مفاتيح API. المفتاح بيظهر مرة واحدة، وبيشتغل مع خادم MCP والـ REST API. «اسمح بالتغييرات» تديله helpy:write.

Authorization: Bearer hlp_sk_YOUR_KEY

REST API v1

  • العنوان الأساسي: https://helpy.ai/api/v1
  • الرد دايماً { "data": ..., "meta"?: ... } والخطأ { "error": { "code", "message" } }.
  • الصفحات بمؤشّر: meta.nextCursor ابعته كـ ?cursor= في الطلب التالي.
  • النصوص المترجمة (أسماء المراحل والخدمات) بالعربي افتراضياً — ?locale=en أو Accept-Language: en للإنجليزي.
  • كل حاجة خارج نطاق بيانات المستخدم بترجع 404 كأنها مش موجودة.
الطلبالصلاحيةالوصف
GET /me—المستخدم والشركة والصلاحيات الفعلية ونوع الاتصال
GET /leadsleads.viewالعملاء: ?search= ?status= ?cursor=
POST /leadsleads.createإضافة عميل (هاتف أو إيميل) بنفس تحقق الشاشة ومنع التكرار
GET /leads/{id}leads.viewملف العميل كامل
PATCH /leads/{id}leads.status / pipeline.move / leads.assignالحالة أو المرحلة أو قيمة الصفقة أو المسؤول
GET|POST /leads/{id}/notesleads.view / leads.notesالملاحظات
GET /leads/{id}/timelineleads.viewسجل النشاط كامل
GET /pipeline/stagespipeline.viewمراحل القمع
GET|POST /taskstasks.view / tasks.createالمهام: ?status=open|done ?scope=mine|all
GET|PATCH|DELETE /tasks/{id}tasks.view / tasks.edit / tasks.deleteمهمة — done:true تنهيها
GET /conversationsinbox.viewالمحادثات: ?scope= ?state= ?channel= ?q=
GET /conversations/{id}inbox.viewالمحادثة برسائلها
POST /conversations/{id}/messagesinbox.reply + صلاحية القناةإرسال رد نصي (واتساب داخل نافذة 24 ساعة)
POST /conversations/{id}/stateinbox.stateفتح أو تأجيل أو إغلاق
GET|POST /bookingsbookings.view / bookings.createحجوزات يوم ?date= أو حجز جديد
GET /bookings/options · /bookings/slotsbookings.viewالموارد والخدمات والأوقات المتاحة
POST /bookings/{id}/statusbookings.editconfirm أو complete أو no_show
GET /teamteam.viewأعضاء الفريق والأقسام

إضافة عميل

curl -X POST https://helpy.ai/api/v1/leads \
  -H "Authorization: Bearer hlp_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Sara Ahmed","phone":"+966501112233","email":"sara@example.com","tags":["expo"]}'

مهمة متابعة على العميل

curl -X POST https://helpy.ai/api/v1/tasks \
  -H "Authorization: Bearer hlp_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Call Sara","leadId":"LEAD_ID","dueAt":"2026-11-01T09:00:00Z","priority":"HIGH"}'

الرد على محادثة

curl -X POST https://helpy.ai/api/v1/conversations/CONVERSATION_ID/messages \
  -H "Authorization: Bearer hlp_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body":"أهلاً سارة، عرض السعر في الطريق 👋"}'

JavaScript

const res = await fetch("https://helpy.ai/api/v1/leads?search=Sara", {
  headers: { Authorization: `Bearer ${process.env.HELPY_API_KEY}` },
});
const { data, error } = await res.json();

Python

import os, requests

res = requests.get(
    "https://helpy.ai/api/v1/tasks",
    headers={"Authorization": f"Bearer {os.environ['HELPY_API_KEY']}"},
)
tasks = res.json()["data"]

الأخطاء وحدود الاستخدام

الحالةالرمزالمعنى
400invalid_body · invalid_* · nothing_to_updateالطلب ناقص أو قيمة غلط
401unauthorizedتوكن ناقص أو غلط أو اتلغى أو انتهى
403forbidden · insufficient_scope · api_disabledالصلاحية مش كفاية، أو المفتاح للقراءة بس، أو الربط مقفول للشركة
404not_foundمش موجود أو خارج نطاق بيانات المستخدم
409duplicate · whatsapp_window_closed · email_not_supportedبيتعارض مع الحالة الحالية
422validation_failedالبيانات مش صالحة (هاتف أو إيميل)
429rate_limitedطلبات كتير — استنّى Retry-After
  • REST: 240 طلب قراءة و60 طلب تغيير في الدقيقة لكل اتصال.
  • MCP: 120 طلب في الدقيقة لكل اتصال.
  • كل رد فيه Helpy-Api-Version وX-RateLimit-Limit.

الويبهوكات (Webhooks)

من Helpy ← التطبيقات ← Zapier/Webhooks أضف رابطك واختار الأحداث: lead.created وlead.updated. كل تسليم POST بـ JSON، وبيتعاد لحد 6 مرات لو رابطك مردّش بـ 2xx.

الجسم

{
  "event": "lead.created",
  "data": { "id": "…", "name": "Sara Ahmed", "phone": "+9665…", "status": "NEW", "createdAt": "…" },
  "firedAt": "2026-10-28T12:00:00.000Z"
}

اتأكد إن الطلب جاي من Helpy: الترويسة X-Webhook-Signature = sha256=HMAC-SHA256(الجسم الخام، سرّ الويبهوك).

Node.js

import { createHmac, timingSafeEqual } from "node:crypto";

function fromHelpy(rawBody, header, secret) {
  const expected = "sha256=" + createHmac("sha256", secret).update(rawBody).digest("hex");
  return header?.length === expected.length && timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

الأمان والخصوصية

  • كل طلب بيتحقق من المستخدم وصلاحياته ونطاق بياناته من قاعدة البيانات لحظتها — مفيش صلاحية بتتخزن في التوكن.
  • التوكنات والمفاتيح بتتخزن بصمات SHA-256 بس، ومفيش أي سرّ بيتكتب في السجلات.
  • المستخدم يفصل أي تطبيق أو مفتاح فوراً، والمالك يفصل اتصالات فريقه. «الخروج من كل الأجهزة» وتغيير كلمة السر بيفصلوا كل حاجة.
  • الربط والفصل وإنشاء المفاتيح وكل تغيير بيتسجّل في سجل التدقيق.
  • في MCP: رسايل العملاء والملاحظات بتتعامل كبيانات مش أوامر، والتغييرات محتاجة موافقة صريحة.
  • فريق Helpy يقدر يقفل الربط على المنصة كلها أو لشركة واحدة فوراً.