OpenAPI REST API documentation

Hallo,

ich hab immer wieder am Rande gehört, dass Dolibarr eine REST API hat aber ich finde keine Dokumentation dazu.

In der Ankündigung von Dolibarr 14 stand sogar was von einer OpenAPI specification. Das wäre ja super. Aber wo ist die Doku oder Spezifikation?

Danke und viele Grüße! Jakob

Hallo Jakob,
über Swagger kannst Du die vorhanden Funktionen abrufen:

den Key oben rechts musst du bei einem Benutzer erstellen:

wie zu den einzelnen Funktionen die Parameter aussehen muss man sich leider aus dem PHP-Code herauslesen.
In welcher Sprache möchtest Du denn auf die API zugreifen? (C#, …?)

Bis dann!
Christian

Danke Christian! Ich sehe also, direkt in der Instanz unter /api/index.php/explorer/ ist die API grob dokumentiert.

Das finden der Parameter würde ich dann schon hinbekommen :slight_smile:

Ich hab nur kürzlich gelernt, dass man sich aus einer OpenAPI spec den Client Code bzw. Datentypen/Klassen generieren lassen kann.

Mein Client wäre dann Haskell oder Elm.

Hi,
das kannst Du evtl versuchen, aber ich vermute, dass das nix sinnvolles wird.
Denn, bei Dolibarr leiten alle Klassen von einer „CommonObject“ Klasse ab, welche viele Properties enthalten, welche für die eigentlich benötigte Klasse irrelevant, wenn nicht sogar irreführend sind. Zudem werden oftmals als Parameter komplette Arrays übergeben, welche keine definierte Datenstruktur haben :confused: . Desweiteren werden bei einem GET die Filter („sqlfilter“) nach den SQL-Query columnname gefilter z.B. t.rowid, obwohl das Property ID heißt.
Ich habe mir in C# „alle“ (die von mir benötigten) Klassen nachgebildet und einen Service gebaut um sinnvoll auf die Schnittstelle zugreifen zu können. Wenn ich noch ein sinnvolles Logging in den Service integriert habe werde ich diesen Code über GitHub veröffentlichen.

Gruß Christian

1 „Gefällt mir“

Wenn ich nicht weiß wie die Parameter heißen oder befüllt werden müssen, mach ich die betreffende Aktion auf der Website und guck in den Entwickler-Tools was für Parameter gesendet werden und wie die aussehen. Ist nicht immer identisch, aber oft sehr hilfreich.
Schade, dass die Doku hier so dünn ist :frowning: