Giter VIP home page Giter VIP logo

odoo-client's Introduction

OdooClient

OdooClient is an Odoo client for PHP. It is inspired on OpenERP API from simbigo and OdooClient from jacobsteringa and uses a more or less similar API.

However, instead of its own XML-RPC client or the Zend XML-RPC libraries it uses the Ripcord RPC library as implemented by DarkaOnline -- this is the library used in the Odoo Web Service API documentation.

Supported versions

This library should work with Odoo 8 or later. If you find any any incompatibilities, please create an issue or submit a pull request.

Usage

Instantiate a new client.

use OdooClient\Client;
........
$url = 'example.odoo.com/xmlrpc/2';
$database = 'example-database';
$user = '[email protected]';
$password = 'yourpassword';

$client = new Client($url, $database, $user, $password);

For the client to work you have to include the /xmlrpc/2 part of the url.

xmlrpc/2/common endpoint

Getting version information.

$client->version();

There is no login/authenticate method. The client does authentication for you, that is why the credentials are passed as constructor arguments.

xmlrpc/2/object endpoint

Search for records.

$criteria = [
  ['customer', '=', true],
];
$offset = 0;
$limit = 10;

$client->search('res.partner', $criteria, $offset, $limit);

Search and count records.

$criteria = [
  ['customer', '=', true],
];

$client->search_count('res.partner', $criteria);

Reading records.

$ids = $client->search('res.partner', [['customer', '=', true]], 0, 10);

$fields = ['name', 'email', 'customer'];

$customers = $client->read('res.partner', $ids, $fields);

Search and Read records.

$criteria = [
  ['customer', '=', true],
];

$fields = ['name', 'email', 'customer'];

$customers = $client->search_read('res.partner', $criteria, $fields, 10);

Creating records.

$data = [
  'name' => 'John Doe',
  'email' => '[email protected]',
];

$id = $client->create('res.partner', $data);

Updating records.

// change email address of user with current email address [email protected]
$ids = $client->search('res.partner', [['email', '=', '[email protected]']], 0, 1);

$client->write('res.partner', $ids, ['email' => '[email protected]']);

// 'uncustomer' the first 10 customers
$ids = $client->search('res.partner', [['customer', '=', true]], 0, 10);

$client->write('res.partner', $ids, ['customer' => false]);

Deleting records.

$ids = $client->search('res.partner', [['email', '=', '[email protected]']], 0, 1);

$client->unlink('res.partner', $ids);

License

MIT License. Copyright (c) 2017 Rob Roy.

odoo-client's People

Contributors

mermetbt avatar robroypt avatar thomasnucleus avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.