MuK REST for Odoo
یک API RESTful قابل تنظیم برای Odoo است.
MuK IT GmbH - www.mukit.at

بررسی اجمالی
یک REST API را برای سرور Odoo فعال می کند. API مسیرهایی برای احراز هویت و بازیابی یک توکن دارد. پس از آن، مجموعه ای از مسیرها برای تعامل با سرور ارائه می شود. API را میتوان توسط هر زبان یا چارچوبی که میتواند درخواستهای HTTP ایجاد کند و پاسخها را با بارهای JSON دریافت کند و هم با انجمن و هم با نسخه سازمانی کار میکند، استفاده شود.
برای فعال کردن مسیرها حتی اگر هیچ پایگاه داده ای انتخاب نشده باشد، ماژول باید درست در شروع سرور بارگذاری شود. این را می توان با ویرایش فایل پیکربندی یا ارسال یک پارامتر بار به اسکریپت شروع انجام داد.
پارامتر: --load=web,muk_rest
برای دسترسی به API در یک محیط چندپایگاه داده بدون فیلتر پایگاه داده، نام پایگاه داده باید با هر درخواست از طریق پارامتر db مشخص شود، به صورت
?db=database_name.
مستندات
API بر اساس مشخصات Open API مستند شده است. تمام نقاط پایانی با جزئیات زیاد توضیح داده شدهاند و تعدادی از طرحوارههای تعریفشده این امکان را فراهم میآورند که نمای کلی خوبی از پارامترهای مورد نیاز و همچنین نتایج بازگشتی داشته باشیم.
علاوه بر این، مستندات به طور خودکار با افزودن یک نقطه پایانی دیگر گسترش می یابد. اینکه به عنوان نقطه پایانی سفارشی اضافه شده باشد یا از طریق کد پایتون، مهم نیست.
نقاط پایانی سفارشی
علاوه بر نقاط پایانی موجود در API، میتوان نقاط پایانی بیشتری به راحتی اضافه کرد بدون نیاز به نوشتن کد. نقاط پایانی جدید میتوانند در بخش پشتیبان ایجاد شده و بلافاصله از طریق API در دسترس قرار گیرند.
انواع مختلفی از نقاط پایانی میتوانند ایجاد شوند. به عنوان مثال، ارزیابی دامنه میتواند برای جستجو و بازیابی دادههای خاص از طریق API استفاده شود. همچنین، گزینههای دیگر شامل اجرای عملیات سرور یا اجرای کد Python سفارشی است. هر مسیر سفارشی به طور خودکار به مستندات اضافه میشود و میتواند برای تعریف پارامترها و مقادیر برگشتی بیشتر سفارشیسازی شود.
اتصال به API

این API از OAuth1، OAuth2 و همچنین نام کاربری و رمز عبور برای احراز هویت پشتیبانی میکند، و به جای رمز عبور میتوان از کلید دسترسی نیز استفاده کرد. در حالی که مستندات عمدتاً OAuth2 و احراز هویت پایه را پوشش میدهد، API از OAuth2 برای تمامی ۴ نوع اعطا پشتیبانی میکند. برای امنیت پیشرفته، میتوان تنظیمات OAuth را به گونهای پیکربندی کرد که فقط به برخی از نقاط پایانی و پارامترها دسترسی داده شود.
نمونه کد - احراز هویت OAuth2
در این مثال، نحوه ورود به سیستم با OAuth2 و انجام برخی درخواستهای نمونه به API نشان داده شده است. از کتابخانههای requests و requests_oauthlib برای اتصال به API استفاده شده است. توجه داشته باشید که این فقط یک مثال است و پیادهسازی واقعی ممکن است بسته به نیازهای خاص تغییر کند.ابتدا باید کتابخانههای مورد نیاز را نصب کنید:
API به عنوان یک فریمورک
REST API همچنین به عنوان یک چارچوب طراحی شده است و می تواند به عنوان پایه ای برای یک برنامه افزودنی متناسب با نیازهای فردی استفاده شود. این مثال کد نشان می دهد که تعیین نقطه پایانی چقدر آسان است. پارامترها در @api_docs حاشیه نویسی اختیاری هستند. اگر هیچ پارامتری داده نشود، مقادیر پیشفرض پویا براساس امضای تابع تولید میشوند.
مشتریان

تقریباً در هر زبان برنامه نویسی، کلاینت های REST بسیار خوبی وجود دارد. به عنوان مثال، در پایتون کتابخانه Requests برای برقراری تماس های HTTP و Requests-OAuthlib برای احراز هویت با OAuth وجود دارد، فقط یکی را نام برد.
اما اگر می خواهید مشتری خود را ایجاد کنید، می توانید به طور خودکار بر اساس اسناد API یک مشتری ایجاد کنید. مشتری توسط Swagger CodeGen ایجاد شده است و می تواند به عنوان یک نقطه شروع خوب باشد.
مشخصات
نسخه | 18, 17, 16, 15 |