Skip to main content

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
execution_idintThe ID of the connection execution
loglist
messagestrThe ended message for the connection. If the connection ended with an error, the message will contain information about what went wrong
resultobject
statusstrThe ended status for the connection. Either "success" or "error".

Constants

input_list = ['args', 'func', 'kwargs', 'url']output_list = ['log', 'result']version = 1

Methods

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