Synchronisation bases de données

Bonjour à tous.

Pour les besoins d’un projet je dois synchroniser les sociétés de la base de données d’un site web avec celles de Dolibarr.
J’arrive à créer des sociétés depuis mon site web qui vont bien s’enregistrer dans la base Dolibarr également.

Malheureusement je n’arrive pas à utiliser la fonction update de la classe societe (pour mettre à jours les informations des societes depuis mon site web), et après de nombreuses recherches j’espere trouver une réponse ici.

Je vous dépose mon code ci-dessous, sachant que la seule partie qui ne fonctionne pas est l’utilisation du update

            include($_SERVER['DOCUMENT_ROOT'].'/dolibarr/htdocs/master.inc.php');

            // Inclure la classe societe
            include($_SERVER['DOCUMENT_ROOT'].'/dolibarr/htdocs/core/lib/company.lib.php');

            // Récupérer les infos de la société dans la base 
            $item = $userModel->get($line->ItemId);

            // Regarder si la societe existe deja dans Dolibarr
            $dgLine = $dgModel->getOneWhere(array('Class' => 'societe', 'GnssId' => $item->UserId));

            // Instancier l'objet Societe
            $mycompany = new Societe($db); 

            // Si la societe existe dans Dolibarr la relire avec la méthode fetch
            if (isset($dgLine) || !empty($dgLine)) {
                $mycompany->fetch($dgLine->DoliId); 
            }

            // Mettre en parallèle les champs des deux bases
            $country = getCountry(strtoupper($item->Country), 3);
            $mycompany->country_id=$country;
            $mycompany->nom=$item->Company; 
            $mycompany->email=$item->Email;
            $mycompany->address=$item->Address1.' '.$item->Address2;
            $mycompany->zip=$item->PostalCode;   
            $mycompany->town=$item->City; 
            $mycompany->phone=$item->Phone; 
            $mycompany->url=$item->Website; 
            $mycompany->client=1; 

            // Si n'existe pas dans la base de données Dolibarr, création de la société
            if (!isset($dgLine) || empty($dgLine)) {
                $id=$mycompany->create($user); 
                $dgModel->insert(array('Class' => 'societe', 'DoliId' => $id, 'GnssId' => $item->UserId));
            }

            // Sinon modifier
            else {  
                $mycompany->update($dgLine->DoliId, $user);
            }

Merci d’avance :happy:

Bonjour,

A mon avis il faut passer par l’API : www.dolibarr.fr/forum/t/documentation-api-rest/25139/1

Il est vrai que l’api est plus en adéquation avec mes besoins pour ce projet.

Merci beaucoup ! :happy: