6. Interaction entre Odoo et PHP via XML-RPC
https://www.odoo.com/documentation/8.0/api_integration.html
Si vous avez déjà un serveur Odoo installé, vous pouvez
simplement utiliser ses paramètres ?
1) la bibliothèque Ripcord fournit une API XML-RPC simple
Vous trouverez sur ce lien :
https://github.com/poef/ripcord
include('path ripcord file php ');
7. Configuration :
$url = <insert server URL>;
$db = <insert database name>;
$username = "admin";
$password = <insert password for your admin user (default:
admin)>;
$url = "http://localhost:8069";
$db = "Testbase";
$username = "Testbase@gmail.com";
$password = 'Testbase';
8. xmlrpc/2/common
Odoo exige que les utilisateurs de l'API soient authentifiés
avant de pouvoir interroger la plupart des données
$common = ripcord::client("$url/xmlrpc/2/common");
utilisé pour connaître la version du serveur ou pour
s'authentifier
EX: $common->version() return "server_version": "8.0"
to authenticate :
$uid = $common->authenticate($db, $email, $pwd, array());
9. xmlrpc/2/object
utilisé pour appeler des méthodes de modèle odoo via la
fonction RPC execute_kw.(search(),read(),search_read() …)
$models = ripcord::client("$url/xmlrpc/2/object")
10. List Records :
les enregistrements de la base de données peuvent être listés
et filtrés via une méthode de recherche
$models->execute_kw($db, $uid, $password,
'res.partner', 'search', array(
array(array('is_company', '=', true),
array('customer', '=', true))));
11. Read Records
Les données d'enregistrement sont accessibles via la méthode
read(), qui prend une liste d'identifiants (telle que
renvoyée par search ())
$ids = $models->execute_kw($db, $uid, $password,
'res.partner', 'search',
array(array(array('is_company', '=', true),
array('customer', '=', true))),
array('limit'=>1));
$records = $models->execute_kw($db, $uid, $password,
'res.partner', 'read', array($ids));
14. Create Records
Create() méthode créera un seul enregistrement et retournera
son identifiant de base de données
$id = $models->execute_kw($db, $uid, $password,
'res.partner', 'create',
array(array('name'=>"New Partner")));
16. Delete Records
$models->execute_kw($db, $uid, $password,
'res.partner', 'unlink',
array(array($id)));
// check if the deleted record is still in the database
$models->execute_kw($db, $uid, $password,
'res.partner', 'search',
array(array(array('id', '=', $id))));