Skip to main content
تُتيح GraphQL API مجموعة فرعية مدعومة من إمكانات REST في Ayrshare عبر نقطة نهاية واحدة. يستدعي كل حقل متاح وحدة التحكم الأساسية نفسها التي يستدعيها نظيره في REST، لذا تتبع المصادقة والصلاحيات والحصص وبيانات الاستجابة سلوك REST. تظل REST هي واجهة API الأشمل؛ استخدم المخطط أو Explorer لمعرفة العمليات التي تدعمها GraphQL بالضبط. ما تضيفه هو القدرة على طلب عدة أشياء في طلب واحد واكتشاف واجهة GraphQL المدعومة حاليًا من المخطط نفسه، دون قراءة التوثيق صفحةً تلو الأخرى. يصف المخطط كل حقل طلب مدعوم والتحديدات ذات الأنواع المتاحة في الاستجابات المنظّمة؛ أما العمليات التي تُرجع غلاف REST بصيغة JSON فتحتفظ بالحمولة الكاملة.
أرسل طلب POST بجسم JSON يحتوي على query، تمامًا كما هو الحال مع أي نقطة نهاية GraphQL. يُرجع GET وDELETE الرمز 405 Method Not Allowed، إذ إن الاستعلامات عبر GET اختيارية في مواصفة GraphQL وغير مدعومة هنا.

استعلامك الأول

الاستجابة هي غلاف JSON نفسه الذي تُرجعه نقطة نهاية السجل في REST، مُغلّفًا داخل الحقل data في GraphQL:

طلب عدة أشياء في آن واحد

السبب الذي يدفعك إلى استخدام GraphQL هو طلب كهذا، كان سيتطلب أربعة استدعاءات REST:
رحلة ذهاب وإياب واحدة تُرجع الأربعة جميعًا. لاحظ أن هذه أربعة حقول عمليات جذرية وأربعة استدعاءات API لأغراض الفوترة، وليست استدعاءً واحدًا. لا يضيف تحديد حقول الاستجابة المتداخلة أي استدعاءات؛ راجع الحدود والفوترة.

المصادقة

مطابقة لـ REST. أرسل مفتاح API الخاص بك كرمز bearer:
إذا كان حسابك يستخدم User Profiles، فيمكن للعمليات التي تُتيح profileKey تحديد الملف الشخصي بإحدى طريقتين:
  • أرسل Profile-Key كقيمة افتراضية على مستوى الطلب بأكمله.
  • مرّر profileKey في حقل منفرد لتجاوز تلك القيمة الافتراضية، مما يسمح لطلب واحد بالعمل على أكثر من ملف شخصي.
تكون الأولوية لوسيط الحقل عند وجود الاثنين معًا. لا تُتيح الحقول الخاصة بمستوى الحساب أو بالحساب الأساسي فقط profileKey وقد ترفض ترويسة Profile-Key؛ على سبيل المثال، يجب أن يستخدم createProfile مفتاح API الأساسي دون تلك الترويسة. تحقّق من تعريف كل حقل في المخطط لمعرفة نطاقه، وراجع إدارة مستخدمين متعددين لمعرفة كيفية عمل مفاتيح الملفات الشخصية.

جرّبها دون كتابة أي شيفرة

GraphQL Explorer هو متصفح تفاعلي للمخطط الحالي. يسرد كل عملية GraphQL متاحة مع وسائطها وأوصافها، ويُكمل تلقائيًا أثناء الكتابة، وينفّذ الاستعلامات على حسابك. لا تحتاج إلى مفتاح API لتصفح المخطط، فالمخطط عام، تمامًا مثل هذا التوثيق. لكنك تحتاج إليه لتنفيذ استعلام، لأن كل عملية تمر عبر المصادقة نفسها المستخدمة في REST.

هل تستخدم GraphQL أم REST؟

تظل REST الواجهة الأساسية، وهي التي بُني حولها معظم توثيقنا وحزم SDK والتكاملات. استخدم GraphQL عندما:
  • تحتاج إلى عدة أجزاء غير مترابطة من البيانات وتريدها في رحلة ذهاب وإياب واحدة.
  • تريد أسماء عمليات ووسائط وكائنات إدخال وتعدادات وتحديدات استجابة ذات أنواع قابلة للقراءة آليًا. تظل معظم الاستجابات بصيغة JSON حتى تحتفظ بغلاف REST الكامل؛ ويُرجع createPost حاليًا PostResult ذا نوع محدد.
  • تستكشف واجهة API وتريد رؤية ما هو موجود دون التنقل بين صفحات التوثيق.
استمر في استخدام REST عندما:
  • ترفع ملفات. لا يمكن لبايتات الوسائط أن تنتقل عبر طلب GraphQL؛ راجع رفع الوسائط لمعرفة المسار المدعوم.
  • تستخدم إحدى حزم SDK أو تكاملات بدون شيفرة الخاصة بنا، والتي تتعامل عبر REST.
  • تريد أصغر قدر ممكن من التبعيات. لا يحتاج استدعاء REST إلى شيء سوى عميل HTTP.
الواجهتان مدعومتان جنبًا إلى جنب، ويمكنك المزج بينهما بحرية في التكامل نفسه.
  • استخدام واجهة API: العثور على العمليات، وأنواع الوسائط، ورفع الوسائط.
  • الأخطاء: حالات الفشل التي تُغيّر حالة HTTP، ولماذا تُرجع العمليات الفاشلة HTTP 200 مع ذلك، وكيفية التعامل مع النجاح الجزئي.
  • الحدود والفوترة: الحدود القصوى لحجم الاستعلام وكيفية احتساب الطلبات.