`


XML RPC در odoo

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

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

پیکربندی

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

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


url = “https://viraweb123.ir/”
db = “insert database name”
username =“insert username”
password = “insert password”

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

  • به دست آوردن ورژن Odoo

  • احراز هویت

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

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

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

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

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

  • ایجاد رکورد

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

  • حذف رکوردها

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

به دست آوردن ورژن Odoo با XML RPC

آدرسی که باید به آن درخواست خودمون را ارسال کنیم : 

{{url}}/xmlrpc/2/common

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


با اجرای این دستور ورژن odoo ای که برای سایت ویراوب 123 استفاده شده است را مشاهده میکنید.

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

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

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


با اجرای این دستور با کمک XML RPC میتوانید uid کاربری که اطلاعات آن را وارد کردید بدست آورید.

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

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

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

با دستور زیر میتوانیم در جدول 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}

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


<?xml version="1.0" encoding="UTF-8"?>

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

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

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

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

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

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


برای مشاهده اطلاعات بیشتر میتوانید از داکیومنت odoo به نشانی 

https://www.odoo.com/documentation/16.0/developer/reference/external_api.html#search-and-read

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

XML RPC در odoo
ساناز میرباقری 19 ژوئن 2023
Share this post
برچسب‌ها

 

`


json RPC در odoo