This question has been flagged
2 Replies
19364 Views

Hi, regarding the API:

a) Is it definitely the case that in "OpenERP online" SAAS there is no Xml-rpc?

b) Is there anything I need to do to enable it in v7? My sample code is failing to connect, wondering if there is a toggle somewhere...

Thanks.

Avatar
Discard
Best Answer

You can use the XML-RPC API in OpenERP Online by setting manually a password on your user (i.e. an API password) , using the menu top "More..." and the option "Change Password". This allows the selected user to connect with the 'traditional' OpenERP web-service and skip the OAuth authentication mechanism. See also this question for more details.

The parameters to use are then:

  • Login: any user login on which you assigned a manual password
  • Password: the password you manually set (can be different from the password on OpenERP.com)
  • URL: https://yourcompany.my.openerp.com (watch out, this must be HTTPS)
  • Database: same as the name of your instance, e.g. yourcompany
  • Port: 443 (normally implicit with the HTTPS URL)

See also:

  • Some examples for using the XML-RPC API (this is for v6.1 but valid for 7.0 and OpenERP online too)
  • There are many open source libraries that simplify the use of the XML-RPC API, most of them written in Python, such as the openerp-client-lib, ERPpeek, OERPLib, etc.
  • As of OpenERP 6.1 an alternative JSON-RPC API is available. The openerp-client-lib can use it, and php-oe-json is an experimental PHP library that can do it too.
Avatar
Discard

This is all well and good, but what database are you supposed to specify for the Online version? Is there any restriction when the account is in trial?

"Database: same as the name of your instance, e.g. yourcompany" - a trial is 100% identical to a subscription, but without the services (additional users, support, apps store, bug fixing, migration, etc).

I am trying as explained with xml-rpc, openerplib, and oerplib libraries. All of them produce errno -2 (Name or service not known), and the last call said (.../socket.py, line 553, in create_connection). Any suggestions around url:port or elsewhere?

Best Answer

Hi,

There is an example in the FAQ of OERPLib. A complete example:

>>> import oerplib
>>> oerp = oerplib.OERP('yourcompany.my.openerp.com', protocol='xmlrpc+ssl', port=443)
>>> oerp.login('user', 'password', 'yourcompany')

Regards,

Avatar
Discard