ConnectorTypeXMLRPC
class connector_types.connector_type_xmlrpc.ConnectorTypeXMLRPC
Call a XMLRPC service.
Inputs
Name | Type | Default | Description |
---|---|---|---|
args | list | None | Positional arguments for function call |
func | str | The function to call on the remote | |
kwargs | dict | None | Keyword arguments for function call |
url | str |
Outputs
Name | Type | Default | Description |
---|---|---|---|
execution_id | int | The ID of the connection execution | |
log | list | ||
message | str | The ended message for the connection. If the connection ended with an error, the message will contain information about what went wrong | |
result | object | ||
status | str | The ended status for the connection. Either "success" or "error". |
Constants
input_list = ['args', 'func', 'kwargs', 'url'] output_list = ['log', 'result'] ssl_context_inputs = ['check_hostname', 'client_cert', 'client_key', 'server_ca'] version = 1Methods
execute ()
log (message)
one_of_inputs (options)
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