لديك 47 نقطة نهاية مدرجة في توثيق API الخاص بك. كل منها يحتوي على طريقة HTTP، المسار، جسم الطلب، ومخطط الاستجابة. إنه كامل، دقيق، وعديم الفائدة تمامًا.
لماذا؟ لأنني عندما أصل إلى توثيقك، لا أريد عادةً قائمة جرد لنقاط النهاية.
أريد إكمال مهمة.
أريد معرفة كيفية إنشاء العميل، إرفاق وسيلة الدفع، بدء الاشتراك، معالجة webhook، التعافي من الفشل، واختباره بأمان.
مرجع نقاط النهاية ضروري. لكنه ليس المنتج.
المرجع ليس تأهيلًا
صفحة المرجع تجيب على:
- ما المسار الموجود
- ما الطريقة التي يقبلها
- ما الحقول المسموح بها
- كيف يبدو الاستجابة
التأهيل يجيب على:
- ما الذي يجب أن أفعله أولاً؟
- بأي ترتيب تحدث هذه الاستدعاءات؟
- ما الذي يمكن أن يفشل؟
- ما الذي يجب أن أخزنه؟
- كيف أختبر هذا دون كسر بيئة الإنتاج؟
إذا كان توثيقك يحتوي فقط على صفحات مرجعية، فسيتعين على المطور إعادة هندسة سير العمل من الأجزاء الخام.
لهذا السبب يمكن أن تبدو التوثيقات "الكاملة" غير قابلة للاستخدام.
ابدأ بالمهام التي لدى المطورين فعليًا
بالنسبة لمعظم APIs، يجب أن تبدأ التوثيقات الحقيقية بمسارات المهام:
- مصادقة طلب
- إنشاء المورد الأول
- تحديث المورد بأمان
- الاستماع إلى webhook
- إعادة محاولة عملية فاشلة
- الانتقال من وضع الاختبار إلى الإنتاج
ثم يمكن لكل مهمة أن تربط بمرجع نقاط النهاية.
يبدأ الدليل بهدف المطور، ويظهر مسارًا عمليًا، ويتضمن أمثلة، ثم يربط بتفاصيل نقاط النهاية الدقيقة.
الترتيب مهم. إذا كانت الصفحة الأولى جدولًا مرجعيًا ضخمًا، فأنت تطلب من القارئ بناء النموذج الذهني بمفرده.
أظهر مسارًا كاملاً، وليس استدعاءات منعزلة
التوثيق السيء يظهر طلبًا واحدًا مثاليًا:
POST /customersالتوثيق الأفضل يظهر التسلسل:
- أنشئ العميل.
- أنشئ الاشتراك.
- خزّن المعرفات المُعادة.
- استمع إلى webhook التأكيد.
- تعامل مع حالات الفشل والإلغاء.
التسلسل هو ما يحتاجه المطور لشحن التكامل.
الأفضل من ذلك، تضمين شكل آلة الحالة:
توثيق الأخطاء جزء من التكامل
API جادة تخبر المطورين بما يجب فعله عندما تفشل الأمور.
لا تتوقف عند:
{ "error": "invalid_request" }وثّق:
- ما إذا كان الطلب آمنًا لإعادة المحاولة
- ما إذا كانت العملية قد نجحت جزئيًا
- أي الأخطاء تتطلب إجراء من المستخدم
- أي الأخطاء تتطلب إجراء من المشغل
- ما المعرف لإرساله للدعم
- ما إذا كان webhook هو المرجع الموثوق
هنا تصبح توثيقات API بنية تحتية للثقة.
استخدم أمثلة تطابق واقع الإنتاج
لا ينبغي أن يكون المثال لعبة إذا كان سير العمل الإنتاجي ليس لعبة.
سيء:
{ "name": "John" }أفضل:
{
"externalId": "acct_123",
"email": "operator@example.com",
"plan": "studio-audit",
"metadata": {
"source": "route-finder",
"campaign": "content-engine"
}
}المثال الأفضل يُعلّم التسمية، البيانات الوصفية، التكرار، والإسناد. يساعد المطور على بناء الشيء الحقيقي.
أضف قائمة تحقق قبل الإطلاق
كل API له تأثير تجاري حقيقي يجب أن يتضمن قائمة تحقق للإطلاق.
قائمة التحقق هذه لا تحل محل المرجع. إنها تجعل المرجع قابلًا للاستخدام.
اجعل التوثيق قابلًا للاختبار
أفضل توثيقات API قريبة بما يكفي من النظام بحيث يمكنها الفشل عندما يتغير النظام.
يمكن أن يعني ذلك:
- أمثلة مولدة من مخططات مكتوبة
- أمثلة طلبات مُتحقق منها في CI
- مخرجات OpenAPI مفحوصة مقابل معالجات المسار
- روابط التوثيق مفحوصة في كل بناء
- اختبارات عقد لسير العمل العام
إذا تمت صيانة التوثيق يدويًا بعيدًا عن الكود، فسوف ينحرف. وعندما ينحرف، يتوقف المطورون عن الثقة به.
الهيكل الذي أحبه
بالنسبة لـ API جادة، سأشحن هيكل المعلومات هذا:
- ابدأ هنا: ما يفعله API وما يمكنك بناؤه.
- بداية سريعة: مسار نجاح كامل واحد.
- المصادقة: المفاتيح، النطاقات، التدوير، الإعداد المحلي.
- سير العمل الأساسي: أدلة قائمة على المهام.
- Webhooks/الأحداث: التسليم، إعادة المحاولة، التوقيعات، إعادة التشغيل.
- الأخطاء/إعادة المحاولة: ما فشل وماذا تفعل.
- المرجع: تفاصيل مستوى نقطة النهاية.
- قائمة تحقق الإنتاج: حواجز الحماية للإطلاق.
- سجل التغييرات: التغييرات الجذرية وملاحظات الترحيل.
هذا ليس مبالغة. هذا ما يسمح لشخص ما بالتكامل دون وجود مهندس مبيعات بجانبه.
