CODFamilia
الميزات كيف يعمل الأثمنة المدونة الأسئلة الشائعة Academy التسجيل الدخول

واجهة API: تسيير طلبيات COD من الكود الخاص بك

واجهة API للبائع تسمح بإنشاء وتتبع طلبيات الدفع عند الاستلام من الكود الخاص بك: مفتاح API، وقراءة الكاطالوغ والمدن، والحدود ورموز الأخطاء.

الأساسيات

ما هو؟
هي واجهة REST بصيغة JSON، موثّقة بمفتاح، وتعرض ما يحتاجه التكامل: الكاطالوغ القابل للطلب، ومدن التوصيل ومصاريفها، وإنشاء الليد، وتتبع ليداتك الخاصة. وهي تخدم نفس منطق واجهة البائع، وبنفس المراقبات.
لمن؟
البائعون الذين عندهم مبرمج، أو هم مبرمجون: متجر مبني خصيصا، أو تطبيق هاتف، أو واجهة تسيير داخلية، أو قمع بيع خاص. أما البائع الذي لا يكتب الكود فلا يحتاج الـAPI إطلاقا — فربط متجر أو ملف حسابات يقوم بنفس العمل.
كيف يعمل؟
كل نداء يحمل مفتاح API في ترويسة الترخيص. والبائع يُستخرج من المفتاح لا من معطى، ولهذا يستحيل التصرف باسم حساب آخر. والأجوبة بصيغة JSON، والأخطاء تُسمّي الحقل الخاطئ، وكل نداء يُسجّل حتى يرى المبرمج ما أرسله فعلا.
ما فائدته؟
لأن التكامل الخاص يحتاج شيئين لا يوفرهما أي استيراد: كتابة الطلبية في اللحظة التي يؤكد فيها الزبون بالضبط، وقراءة حالة الطلبيات لتغذية عرضه الخاص. وهو الطريق الوحيد عندما يكون مصدر الطلبيات برنامجا كتبته أنت.
كيف تستعمله؟
تُنشئ مفتاحا من فضاء البائع، وتتحقق من كونه يعمل بنداء أول بلا أثر، ثم تقرأ المدن والكاطالوغ قبل إرسال أول ليد. والمرجع الكامل، بالحقول ورموز الأخطاء، موجود في توثيق المطورين، وهو عمومي وبدون حساب.

واجهة API هي الواجهة التي تسمح لبرنامج — متجر مبني خصيصا، أو تطبيق هاتف، أو أداة داخلية — بإنشاء وتتبع طلبيات الدفع عند الاستلام دون المرور بواجهة بشرية.

فيما تنفع الـAPI، ومتى لا تنفع في شيء

الـAPI تجيب على ثلاث حالات، وتقريبا على ثلاث فقط. الأولى هي متجر مبني خصيصا: في اللحظة التي يؤكد فيها الزبون سلته، يُنشئ كودك الليد ويتلقى مرجعه في الحين، فيُظهره للزبون. والثانية هي تطبيق هاتف، لأنه ليس له صفحة ويب تُنادى. والثالثة هي أداة داخلية — لوحة، أو مطابقة حسابية، أو سكريبت تقارير — تحتاج قراءة حالة الطلبيات لتجمعها مع معطياتها الخاصة.

وخارج هذه الحالات الثلاث لا تنفع كثيرا، ومن الأفضل قول ذلك قبل أن يُضيّع أحد أسبوعا فيها. فإذا كانت طلبياتك تأتي من متجر موجود، فربط المتجر يُدخلها بدون كود ومع قراءة احتياطية لم تكن ستكتبها بنفسك. وإذا كانت تأتي من استمارة أو صفحة هبوط، فملف الحسابات أسرع في التركيب وأسهل في التصحيح. وإذا كنت تريد فقط أن تُخبَر عند توصيل طلبية، فما تحتاجه هو webhook صادر، لا حلقة من النداءات على الـAPI.

والقاعدة المفيدة هي هذه: الـAPI مبرَّرة عندما يكون برنامج تتحكم فيه هو من يُنتج الطلبية. وفي جميع الحالات الأخرى، واحدة من الطرق الثلاث الأخرى تقوم بنفس العمل بمجهود أقل وصيانة أقل.

مفتاح API وما يساويه

التوثيق يُلخّص في سطر: كل نداء يحمل مفتاحا في ترويسة الترخيص. ولا يوجد معرّف يُرسل، ولا معطى حساب، ولا جلسة تُحفظ. والبائع يُستخرج من المفتاح، وهذا قرار أمني بقدر ما هو قرار بساطة: فلا يمكن لأي نداء أن يصل إلى معطيات حساب آخر، كيفما غُيّرت المعطيات.

