Documentation API REST

Bonjour à vous, et merci.

Je passe :
{
« date »: « 2018-10-12 »,
« socid »: « 1 »,
« statut »: « 0 »,
« duree_validitite »: 30
}

Et j’obtiens le 31/01/1970 comme date de fin…

Si j’envoie:

{
« date »: « 2018-10-12 »,
« socid »: « 1 »,
« statut »: « 0 »,
« duree_validite »: 30
}

J’obtiens comme date de validité le 31/01/1970

Bonjour,

La date doit être au format timestamp UNIX.

1 J'aime

Merci, c’était donc ca !

je vous propose une synhèse des bugs de l’API REST, avec les contournements,
j’y ai mis ce que j’ai expérimenté :


le document est accessible à tout le monde en lecture / écriture

Bonjour,
Je suis totalement nouveau sur Dolibarr, aussi merci d’excuser ma naïveté.
Je ne comprends pas « $fk_product = $newProductResult ».
D’après la documentation, le retour de la requête Create est un array au format JSON avec error et debug etc.
D’où vient l’id de l’enregistrement qui a été créé?
Merci pour votre aide.

Bonjour,

Les requêtes POST de création de nouvelles entitées renvoient l’id de l’enregistrement nouvellement créée en cas de succès (code HTTP 200) ou dans tous les autres cas le tableau JSON que vous évoquez :wink:

1 J'aime

