راحةAPI وخادم MCP لحجز محامين معتمدين للهجرة في جميع أنحاء إسبانيا. يؤكد العملاء دائمًا ويدفعون عبرleyapp.es — عملية دمجك لا تمس الأموال أبداً.
الAPI يكشف عن نفس بيانات المحامين المعتمدين مثلleyapp.es البحث، والملفات الشخصية العامة، والتقييمات، والتوافر، ونوايا الحجز. يعمل الوصول المجهول بحدود استخدام منخفضة؛API يؤدي المفتاح إلى رفع الحدود وفتح نقاط النهاية المشفرة وتحليلات الاستخدام.
لا توجد مدفوعات من خلال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_...
تخضع الطلبات المُفهرسة لحدود مُتدرجة (نافذة مزدوجة: زيادة دقيقة + حصة يومية) مع رؤوس 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.
الإصدار الأولAPI هذه الميزة تُضيف الحقول فقط، ولا يُعاد تسميتها أو حذفها. أما التغييرات الجذرية، فستُطرح كإصدار جديد مع فترة إيقاف مدتها 90 يومًا، وسيتم الإعلان عنها هنا وعبر ملفات Deprecation/Sunset.
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
هل لديك أسئلة، أو ترغب في رفع الحد الأقصى للرصيد، أو لديك أفكار للشراكة؟ تواصل معنا عبر نموذج الدعم - أو ببساطة أنشئ مفتاحًا وابدأ في البناء.