json RPC در odoo
19 ژوئن, 2023 به وسیله
json RPC در odoo
ساناز میرباقری
| 1 توضیح

 

`

استفاده از json RPC در odoo


Odoo معمولاً از طریق ماژول ها به صورت داخلی گسترش می یابد، اما بسیاری از ویژگی های آن و تمام داده های آن نیز از بیرون برای تجزیه و تحلیل خارجی یا ادغام با ابزارهای مختلف در دسترس هستند. بخشی از API Model ها به راحتی از طریق JSON-RPC  در دسترس هستند و از زبان های مختلف قابل دسترسی اند.

پیکربندی

اگر قبلاً یک سرور Odoo نصب کرده اید، می توانید فقط از پارامترهای آن استفاده کنید. 

مثلا برای استفاده از odoo نسخه ویراوب 123 از پارامترهای زیر استفاده می کنیم.


url = “https://viraweb123.ir/”

db = “insert database name”

username =“insert username”

password = “insert password”

چه کارهایی را میشه با JSON RPC انجام داد؟

  • احراز هویت

  • لیست کردن رکوردها

  • شمارش رکوردها 

  • خواندن رکوردها 

  • فیلدهای رکورد را فهرست کنید

  • جستجو کردن و خواندن رکوردها

  • ایجاد رکورد

  • به روز کردن رکورد

  • حذف رکوردها

در ادامه برخی از کارها را به طور کامل بررسی میکنیم.

احراز هویت در Odoo با JSON RPC 

آدرسی که درخواست را ارسال می کنیم url}}/jsonrpc}} است.

محتوای درخواست ارسالی :


جستجو کردن و خواندن رکوردها

آدرسی که درخواست را ارسال می کنیم url}}/jsonrpc}} است.

محتوای درخواست ارسالی :

با دستور زیر میتوانیم در جدول res.partner سرچ کنیم و رکوردهایی که مقدار فیلد is_company آنها برابر با True هستند را انتخاب کنیم. این دستور از رکوردهای به دست آمده تنها مقدار فیلدهای name و country_id و comment را نشان میدهد. و اگر چندین رکورد با این شرایط وجود داشته باشد فقط 5 عدد از آن ها را نشان میدهد.

models.execute_kw(db, uid, password, 'res.partner', 'search_read', [[['is_company', '=', True]]], {'fields': ['name', 'country_id', 'comment'], 'limit': 5})

با توجه به اینکه قسمت شرط گذاشتن دستور یک آرایه از آرایه ها است  [[['is_company', '=', True]]]

و قسمت option دستور یک ساختار {key: value}  است {'fields': ['name', 'country_id', 'comment'], 'limit': 5}

دستور JSon RPC به صورت زیر میباشد


ساختن رکورد جدید

آدرسی که درخواست را ارسال می کنیم url}}/jsonrpc}} است.

محتوای درخواست ارسالی :

با دستور زیر میتوانیم یک رکورد جدید در جدول res.partner بسازیم که مقدار فیلد name آن New Partner باشد

models.execute_kw(db, uid, password, 'res.partner', 'create', [{'name': "New Partner"}])

دستور JSON RPC آن به صورت زیر است


برای مشاهده اطلاعات بیشتر میتوانید از داکیومنت odoo به نشانی https://www.odoo.com/documentation/16.0/developer/reference/external_api.html#search-and-read

استفاده کنید.

https://www.marlonfalcon.com/posts/odoo-json-rpc

این دستورات با استفاده از دستور execute_kw ساخته شده است . میتوانید با لینک زیر با استفاده از دستور execute درخواست های خودتون را ارسال کنید







json RPC در odoo
ساناز میرباقری 19 ژوئن, 2023
این پست را به اشتراک بگذارید
برچسب ها
بایگانی
ورود to leave a comment