Bonjour,
je découvre les API REST de dolibarr. J’essaie de développer des API supplémentaires pour un besoin métier, mais je me galère un peu.
Sur le wiki (https://wiki.dolibarr.org/index.php/Module_Web_Services_REST_(développeur)) il est indiqué
Ajouter un nouveau service est aussi facile qu’ajouter un fichier nommé api_monmoduleobject.class.php dans le dossier htdocs/module/class.
J’ai donc ajouté mon propre fichier, il est reconnu dans l’explorer, mais l’API ne fonctionne pas (« API not found (failed to include API file) »).
pour faire simple, j’ai juste copié / collé / renommé une API existante (users => customers) donc le code ne devrait pas poser de problème…

Merci

Nicolas

Pièces jointes :

@chag :laugh: :laugh: :laugh: :laugh: :laugh:

@godloff Bonjour,

Que souhaitez vous faire exactement avec l’API REST ?
En savoir un peu plus sur votre besoin permettra certainement de mieux vous orienter.

Bonne journée à vous :wink:

Bonjour,
je souhaite gérer des réservations de service par des clients via mobile, pour un POC.
Mon idée est d’utiliser la base client standard dolibarr pour créer (thirdparties POST) ou gérer (thirdparties PUT, GET) les comptes client.
Ca, j’ai réussi à le faire à peu près, mon API modifié répond à mon besoin pour l’instant.
Je voudrais maintenant gérer manuellement mes réservations en créant une table à la main dans la BDD et en accèdant à cette table via une nouvelle API.
J’aimerais donc créer une API Booking. Pour l’instant, j’ai juste copié / collé l’API users en la renommant, mais ma nouvelle API n’est pas reconnue. Je suppose donc qu’il y a plus d’actions à faire que juste mettre un fichier api_toto.class.php, qui contient une classe toto avec des methodes get, put, post etc.

@godloff Je suis un peu inquiet quand je lis que vous avez modifié l’API des Thirdparty. C’est assez dangereux de modifier directement le coeur de Dolibarr car cela posera problème lors des mises à jour (je vous déconseille donc de faire cela directement). Je ne sais pas ce que vous avez modifié et pourquoi mais on peut éventuellement en discuter ici également.

Ensuite, je vous déconseille également de créer une table « à la main » pour les mêmes raisons qu’évoquées ci-dessus. Voyez cette page du wiki https://wiki.dolibarr.org/index.php/Développement_module qui vous permettra d’adopter une approche plus propre pour étendre le coeur de Dolibarr et créer vos propres classes PHP DAO https://wiki.dolibarr.org/index.php/Développement_module#Cr.C3.A9er_vos_tables_SQL_et_les_classes_PHP_DAO_.28optionnel.29.

Pour l’API, du coup, votre fichier sera dans votre propre répertoire class/ de votre module (évitez de copier/coller et commencez avec un fichier minimal et juste une méthode GET par exemple).

Bonjour, merci pour votre réponse. J’ai modifié les API existantes juste pour comprendre comment ça fonctionne, mon intention est plutôt d’en créer de nouvelles.
Et le contexte est un POC plutôt qu’un développement opérationnel, La base sur laquelle je travaille n’est pas utilisée de façon professionnelle, elle me sert juste à faire des essais.
Mais je comprends de la réponse que je n’ai pas approché le sujet du bon côté, je voulais juste créer une API, alors qu’il faudrait d’abord créer un module et ensuite lui associer une API. Je vais m’atteler à ça, je reviendrai si je ne m’en sors pas :wink:

Bonjour

Merci pour cette page qui avec https://wiki.dolibarr.org/index.php/Module_Web_Services_REST_(développeur) sont les deux seules ressources que j’ai trouvé sur les API dolibarr (dommage, doc maigre alors que c’est fort intéressant)

J’ai pu faire tourner l’exemple pour générer une facture provisoire depuis mon framework cakePhp, via l’API (qui fonctionne donc)

Par contre j’essaie sans succès via l’API de valider une facture pour obtenir son numéro final (j’utilise le masque mercure)

J’ai vu que c’était la fonction getNextNumRef qui était censée faire ça…

j’ai essayé pas mal de variantes autour de:
$res = $client->getNextNumRef($authentication, $invoice);

est-ce que quelqu’un aurait une piste? ce serait pas possible via l’API?
si non, une autre piste?
un grand merci d’avance

Bonjour

Merci pour cette page qui avec wiki.dolibarr.org/index.php/Module_Web_S...T_(développeur) sont les deux seules ressources que j’ai trouvé sur les API dolibarr (dommage, doc maigre alors que c’est fort intéressant)

J’ai pu faire tourner l’exemple pour générer une facture provisoire depuis mon framework cakePhp, via l’API (qui fonctionne donc)

Par contre j’essaie sans succès via l’API de valider une facture pour obtenir son numéro final (j’utilise le masque mercure)

J’ai vu que c’était la fonction getNextNumRef qui était censée faire ça…

j’ai essayé pas mal de variantes autour de:
$res = $client->getNextNumRef($authentication, $invoice);

est-ce que quelqu’un aurait une piste? ce serait pas possible via l’API?
si non, une autre piste?
un grand merci d’avance

PS: je suis sur une 8.0.2

Bonjour @radeff,

Donc, si je comprends bien, vous essayez de valider une facture depuis l’API REST, mais ça ne fonctionne pas.
C’est bien cela ?

Vous appelez bien le endpoint POST /invoices/<idfacture>/validate ?

Si oui, quelle est l’erreur retournée ?

Bonjour @jtraulle
top merci
non je ne faisais pas ça… logique si ça ne jouait pas!
je teste et je vous dis

Bonjour,

Dans le cadre d’une integration entre Dolibarr et un PBX, je m’initie aux echanges API REST.
J’arrive à acceder à la page explorer et à la liste de mes modules, mais les choix sont limité.

E effet ce qui m’intéresse dans le cadre de cette intégration c’est de faire remonter la fiche contact d’un client au travers de sonnuméro de téléphone.

Or au niveau contact dans l’explorer les seuls essais que je peux faire sont basés sur l’ID.
J’admet être néophyte en développement mais également autodidacte donc si quelqu’un voulait bien me renseigner sur le fonctionnement de l’explorer REST ^^

Par avance merci.

@Eurochef

L’astuce est d’utiliser l’API GET (list) où tu recupères tous les contacts en utilisant le champs sqlfilters (regarde l’exemple dans l’explorer) ou tu devrais pouvoir spécifier le champs de la base à filtrer.
Avec le numéro de tél çà devrait le faire et un (t.phone:like:’%473941234’)
% permet d’échapper un caractère (dans l’exemple ca me permet de prendre en compte +33, 0, +330,+33(0) et autres qui peuvent etre utils si les numéros n’ont pas tous le meme format)
Attention tu récupères un tableau de résultat et non une instance (même si il y a qu’un resultat)

1 J'aime

@Eurochef
Je serai curieux de savoir comment tu as fait pour réussir à afficher la list de tes modules dans l’explorer d’API.
J’ai réussi à créer mon token. Jusque là pas de PB. Pour afficher l’explorer il me faut un temps fou! Quelques secondes (45 à 60 sec environs), mais je trouve ça très lent… Je précise que mon Dolibarr est sur un hébergement mutualisé OVH. Toutes les autres pages s’ouvrent en un claquement de doigts. Sauf l’explorer. Et j’ai bien lu tout le Forum (de la page 1 à la page 9), donc bien supprimé tous les fichiers inutiles, voir même modifier la fameuse ligne 93 du fichier index.php contenu dans htdocs/api/ et toujours pareil…
Je suis dans le même cas que toi. Je cherche à intégrer un PBX à mon Dolibarr. Pour mon cas c’est 3CX.

@ bientôt!