robroypt/odoo-client
最新稳定版本:v1.0beta
Composer 安装命令:
composer require robroypt/odoo-client
包简介
A PHP Client for Odoo using Ripcord RPC library (as used in Odoo Web API docs)
README 文档
README
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 = 'user@email.com'; $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' => 'foo@bar.com', ]; $id = $client->create('res.partner', $data);
Updating records.
// change email address of user with current email address foo@bar.com $ids = $client->search('res.partner', [['email', '=', 'foo@bar.com']], 0, 1); $client->write('res.partner', $ids, ['email' => 'baz@quux.com']); // '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', '=', 'baz@quuz.com']], 0, 1); $client->unlink('res.partner', $ids);
License
MIT License. Copyright (c) 2017 Rob Roy.
统计信息
- 总下载量: 47.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 21
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-03-22