والمفتاح يُنشأ من فضاء البائع، باسم يقول فيما يُستعمل. ويُعرض مرة واحدة فقط عند إنشائه: فلا تُحفظ إلا بصمته، ولا أحد — ولا حتى الدعم — يقدر يُعيد قراءته لك. فإذا فُقد يُنشأ آخر. وإذا سُحب فلا يعود صحيحا أبدا.

  • مفتاح لكل تكامل — مفتاح لتطبيق الهاتف، وآخر لسكريبت التقارير. وسحب أحدهما لا يوقف الآخر، وسجل النداءات يقول من فعل ماذا.
  • المفتاح يمكن أن يُربط بمتجر — وحينها تحمل الليدات المُنشأة بهذا المفتاح المتجر المقابل تلقائيا، دون أن يُضطر كودك إلى ذكره.
  • المفتاح سر خاص بالسيرفور — ولا يجب أبدا أن يخرج في صفحة ويب، أو تطبيق هاتف موزّع، أو مستودع كود: فكل من يقرأه يقدر ينشئ طلبيات باسمك.
  • آخر استعمال ظاهر — والمفتاح الذي لم يُستعمل منذ مدة طويلة هو مفتاح يجب سحبه.
  • سجل النداءات ملك لك — الطريقة، والعنوان المُنادى، ورمز الجواب: وهذا ما يُجيب عن «علاش ماشي خدام» بدون تخمين.

ما يُقرأ وما يُكتب وما لا يُمسّ

المجال ضيق بشكل مقصود: الـAPI موجودة لإدخال الطلبيات ولمعرفة أين وصلت. أما كل ما يلتزم بمال أو يُغيّر مسارا فيبقى في الواجهة، لأن خطأ في برنامج هناك يُكلّف أكثر من نقرة إنسان.

  • جوابان محتملان عند الإنشاء — الليد المقبول يُجيب «أُنشئ». والليد المشكوك فيه — مرجع غير معروف، أو مدينة غير معروفة، أو مبلغ غير منطقي، أو تكرار حديث — يُجيب «قُبل» مع لائحة الملاحظات: فهو موجود، كليد معطوب، وينتظر تصحيحا. ولا يُرفض أبدا في صمت.
  • تصفيح بالمؤشر — لائحة الليدات تُقرأ بإعادة المعرّف الذي أرجعته الصفحة السابقة، لا برقم صفحة. فرقم الصفحة يتزحزح عند كل ليد جديد، ويتجاوز التكامل طلبيات دون أن يلاحظ.
  • مرجعك الخاص يُحفظ — حقل المرجع الخارجي يُنقل كما هو ويُعرض من جديد في الواجهة: وهذا ما يسمح بمطابقة ليد مع الطلبية الأصلية في نظامك.
  • ما لا تفعله الـAPI — لا تُغيّر حالة، ولا تُلغي طلبية، ولا تُطلق سحبا، ولا تقرأ أي شيء يخص بائعا آخر. فهذه الأفعال موجودة في الواجهة، حيث تُترك آثارها.
العنوان ما يفعله
GET /v1/me يتحقق من أن المفتاح يعمل ومن أي حساب يخص. وهو أول نداء يجب عمله.
GET /v1/products الكاطالوغ الذي يمكن لهذا البائع أن يطلب منه: منتجات عمومية ومنتجات خاصة، مع ثمن المنصة والتوفر والفاريانتات.
GET /v1/cities مدن التوصيل ومصاريف التوصيل الخاصة بها. وتستحق القراءة قبل إرسال ليد.
POST /v1/leads يُنشئ ليد. وتُطبّق نفس المراقبات المطبقة في كل مكان آخر.
GET /v1/leads ليداتك، من الأحدث إلى الأقدم، مع تصفية بالحالة وبالتاريخ.

حدود النداءات ورموز الأخطاء

يُطبّق حد للنداءات لكل مفتاح وفي كل دقيقة. وهو موجود لسبب بسيط: حلقة مكتوبة بشكل سيئ عند بائع لا يجب أن تُبطّئ المنصة على الباقين. والقيمة الجاري بها العمل ليست ثابتة تُنقل في كودك — بل تُرجعها نداء التحقق من المفتاح، وهذا يسمح بتكييفها دون انتظار أي إعلان.

وعندما يُبلَغ الحد، يقول الجواب ذلك بصراحة ويُبيّن المدة التي يجب انتظارها. والعميل المكتوب بشكل صحيح يحترم هذه المدة بدل أن يُعيد في الحين؛ فالإعادة الفورية لا تفعل شيئا سوى استهلاك الدقيقة الموالية.

الجواب ما يعنيه ما يجب عمله
400 المحتوى ليس JSON صحيحا تحقق من ترويسة نوع المحتوى ومن الفاصلة الزائدة
401 مفتاح ناقص أو غير صحيح أو مسحوب أرسل المفتاح في ترويسة الترخيص؛ والمفتاح المسحوب لا يعود صحيحا أبدا
404 المورد غير موجود، أو يخص بائعا آخر الحالتان تُعطيان نفس الجواب، وهذا مقصود
422 حقل إجباري ناقص أو غير صحيح الجواب يُسمّي الحقل الخاطئ
429 نداءات كثيرة جدا في الدقيقة الأخيرة انتظر المدة المذكورة ثم استأنف
500 مشكل من جهتنا أعِد المحاولة، وأبلغ الدعم بالساعة الدقيقة للنداء

