Interfaces from foreign systems toward Dolibarr

There are 3 methods to allow an external application to insert data into Dolibarr (For information on the other direction and allow Dolibarr to insert datas into external systems, see page Interfaces Dolibarr toward foreign systems).

To act on Dolibarr from external system, there is 3 possible solutions:

= Insert data directly into database = This solution requires knowledge of the physical model and the allowed values of the fields. It is risky and should be rewritten if modified format based Dolibarr.

Advantages: Can be made in any language.

Disadvantage: This technique is highly discouraged. At the first upgrade of Dolibarr version, this method will not work and will need to be rewritten. Moreover, using this method, you override the business rules validations, which creates a risk of corrupting data. This method also needs to know the basis Dolibarr.

= Using PHP classes = It is possible to use business objects Dolibarr (xxx.class.php files). Each of these files provides a class of methods for:
 * reading of an entity (the fetch method)
 * insertion into database of an entity (the create method or insert)
 * updating an entity (the update method)
 * deletion of an entity (the delete method) if applicable to the object
 * various other methods specific to the entity manipulated.

This technique is better than first one.

Advantages: It offers the advantage of passing through layers of data validation business. The interface code should normally not be rewritten when upgrading version Dolibarr.

Disadvantages: It is usable in PHP only. Your code must be stored on the same server as the Dolibarr files.

See page Business Objects.

= Web services = See Module Web Services.

= See also =
 * Hooks system
 * Triggers
 * Interfaces Dolibarr toward foreign systems