Line 1:
Line 1:
+
<!-- BEGIN interlang links -->
+
<!-- Do NOT edit this section
+
Links below are automatically managed by PolyglotBot
+
You can edit links on the English source page : Interfaces_from_foreign_systems_toward_Dolibarr -->
+
[[en:Interfaces_from_foreign_systems_toward_Dolibarr]]
+
[[es:Interfaces_del_Exterior_hacia_Dolibarr]]
+
[[zh:外部系统到Dolibarr的接口]]
+
<!-- END interlang links -->
+
{{TemplateDocDev}}
{{TemplateDocDev}}
−
Il y a 2 méthodes pour permettre à une application extérieure d'insérer des données dans Dolibarr. Les 2 techniques possibles sont les suivantes:
+
Il y a 3 méthodes pour permettre à une application extérieure d'insérer des données dans Dolibarr (Pour des informations sur l'autre sens et permettre à Dolibarr d'insérer des données à l'exterieur, voir la page [[Interfaces Dolibarr vers exterieur]]).
−
−
+
Pour agir sur Dolibarr depuis l'extérieur, les 3 techniques possibles sont les suivantes:
Line 15:
Line 23:
= Utilisation des classes PHP =
= Utilisation des classes PHP =
−
Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php).
+
Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php). Chacun de ces fichiers offre un classe munie de méthodes pour:
−
Chacun de ces fichiers offre un classe munie de méthodes pour:
+
* la récupération d'une entité (la méthode fetch)
* la récupération d'une entité (la méthode fetch)
* l'insertion en base d'une entité (la méthode create ou insert)
* l'insertion en base d'une entité (la méthode create ou insert)
* la mise à jour d'une entité (la méthode update)
* la mise à jour d'une entité (la méthode update)
* la suppression d'une entité (la méthode delete) si applicable à l'objet
* la suppression d'une entité (la méthode delete) si applicable à l'objet
−
* d'autres méthodes diverses propre à l'entité manipulée.
+
* d'autres méthodes diverses propre à l'entité manipulée.
+
Cette technique est préférable à la précédente.
Cette technique est préférable à la précédente.
−
'''Avantages:''' Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr.
+
'''Avantages''': Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr.
−
−
'''Inconvénients:''' Elle n'est exploitable qu'en langage PHP. Votre code doit etre situé sur le meme serveur que les fichiers Dolibarr.
−
−
−
Voici un exemple pour la création d'un tiers (société client par exemple):
−
−
<source lang="php">
−
// On declare la classe que l'on va manipuler
−
include_once('/pathofdolibarrhtdocs/societe.class.php');
−
−
// On cree une instance de l'objet à manipuler
−
$mycompany = new Societe($db);
−
−
// On renseigne ces caractéristiques
−
$mycompany->nom='Big Brother';
−
$mycompany->client=1;
−
// Si on veut que l'action de creation soit associé a un utilisateur 'loginuser' particulier,
+
'''Inconvénients''': Elle n'est exploitable qu'en langage PHP. Votre code doit etre situé sur le meme serveur que les fichiers Dolibarr.
−
// il faut decommenter cette ligne pour charger les caractéristiques de cet utilisateur.
−
// Si on laisse commenter, Dolibarr mettra null dans les champs du user de création ou mise a jour.
−
// $user->fetch('loginuser');
−
// On invoque la creation
+
Voir la page [[Objets métiers]].
−
$id=$mycompany->create($user);
−
// Pour charger l'objet
+
= Web services et plateforme nocode d'Automation =
−
$mycompany->fetch($id);
+
Voir le module [[Module Web Services API REST (développeur)|Module Web Services API REST]] et le [[Module Services Web API SOAP (développeur)|Module Services Web API SOAP]].
−
// Pour mettre a jour
+
Les API REST sont celles utilisés par les plateformes nocode des outils d'Automation.
−
$mycompany->update($user);
−
</source>
−
Rem: Si on est dans le cas d'un script externe à Dolibarr, il est nécessaire de faire au début,
+
= Voir aussi =
−
avant le include de la classe manipulée
+
* [[Système de Hooks]]
−
<source lang="php">
+
* [[Triggers-actions]]
−
include('/pathofdolibarrhtdocs/master.inc.php');
+
* [[Interfaces Dolibarr vers exterieur]]
−
</source>
−
pour que les objets $db, $lang et $user soient créés.
−
Si on veut que les actions (creation, mise a jour), soit associées dans le suivi à un utilisateur particulier, il est nécessaire de faire après l'include du master.inc.php
−
<source lang="php">
−
$user->fetch('loginuser');
−
</source>