أين يوجد المرجع الكامل

هذه الصفحة تشرح فيما تنفع الـAPI وما تسمح به؛ وهي لا تعوّض المرجع. والمرجع يوجد في توثيق المطورين، وهو عمومي ولا يطلب أي حساب — فمبرمج البائع لا يملك معرّفات دخوله، وطلب التسجيل لقراءة عقد API لا يحمي شيئا.

وتجد فيه دليل الانطلاق، ومرجع العناوين بكل الحقول المنتظرة، وصفحة الـwebhooks الصادرة، ولائحة الأخطاء والحدود، وسجل الإصدارات. والوصف مكتوب مرة واحدة ويخدم كل شيء: الصفحة التي يقرأها إنسان، وملف OpenAPI تستورده أداتك لتوليد عميل، ومجموعة جاهزة للتجربة. وهذا ما يضمن أن الصفحة والملف لا يقولان شيئين مختلفين بعد ستة أشهر.

ورقم إصدار الـAPI يُرجَع في ترويسة كل جواب، وسجل الإصدارات يقول ما تغيّر. وإضافة الحقول أمر عادي ولا يُكسر شيئا: فالعميل المكتوب جيدا يتجاهل حقلا لا يعرفه بدل أن يفشل عنده.

أسئلة متكررة حول الـAPI

ما كنعرفش نبرمج — واش الـAPI مناسبة ليا؟
لا، وهذا خبر جيد: فالطرق الثلاث الأخرى تقوم بنفس العمل بدون كود. المتجر يُربط ببضع نقرات، وملف الحسابات يُربط في دقائق، والـwebhook يُلصق في الأداة الأصلية. أما الـAPI فموجّهة لمن يكتب الكود.
فين كاينة اللائحة الكاملة ديال الحقول؟
في توثيق المطورين، وهو عمومي ومتاح بدون حساب. ويحتوي مرجع العناوين، والحقول المنتظرة، ورموز الأخطاء، وملف OpenAPI يمكن استيراده في أداتك، ومجموعة جاهزة للتجربة.
كيفاش نتحقق بلي المفتاح خدام؟
بنداء تحقق بلا أي أثر، يؤكد أن المفتاح صحيح، ومن أي حساب يخص، وأي إصدار من الـAPI يُجيب، وأي حد نداءات يُطبّق. وهو أول نداء يجب عمله قبل كتابة أي شيء آخر.
شنو كايوقع إلا صيفطت ليد ناقص؟
لا يُفقد. الجواب يُبيّن أنه قُبل مع ملاحظات، ويُسمّيها: مرجع غير معروف، أو مدينة غير معروفة، أو مبلغ غير منطقي. وحينها يوجد الليد كليد معطوب وينتظر تصحيحا، كما لو جاء من استيراد.
واش يمكن نبدّل أو نلغي كوموند بالـAPI؟
لا. الـAPI تُنشئ الليدات وتسمح بتتبعها؛ ولا تُغيّر الحالات، ولا تُلغي الطلبيات، ولا تُحرّك أي مال. فهذه الأفعال تُعمل في الواجهة، حيث تترك أثرا يُنسب إلى شخص.
واش كاين حد لعدد النداءات؟
نعم، لكل مفتاح وفي كل دقيقة، حتى لا تُعاقب حلقة غير مقصودة باقي البائعين. والقيمة الجاري بها العمل تُرجعها نداء التحقق من المفتاح، وتجاوزها يُجيب بخطأ واضح يذكر المدة التي يجب انتظارها.
كيفاش نتجنب إنشاء نفس الكوموند جوج مرات؟
بإرسال مرجع طلبيتك الخاص في الحقل المخصص له: فهو يُحفظ ويُعرض من جديد، وهذا يسمح بمطابقة الليد مع طلبيته الأصلية. ويُطبّق كذلك فحص للتكرار على الهاتف والمنتج، فيُؤشّر الليد بدل أن يُكرّره في صمت.
واش يمكن نقرا أثمنة الشراء ديال المنصة؟
لا. الكاطالوغ يُرجع الثمن الذي تشتري به المنتج، أي ما يدخل في حساب ربحك. ولا شيء آخر يُعرض، وهو نفس المجال الموجود في الواجهة.
واش الـAPI تقدر تخبرني بالتوصيل؟
ليس هذا دورها: فاستجواب عنوان في حلقة لمراقبة تغيير بطيء ومكلف. وللعلم بتأكيد، أو إرسال، أو توصيل، أو إرجاع، سجّل webhook صادرا.

اقرأ أيضا

مفتاح واحد، أربعة نداءات، وطلبياتك تدخل

كاطالوغ من 1 منتج و65 مدينة يمكن قراءتها بالـAPI، وليدات تُنشأ من كودك، وتوثيق مطورين عمومي.

التسجيل