Die REST-API, die Dolibarr von Haus aus mitbringen sollte
32 Core-Domänen mit den nativen Dolibarr-Berechtigungen, echter Idempotenz und Massenoperationen. Mit MCP-Server, um KI-Agenten anzubinden.
|
32
Core-Domänen
|
697
Operationen
|
3.849
Tests
|
V15–V23
PHP 7.0 bis 8.3
|
Das Problem, das es löst
Die native Dolibarr-API ist nicht einfach nur unvollständig: Jede ihrer Eigenheiten kostet Sie Stunden. Das sind die, die in jeder Integration wieder auftauchen.
| Was Ihnen begegnet |
Was es Sie kostet |
| Ein POST liefert eine Ganzzahl, ein anderer das Objekt |
Ein eigener Parser pro Endpunkt, und keiner davon wiederverwendbar |
| Der Vertriebs-Join nutzt t.rowid = sc.fk_soc |
Es rutschen Partner-Datensätze durch, die dieser Benutzer nicht sehen dürfte |
| Es kommt ein 401, wo ein 403 richtig gewesen wäre |
Ihre Retry-Logik besteht auf etwas, das nie funktionieren wird |
| accountancy stellt nur exportData bereit |
Die Buchhaltung bleibt außerhalb Ihrer Integration |
| Bei keinem Schreibvorgang gibt es Idempotenz |
Ein Timeout plus ein Retry, und Sie berechnen doppelt |
EasyAPI ist keine Schicht über der nativen API: Es ist eine vollständige Neuimplementierung mit einem einheitlichen deklarativen Vertrag.
NEU IN 2.1
Nativer MCP-Server für KI-Agenten
Verbinden Sie Claude, Cursor oder einen beliebigen KI-Agenten in einer Minute mit Ihrem Dolibarr: die Modul-URL und Ihr DOLAPIKEY als Bearer-Token.
Statt dem Agenten Hunderte von Tools vorzusetzen, stellt er drei Meta-Tools bereit —search, describe und invoke— über die 697 Operationen, mit Schemas und aufrufbereiten Beispielen. Der Agent verkettet mehrstufige Operationen, schreibt idempotent und erhält selbstkorrigierende Fehler: Ein 422 nennt ihm genau das Feld, das er korrigieren muss.
Er erbt Ihre nativen Dolibarr-Berechtigungen und ACL und kann daher nichts sehen oder anfassen, was der Benutzer nicht auch dürfte. Enthält den Administrations-Reiter „MCP / KI“ und eine Verbindungsanleitung im Modul selbst.
Eingebettete Dokumentation
Die OpenAPI-Spezifikation erzeugt sich selbst aus den Resources und wird im Modul ausgeliefert, gefiltert nach den Rechten des Benutzers, der sie abruft. Sie wählen den Viewer: Scalar, Swagger UI oder Redoc, alle drei enthalten.
Alle 32 Domänen navigierbar, mit Server-Auswahl und Authentifizierung per DOLAPIKEY. Jede Operation bringt ihr Schema und ein aufrufbereites Beispiel mit.
Vergleich mit der nativen API
| Dimension |
Native Dolibarr-API |
EasyAPI |
| Abdeckung |
~25 Klassen mit ungleichmäßiger Abdeckung; auskommentierte oder fehlende Methoden |
32 vollständige Core-Domänen + Sub-Resources |
| Antworten |
Uneinheitlich: Ein POST liefert einen int, ein anderer das Objekt |
Einheitlicher {success, data}-Envelope, mit meta.pagination in Listen · POST → 201 + Objekt · DELETE → 204 |
| Fehler |
Uneinheitliche Codes und Meldungen, ohne Taxonomie und ohne request_id |
Vollständiger Katalog (422, 409, 410, 412, 413, 415, 428, 429, 503…) mit request_id und doc_url |
| Sicherheit |
Native Rechte, aber mit echten ACL-Fehlern und falschen Statuscodes |
Dieselben nativen Rechte, ACL pro Datensatz korrigiert und einheitlich, ohne Lecks zwischen Entitäten |
| Idempotenz |
Nicht vorhanden |
Idempotency-Key mit atomarer Reservierung und Replay bei jedem Schreibvorgang |
| Validierung |
400 mit „fehlendes Feld“ |
Deklaratives 422 mit error.fields je Regel |
| Abfragen |
sqlfilters + limit/page |
JSON:API-Filter, Sortierung, Suche, Sparse Fields, Include, Offset- und Cursor-Pagination |
| Bulk |
Nicht vorhanden |
207 Multi-Status bei Anlegen, Aktualisieren und Löschen (100 pro Stapel) |
| Resilienz |
Nicht vorhanden |
Rate-Limit, Deadlock-Retry, ETag / If-Match, Wartungsmodus, /health |
| Dokumentation |
Einfacher Swagger-Explorer |
Vollständiges OpenAPI mit eingebettetem Scalar, Swagger UI und Redoc |
| Erweiterbarkeit |
Man muss den Core anfassen oder forken |
Auto-Discovery von Resources aus Ihrem eigenen Modul |
| KI-Agenten |
Nicht vorgesehen |
Nativer MCP-Server enthalten |
So wird es benutzt
Authentifizierung mit Ihrem Dolibarr-DOLAPIKEY. Jede Antwort kommt mit demselben Envelope: Ihren Client schreiben Sie einmal, und er gilt für alle 32 Domänen.
EINE RECHNUNG ANLEGEN, OHNE DUBLETTEN AUCH BEI RETRY
curl -X POST https://ihr-dolibarr.com/custom/easyapi/api/invoices \
-H "DOLAPIKEY: ihr_schluessel" \
-H "Idempotency-Key: bestellung-4417" \
-H "Content-Type: application/json" \
-d '{"socid": 128, "lines": [{"fk_product": 55, "qty": 2}]}'
Der Basispfad ist custom/easyapi/api bei einer Standardinstallation. Wenn Sie das Modul in einem anderen, in Ihrer conf.php registrierten Modulordner haben, ersetzen Sie custom durch Ihren: EasyAPI hat keine fest verdrahteten Pfade und passt sich dem Installationsort an.
201 CREATED
{
"success": true,
"data": {
"id": 902,
"ref": "FA2607-0043"
}
}
422 — SAGT IHNEN, WAS ZU KORRIGIEREN IST
{
"success": false,
"error": {
"type": "validation_error",
"code": 422,
"message": "Validation failed",
"fields": {
"socid": "does not exist"
},
"request_id": "req_a1b2",
"doc_url": "…#validation_error"
}
}
Listen ergänzen einen meta.pagination-Block mit dem Modus (Offset oder Cursor), der Gesamtzahl und der Seite. Und jede Antwort, ob erfolgreich oder fehlerhaft, trägt den Header X-Request-Id: Wenn etwas schiefgeht, können wir mit dieser Kennung genau Ihre Anfrage nachverfolgen.
Was enthalten ist
Sie erweitern die API, ohne den Core anzufassen
Automatisch erkannte Resources mit JSON:API-Filtern, Sortierung, Suche, Sparse Fields, Include und Offset- oder Cursor-Pagination. Sie erweitern die API aus Ihrem eigenen Modul heraus, ohne den Core anzufassen.
Sichere Schreibvorgänge und Fehler, die sich selbst erklären
Idempotenz per Idempotency-Key, deklarative 422-Validierung, strukturierte Fehler mit request_id, Massenoperationen 207 und ACL pro Datensatz.
Es hält Lastspitzen, Ausfälle und Retries aus
Konfigurierbares Rate-Limit, automatischer Deadlock-Retry, ETag und If-Match für optimistische Nebenläufigkeit, Wartungsmodus sowie /status- und /health-Endpunkte.
Dokumentation, die nicht veraltet
Vollständiges OpenAPI mit eingebettetem Scalar, Swagger UI und Redoc, nach Domäne gruppiert und mit automatischen Beispielen. Modul-Oberfläche in 8 Sprachen.
Wofür es eingesetzt wird
- Dolibarr per moderner REST mit E-Commerce, Mobile Apps oder externen ERPs integrieren.
- Massensynchronisation von Produkten, Partnern und Aufträgen in Stapeln zu 100.
- Headless-Automatisierungen mit garantierter Exactly-once-Ausführung.
- BI und Dashboards mit echten Filtern und echter Pagination versorgen.
- Einem KI-Agenten sicheren und auditierten Zugriff auf Ihr ERP geben.
- Ihre eigene Fach-API bauen, indem Sie Resources erweitern, ohne Dolibarr zu forken.
Inbetriebnahme
1
Installieren und aktivieren Sie EasyAPI und führen Sie composer install im Modulordner aus.
2
Konfigurieren Sie Resilienz und CORS im Reiter „API“: Rate-Limit, Retries, ETag und Wartungsmodus.
3
Authentifizieren Sie sich mit Ihrem DOLAPIKEY und nutzen Sie die 32 Domänen mit Idempotency-Key und If-Match.
4
Öffnen Sie /docs, um die API zu erkunden, und den Reiter „MCP / KI“, um Ihren Agenten anzubinden.
Voraussetzungen
| Dolibarr |
V15 bis V23 |
| PHP |
7.0 bis 8.3 |
| Datenbank |
MySQL 5.7+ · MariaDB 10.2+ · PostgreSQL 10+ |
| Webserver |
Apache mit mod_rewrite oder Nginx |
| Abhängigkeiten |
Composer zur Installation der Modul-Bibliotheken |
Vor dem Kauf
Kann ich es an meinen Fall anpassen?
Ja. EasyAPI wird unter GNU GPL v3 ausgeliefert: Sie erhalten den kompletten Quellcode und dürfen ihn lesen, ändern und an Ihre Installation anpassen, ohne zu fragen. Außerdem erkennt das Framework Resources automatisch, sodass Sie normalerweise eigene Endpunkte aus Ihrem Modul ergänzen, statt unseres anzufassen.
Wie teste ich es, ohne meine Daten zu riskieren?
Installieren Sie es auf einer Kopie Ihres Dolibarr und rufen Sie GET /status auf: Es antwortet, ohne einen einzigen Datensatz anzufassen. Ab da sind alle Lesezugriffe (die 32 Domänen mit Filtern und Pagination) harmlos. Schreibzugriffe legen dagegen echte Daten an, testen Sie diese also auf dieser Kopie; was Idempotency-Key garantiert, ist, dass ein Retry nach einem Netzabbruch den Datensatz nicht dupliziert — nicht, dass der Vorgang umkehrbar wäre.
Und wenn etwas nicht zu meiner Installation passt?
Schreiben Sie uns vor dem Kauf an
info@easysoft.es, und wir schauen es gemeinsam an: Dolibarr-Version, PHP, Hosting und was Sie integrieren müssen. Wir sagen Ihnen lieber, dass es nicht passt, als Ihnen etwas zu verkaufen, das Ihnen nichts nützt.
Und wenn ich aktualisiere? Bricht dann meine Integration?
Nein. EasyAPI ist eine stabile API v1, und jede Antwort deklariert das im Header X-EasyAPI-Version. In v1 kommen nur abwärtskompatible Änderungen: neue optionale Felder, neue Endpunkte, neue Header. Eine Änderung, die den Vertrag bricht —ein Feld umbenennen, einen Typ ändern— landet nicht in v1: Sie käme als v2, und Ihre Integration bliebe auf v1, bis Sie migrieren, wann es Ihnen passt.
Was ist im Kauf enthalten?
Das vollständige Modul mit Quellcode und 365 Tage Zugriff auf Updates und Downloads über Dolistore, dazu E-Mail-Support für Installation, Integration und das Anbinden von KI-Agenten.
Aktive Wartung
EasyAPI ist kein Modul, das veröffentlicht und dann vergessen wird. Die aktuelle Version ist 2.13, und jede Auslieferung durchläuft die Suite mit 4.110 Tests plus Live-QA. Die letzte Runde machte aus der Spezifikation einen echten Vertrag und beseitigte das N+1 in den Listen, ohne Bruch der Kompatibilität:
- Codegen-taugliches OpenAPI-Contract: typisierte Listen mit ihrer echten Paginierung und ehrlichen required, nullable und enum. Ihr Client generiert seine Typen, statt sie von Hand zu schreiben.
- Schluss mit N+1: Der Partner des Belegs kommt in 13 Ressourcen im selben Aufruf mit, ebenso seine Zeilen und Zahlungen – und es lässt sich jetzt nach Partnerfeldern sortieren und filtern.
- Neue Fach-Endpunkte: Fakturierungs-KPIs, bewerteter Bestand je Lager, Extrafield-Definitionen für dynamische Formulare, Bewegungen aller Bankkonten und Ticket-Wörterbücher.
- MCP-Server konform zur Spezifikation 2025-11-25, mit STDIO-Transport und mehrsprachiger Suche für KI-Agenten.
Das Detail Version für Version steht im ChangeLog, erreichbar über den Administrations-Reiter des Moduls selbst.
|
24
auf Dolistore veröffentlichte Module
|
GPLv3
vollständiger Quellcode
|
8
Sprachen in der Oberfläche
|
365
Tage Updates
|
Passt es zu dem, was Sie integrieren müssen?
Erzählen Sie uns Ihren Fall, und wir sagen Ihnen, ob EasyAPI für Sie taugt — und wenn nicht, sagen wir das genauso. Wir antworten zu Installation, Integration und dem Anbinden von KI-Agenten.
info@easysoft.es www.easysoft.es