Dans le cas de PHP, ce protocole n’est pas activé par défaut. Il faudra alors suivre la documentation officielle de PHP pour rendre fonctionnel ce support : https://www.php.net/manual/fr/book.xmlrpc.php.
$url = 'https://monsite.odoo.com'; //URL de votre compte Odoo
$url_auth = $url . '/xmlrpc/2/common'; //URL pour l'authentification
$url_exec = $url . '/xmlrpc/2/object'; //URL pour exécuter un model par exemple
$db = 'monsite'; //Base de données
$username = 'identifiant@monsite.com'; //l'email de connexion à votre compte Odoo
$password = '123c9f88f562e67b8524k9b6sxcf189020524m69'; //Une clé API remplaçant le mot de passe
// Class Ripcord recommandé par odoo : https://github.com/poef/ripcord
require_once('ripcord.php');
// Authentification de l'utilisateur
$common = ripcord::client($url_auth);
$uid = $common->authenticate($db, $username, $password, array());
$models = ripcord::client($url_exec);
//Création des users ou du user
$users_odoo = [['name' => 'Nom & Prénom', 'login' => 'identifiant@monsite.com', 'password' => '12345678']];
$user_id = $models->execute_kw($db, $uid, $password, 'res.users', 'create', $users_odoo);
//Encoder les données en json
$users_bizzcardz = [['first_name' => 'Prénom', 'last_name' => 'Nom', 'user_email' => 'identifiant@monsite.com']];
$json = json_encode($users_bizzcardz);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://admin.bizzcardz.eu/fr/api/vcard/import/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $json,
CURLOPT_COOKIE => "Path=%2F",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Authorization: Api-Key jsk28faE.hbbdV02aVN0lBI+GB09urlBJIOM36LJ9",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
A la ligne 20, nous avons la création de l’utilisateur Odoo via l’API Odoo.
A partir de la ligne 22, nous commençons la création de la BizzCardz. Nous reprenons le tableau des utilisateurs avec les mêmes informations mais nous veillons à diviser le nom (name) en nom & prénom et changer de façon conforme le nom des champs. Ensuite, nous encodons en json le tableau des utilisateurs car BizzCardz accepte le format json via son API.
A la ligne 39, vous avez la clé API.