Documentation API REST

Bonjour,

Je pense que vous devriez crée votre propre sujet en partant du début : Ce que vous avez et ce que vous voulez obtenir.
La visiblement vous ne savez pas ce qu’est une API.

bonjour KSAR merci pour ta reponse en faite oui j’ai une interface web qui ou des client font la rechrage je veut que le recharge soit generer en facture sur dolibarr

Bonjour,

Je suis en effet du même avis que ksar.
Votre demande porte surtout sur l’intégration d’un moyen de communication avec l’API de dolibarr. De ce fait, il faut surtout que l’on sache au minimum la techno que vous utilisez et le framework/CMS si il y a afin d’essayer de vous aiguiller.
Ce n’est pas un sujet qui porte sur la documentation pour le coup.

1 « J'aime »

bonjour,
je rencontre un soucis pour accéder à l’explorer du module API REST, sur plusieurs instances idem… je m’y suis connecté par le passé, sur ce même genre de serveur mututalisé ionos me semble t il, mais plus moyen…
la demande de token (via le 2ème lien dans les paramètres du module, avec mon ID et mdp) ne fonctionne pas, je prends donc mon token dans le panneau user/card.php mais quand je colle ça dans mon explorer, pas moyen d’accéder aux différents modules actionnables…
l’explorer me renvoit le swagger.json suivant :

{« messages »:["attribute paths is not of type object"],« schemaValidationMessages »:[{« level »:« error »,« domain »:« validation »,« keyword »:« type »,« message »:« instance type (array) does not match any allowed primitive type (allowed: [« object »]) »,« schema »:{« messages »:["attribute paths is not of type object"],« schemaValidationMessages »:[{« level »:« error »,« domain »:« validation »,« keyword »:« type »,« message »:« instance type (array) does not match any allowed primitive type (allowed: [« object »]) »,« schema »:{« loadingURI »:« http://swagger.io/v2/schema.json#",« pointer »:"/definitions/paths"},« instance »:{« pointer »:"/paths »}}]}

Version actuelle de Dolibarr (Programs) : 13.0.2
PHP_OS : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
Base de données : MySQL
mon serveur est en apache
php : 7.4.16

si quelqu’un voit ce qui peut pêcher, merci d’avance de m’aiguiller…

Bonjour,
j’arrive pas à accéder à ce url http://<mon_serveur>/api/index.php/
Voila ce que j’obtiens
image

Bonjour,

Le problème vient à première vue du fait de la tentative d’accéder à l’url /api/index.php/agendaevents qui n’est pas une url valide dans un cadre d’affichage sur navigateur.
Si tu ne mets que /api/index.php/explorer pour vérifier tes urls, et faire des essais de requêtes.

L’explorer est par ailleurs un outil à privilégier car il permet de voir les paramètres obligatoires pour chaque requête que l’on veut faire, et débugger nos appels qui ne fonctionnent pas ou mal :wink:

Voila mon explorer


je sais pas ce que je dois faire apres

Par exemple en cliquant sur Show/Hide à agendaevents, tu as plusieurs listes déroulantes, si tu prends la première et que tu fais « executer », est-ce que tu as un résultat qui s’affiche?
Si oui, utilises-tu un outil comme postman pour faire des essais d’API afin de tester tes requêtes avec les paramètres qui vont bien, voir si ton serveur répond par une 404 ou autre chose?

oui lorsque je clique sur exécuter j’obtiens l’ensemble des événements que j’ai créer sur mon agenda mais lorsque j’appelle l’url http://localhost:2020/api/index.php/agendaevents, j’ai ajouter /dolibar à l’url, voila ce que j’obtiens
ou je dois mettre DOLAPIKEY ?
est ce que je dois travailler avec un autre outil ?

Vous pouvez utiliser des logiciels pour tester les requêtes comme postman par exemple.
Ce dernier permet de construire une requête avec tous les paramètres tels qu’on peut les utiliser dans un code, contrairement au navigateur qui est moins pratique.
Le DOLIAPIKEY est à passer dans les headers par exemple voici le début de la requête construite pour un appel curl à l’API:
curl -X GET --header 'Accept: application/json' --header 'DOLAPIKEY: XXX'

1 « J'aime »

c’est juste pour les tests ?
Moi je veux faire la gestion des ressources en utilisant l’API REST
je devais seulement activer l’API ou je dois suivre cette procédure de test et de DOLIAPIKEY
une autre question, ou je peux mettre ce genre de code

// Créer un produit
$ref = « ma_reference_produit_X203ZZ »;
$newProduct = [
« ref » => $ref,
« label » => $ref
];
$newProductResult = CallAPI(« POST », $apiKey, $apiUrl.« products », json_encode($newProduct));
$newProductResult = json_decode($newProductResult, true);

En effet, ce sont juste des intermédiaires pour réaliser des tests, une communication avec une API se fait via une appli ou un site web vers le logiciel ou site web fournissant l’API.
C’est totalement transparent pour l’utilisateur final et n’est pas lisible (pour une personne lambda) via un navigateur.

Ceci donne donc lieu à un développement afin que votre interface communique avec l’API de Dolibarr.

Plutôt que de mener des tests avec votre code qui peuvent introduire des biais pour diverses raisons, on utilise des logiciels afin de d’abord tester notre requête si elle est valide, puis l’intégrer une fois que c’est vérifié.

Concernant le bout de code que vous montrez, il faudrait, dans l’absolu le mettre au niveau du script qui fait l’affiche de l’interface. En considérant que vous avez bien intégré la fonction CallAPI.

aaah je vois
et si je veux savoir l’état des ressources, salle de réunion par exemple, à l’aide des capteurs de présence ou de camera et après afficher l’état sur agenda DOLIBAR. est ce possible ou pas ?

Oui c’est possible, il n’y aura pas d’interface utilisateur mais au moment où vous récupérez l’état des ressources, vous pouvez y mettre un code similaire pour les modifier/créer un événement sur l’agenda

comment je peux developper ça ? Je dois utiliser un langage de programmation comme PHP, JAVASCRIPT… n’est ce pas ?

Oui, c’est faisable via un langage de programmation, PHP, Javascript, Java, Ruby, Python parmi tant d’autres.
A savoir que l’exemple de code que vous avez trouvé est en PHP

1 « J'aime »

ah d’accord
Merci beaucoup

Bonjour,

Y a t il des avancés sur la documentation API incomplète sur l’API Explorer ?

Arrivez vous à utiliser correctement l’API et à développer dessus ?

Il est possible d’aller fouiller dans les fichiers api XX .php puis les classes des objets à créer, facture ici en l’occurrence. Mais la démarche n’est vraiment pas simple.
Dans ce cas, comment mettre à jour ces données, il faut devenir contributeur au github ?

Visiblement ce n’est pas une feature request qu’il faut faire ; REST API not possible to add invoice lines · Issue #6811 · Dolibarr/dolibarr · GitHub

La précision de la doc API et le respect des standards ne peut être que bénéfique pour Dolibarr n’est ce pas ?

Bonne journée

Bonjour,

La documentation est en effet légère, mais relativement complète.
Je n’ai pas encore été voir le lien que vous avez fourni pour le repos, mais une fois que l’on a compris la logique du code, il est aisé d’utiliser l’API.

Cependant, j’adhère au fait que la précision ne serait que bénéfique