واجهة برمجة تطبيقات REST وخادم MCP لحجز محامين معتمدين في مجال الهجرة في جميع أنحاء إسبانيا. يؤكد العملاء الحجز ويدفعون دائمًا عبر leyapp.es، ولا يتم التعامل مع الأموال من خلال نظام التكامل الخاص بك.
تُتيح واجهة برمجة التطبيقات (API) الوصول إلى نفس بيانات المحامين المعتمدين المتوفرة على موقع leyapp.es: البحث، والملفات الشخصية العامة، والتقييمات، والتوافر، ونوايا الحجز. يعمل الوصول المجهول بحدود استخدام منخفضة؛ بينما يُتيح مفتاح واجهة برمجة التطبيقات رفع هذه الحدود والوصول إلى نقاط النهاية المُفهرسة وتحليلات الاستخدام.
لا توجد مدفوعات عبر واجهة برمجة التطبيقات (API).
نية الحجز هي حجز لمدة 15 دقيقة. يؤكد العميل الحجز ويدفع عبر موقع leyapp.es - لا يتعامل نظامك المتكامل مع الأموال أو بيانات البطاقات.
صديق للمجهولين
تعمل نقاط النهاية للقراءة وإنشاء النوايا بدون مفتاح، ضمن حدود معقولة لكل عنوان IP. المفاتيح مجانية ويتم إنشاؤها في لوحة التحكم الخاصة بك.
وضع الاختبار مدمج
تقوم مفاتيح leyk_test_ بتشغيل مسار التحقق الكامل ولكنها لا تُنشئ أي شيء ولا تُرسل أي إشعارات. قم بالبناء على بيئة الاختبار، ثم قم بالنشر مع بيئة الإنتاج.
يمكن تتبعها من خلال التصميم
كل رد يحمل معرف الطلب X. اذكره للدعم وسنجد طلبك المحدد.
من الصفر إلى نية حجز (تجريبية) في أربع طلبات. أنشئ مفتاح اختبار مجاني في لوحة التحكم ← المطور أولاً.
# 1. Get a test key at leyapp.es/dashboard/developer
export LEYAPP_API_KEY="leyk_test_..."
# 2. Find a lawyer
curl "https://leyapp.es/api/v1/lawyers/search?city=Barcelona&practice_area=immigration" \
-H "Authorization: Bearer $LEYAPP_API_KEY"
# 3. Check availability (id from step 2)
curl "https://leyapp.es/api/v1/lawyers/<lawyer_id>/availability" \
-H "Authorization: Bearer $LEYAPP_API_KEY"
# 4. Create a (test) booking intent
curl -X POST "https://leyapp.es/api/v1/bookings/initiate" \
-H "Authorization: Bearer $LEYAPP_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-1" \
-d '{"lawyer_id":"<lawyer_id>","date":"<date>","start_time":"09:00:00","end_time":"10:00:00"}'أرسل مفتاحك كرمز حامل في كل طلب:
Authorization: Bearer leyk_...
يمكن لشركة محاماة على منصة LeyApp امتلاك مفاتيح واجهة برمجة التطبيقات (API) مباشرةً، بشكل منفصل عن المفاتيح الشخصية للعاملين فيها. ينتمي مفتاح الشركة إلى المؤسسة، لذا يبقى فعالاً حتى مع تغيير الموظفين: فعندما يتغير دور الشخص الذي أنشأه أو يغادر، يستمر المفتاح في العمل، ويتم إخطار مالكي الشركة ومديريها ليتمكنوا من تحديثه بشكل مدروس بدلاً من اكتشاف انقطاع الخدمة.
يستطيع المالكون والمسؤولون إدارة مفاتيح الشركة بحكم أدوارهم. أما أي عضو آخر فلا يمكنه الوصول إليها إلا بعد منحه صلاحية محددة.
تدعم مفاتيح الشركة عنصرين إضافيين للتحكم: قائمة عناوين IP المسموح بها، والتي تمنع استخدام المفتاح من أي عنوان خارج القائمة، والتعليق، الذي يوقف عمل المفتاح مؤقتًا دون حذفه. يمكن لشركتك رفع التعليق الذي تفرضه، بينما لا يمكن رفع التعليق الذي تفرضه LeyApp إلا من قِبل LeyApp.
تخضع الطلبات المُفهرسة لحدود مُتدرجة (نافذة مزدوجة: زيادة دقيقة + حصة يومية) مع رؤوس X-RateLimit-Limit و X-RateLimit-Remaining و X-RateLimit-Reset. عند استخدام المنفذ 429، يتم تطبيق إعادة المحاولة بعد المحاولة وإعادة المحاولة مع تأخير أسي مُتذبذب.
| المستوى | عدد الطلبات في الدقيقة | عدد الطلبات في اليوم |
|---|---|---|
| free | 60 | 5,000 |
| partner | 300 | 50,000 |
| internal | 1,000 | ∞ |
تبدأ المفاتيح الجديدة من المستوى المجاني. يتم منح مستويات الشركاء من قِبل فريق LeyApp - تواصل معنا عبر نموذج الدعم إذا كانت عملية التكامل الخاصة بك تتطلب مساحة أكبر. تستخدم الطلبات المجهولة حدودًا منفصلة وأقل لكل عنوان IP.
تتصرف مفاتيح الاختبار (leyk_test_) تمامًا مثل المفاتيح الحية - نفس نقاط النهاية، نفس التحقق، نفس أشكال الاستجابة - ولكن لا يحدث شيء حقيقي: لا يتم تخزين أي نية حجز، ولا يتم إخطار أي محامٍ، ولا يمكن تأكيد أي شيء أو دفعه.
تظهر حركة المرور التجريبية في سجل طلبات لوحة التحكم (مُعلّمة)، ولكنها مُستثناة من الإحصائيات اليومية. استبدل المفتاح بمفتاح التشغيل الفعلي عند إطلاق الخدمة - لا حاجة لأي تغيير آخر.
/api/v1/lawyers/searchSearch verified lawyers
Same search engine as leyapp.es. Verified, publicly listed lawyers only. Scope: lawyers:read (anonymous allowed).
| المعلمة | يكتب | مطلوب | وصف |
|---|---|---|---|
| city | string | لا | |
| practice_area | string | لا | Slug from GET /practice-areas |
| language | string | لا | |
| min_fee_eur | number | لا | |
| max_fee_eur | number | لا | |
| sort | string (rating | price_asc | price_desc | reviews) | لا | |
| page | integer | لا | |
| limit | integer | لا |
curl "https://leyapp.es/api/v1/lawyers/search?city=Barcelona&practice_area=immigration&language=en" \ -H "Authorization: Bearer $LEYAPP_API_KEY"
/api/v1/lawyers/{lawyerId}Public lawyer profile
Full public profile incl. bio and bar memberships. Bio is user-generated content wrapped in safety fencing for AI consumers. Scope: lawyers:read (anonymous allowed).
| المعلمة | يكتب | مطلوب | وصف |
|---|---|---|---|
| lawyerId | string | نعم |
curl "https://leyapp.es/api/v1/lawyers/<lawyerId>" \ -H "Authorization: Bearer $LEYAPP_API_KEY"
/api/v1/lawyers/{lawyerId}/availabilityAvailable consultation slots
Available slots for a date range (max 14 days). Scope: availability:read (anonymous allowed).
| المعلمة | يكتب | مطلوب | وصف |
|---|---|---|---|
| lawyerId | string | نعم | |
| start_date | string | لا | Default: today |
| end_date | string | لا | Default: start_date + 13 days |
curl "https://leyapp.es/api/v1/lawyers/<lawyerId>/availability" \ -H "Authorization: Bearer $LEYAPP_API_KEY"
/api/v1/lawyers/{lawyerId}/reviewsPublic reviews
Recent reviews from verified clients. Comments are UGC with AI-safety fencing. Scope: reviews:read (anonymous allowed).
| المعلمة | يكتب | مطلوب | وصف |
|---|---|---|---|
| lawyerId | string | نعم | |
| limit | integer | لا |
curl "https://leyapp.es/api/v1/lawyers/<lawyerId>/reviews" \ -H "Authorization: Bearer $LEYAPP_API_KEY"
/api/v1/practice-areasPractice-area hierarchy
Reference data; cache-friendly (24h). Scope: reference:read (anonymous allowed).
curl "https://leyapp.es/api/v1/practice-areas" \ -H "Authorization: Bearer $LEYAPP_API_KEY"
/api/v1/citiesSupported cities and provinces
Reference data; cache-friendly (24h). Scope: reference:read (anonymous allowed).
curl "https://leyapp.es/api/v1/cities" \ -H "Authorization: Bearer $LEYAPP_API_KEY"
/api/v1/bookings/initiateCreate a booking intent
Creates a 15-minute booking intent for a free slot. The USER must open confirmation_url on leyapp.es to confirm and pay — the API never charges anyone. Supports Idempotency-Key (Stripe semantics: 24h replay, 422 on body mismatch). Test keys validate fully but create nothing. Scope: bookings:initiate (anonymous allowed at 5/hour).
{
"lawyer_id": "<lawyer_id from search>",
"date": "2026-09-01",
"start_time": "09:00:00",
"end_time": "10:00:00",
"source": "api",
"agent_name": "MyIntegration"
}curl -X POST "https://leyapp.es/api/v1/bookings/initiate" \
-H "Authorization: Bearer $LEYAPP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"lawyer_id":"<lawyer_id from search>","date":"2026-09-01","start_time":"09:00:00","end_time":"10:00:00","source":"api","agent_name":"MyIntegration"}'لا يمكن تنفيذ نقاط نهاية POST من خلال المستندات - انسخ المقتطف وقم بتشغيله باستخدام مفتاح اختبار بدلاً من ذلك.
/api/v1/booking-intents/{intentId}مفتاح API مطلوبPoll a booking intent
Status of an intent CREATED BY YOUR KEY: pending | confirmed | expired. Requires an API key with bookings:read (not available anonymously).
| المعلمة | يكتب | مطلوب | وصف |
|---|---|---|---|
| intentId | string | نعم |
curl "https://leyapp.es/api/v1/booking-intents/<intentId>" \ -H "Authorization: Bearer $LEYAPP_API_KEY"
اشترك في نقطة نهاية HTTPS (لوحة التحكم ← المطور ← Webhooks) لتلقي الأحداث المتعلقة بنوايا الحجز التي تم إنشاؤها باستخدام مفتاحك. تتبع عمليات التسليم مواصفات Webhooks القياسية ويتم إعادة محاولتها تلقائيًا.
# Delivery headers (Standard Webhooks — standardwebhooks.com):
# webhook-id: unique delivery id (dedup key — at-least-once delivery)
# webhook-timestamp: unix seconds (reject if older than ±5 minutes)
# webhook-signature: v1,<base64 HMAC-SHA256 of "{id}.{timestamp}.{body}">
#
# Payload: { "id": "...", "type": "booking_intent.confirmed",
# "created_at": "...", "data": { "booking_intent_id": "...", "status": "..." } }
# Events: booking_intent.confirmed | booking_intent.expired
# Retries: 1m / 5m / 30m / 2h / 12h, then dead. Endpoint auto-disabled
# after 20 consecutive failures.هل تفضل التحدث بدلاً من البرمجة؟LeyApp يقوم بتضمين خادم MCP مع 15 أداة - البحث، والتوافر، والحجز، و(بموافقتك) حجوزاتك الخاصة - لـ Claude و ChatGPT و Cursor وأي عميل قادر على استخدام MCP.OAuth الموافقة بمستويات أذونات دقيقة؛ إلغاء الموافقة في أي وقت من لوحة التحكم → المطور.
Settings → Connectors → Add custom connector Name: LeyApp URL: https://leyapp.es/api/mcp/mcp Claude opens the LeyApp consent screen — sign in, pick a permission level, and you're connected.
واجهة برمجة التطبيقات v1 مخصصة للإضافة فقط: تُضاف الحقول، ولا يُعاد تسميتها أو تُحذف. ستُصدر التغييرات الجذرية كإصدار جديد مع فترة إيقاف مدتها 90 يومًا، يُعلن عنها هنا وعبر ملفات Deprecation/Sunset.
2026-07-22
Organization API keys & developer governance
2026-07-22
Reliability, webhook coverage, and key controls
2026-07-22
Search, profiles, reviews, reference data, intent polling, usage analytics
2026-07-16
API keys, tiered rate limits, idempotency, test mode
2026-03-21
Initial public beta
هل لديك أسئلة، أو ترغب في رفع الحد الأقصى للرصيد، أو لديك أفكار للشراكة؟ تواصل معنا عبر نموذج الدعم - أو ببساطة أنشئ مفتاحًا وابدأ في البناء.