Skip to main content
Version: 7 - Gugelhupf

ConnectorTypeXMLRPC

class connector_types.connector_type_xmlrpc.ConnectorTypeXMLRPC

Call a XMLRPC service.

Inputs

NameTypeDefaultDescription
argslistNonePositional arguments for function call
funcstrThe function to call on the remote
kwargsdictNoneKeyword arguments for function call
urlstr

Outputs

NameTypeDefaultDescription
loglist
resultobject

Constants

input_list = ['args', 'func', 'kwargs', 'url'] output_list = ['log', 'result'] ssl_context_inputs = ['check_hostname', 'client_cert', 'client_key', 'server_ca'] version = 1

Methods

execute

log

one_of_inputs

run

Example

import flow_api

def handler(system: flow_api.System, this: flow_api.Execution):
db = <your odoo database name>
api = <your odoo xmlrpc url>
userid = <your odoo user id>
password = <your odoo password>
products = this.connect(
'XMLRPC',
url=f'{api}/object',
func='execute_kw',
args=[
db,
userid,
password,
'product.product',
'search_read',
[[['type','=', 'product']]],
{
'fields': [
'code',
'name',
'categ_id',
]
},
],
).get('output_value').get('result')

The example above will call a odoo xmlrpc API

log:
- Start
- 'Connecting to <your odoo xmlrpc url>/object'
- Calling execute_kw

The result will be a list of json objects

result:
- id: 15
code: DESK0004
name: Customizable Desk
categ_id:
- 8
- All / Saleable / Office Furniture
- id: 16
code: DESK0005
name: Customizable Desk
categ_id:
- 8
- All / Saleable / Office Furniture