X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fdokumentation.xml;h=b9b7e11f890f5286c64c9fdd556f91d2ec2c62fb;hb=d17039f09b3c3fc415d5778d954c02d6be5479dc;hp=21fd96711133f6eb6e577e32a1ca00b3bc187592;hpb=ffda56c80e03669ac3a0463f90067a07e1d36132;p=kivitendo-erp.git diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 21fd96711..b9b7e11f8 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -821,13 +821,13 @@ default_manager = german Als Hinweis einige Links zu den drei Distribution (Stand Dezember 2018): - Fedora (Postgres-Installation unter Fedora) + Fedora (Postgres-Installation unter Fedora) - Ubuntu (Infos für Postgres für die aktuelle LTS Version) + Ubuntu (Infos für Postgres für die aktuelle LTS Version) - OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert) + OpenSuSE (aktuell nur bis Version OpenSuSE 13 verifiziert) @@ -7825,6 +7825,89 @@ file_name = /tmp/kivitendo-debug.log + + Programmatische API-Aufrufe + + + Einführung + + + Es ist möglich, Funktionen in kivitendo programmatisch aus anderen Programmen aufzurufen. Dazu ist nötig, dass + Authentifizierungsinformationen in jedem Aufruf mitgegeben werden. Dafür gibt es zwei Methoden: die HTTP-»Basic«-Authentifizierung + oder die Übergabe als spziell benannte GET-Parameter. Neben den Authentifizierungsinformationen muss auch der zu verwendende Mandant + übergeben werden. + + + + + Wahl des Mandanten + + + Der zu verwendende Mandant kann als Parameter {AUTH}client_id mit jedem Request mitgeschickt werden. Der Wert + muss dabei die Datenbank-ID des Mandanten sein. kivitendo prüft, ob der Account, der über die Authentifizierungsinformationen + übergeben wurde, Zugriff auf den angegebenen Mandanten hat. + + + + Wird in einem Request kein Mandant mitgegeben, so wird derjenige Mandant genommen, wer als Standardmandant markiert wurde. Gibt es + keinen solchen, kommt es zu einer Fehlermeldung. + + + + + HTTP-»Basic«-Authentifizierung + + + Für diese Methode muss jedem Request der bekannte HTTP-Header Authorization mitgeschickt werden (siehe RFC 7617). Unterstützt wird ausschließlich die »Basic«-Methode. Loginname und + Passwort werden bei dieser Methode durch einen Doppelpunkt getrennt und Base64-encodiert im genannten HTTP-Header übertragen. + + + + Diese Informationen müssen einen vorhandenen Account benennen. kivitendo prüft genau wie bei Benutzung über den Webbrowser, ob + dieser Account Zugriff auf den Mandanten sowie auf die angeforderte Funktion hat. + + + + Da die Logininformationen im Klartext im Request stehen, sollte der Zugriff auf kivitendo ausschließlich über HTTPS verschlüsselt + erfolgen. + + + + + Authentifizierung mit Parametern + + + Für diese Methode müssen jedem Request zwei Parameter mitgegeben werden: {AUTH}login und + {AUTH}password. Diese Informationen müssen einen vorhandenen Account benennen. kivitendo prüft genau wie bei + Benutzung über den Webbrowser, ob dieser Account Zugriff auf den Mandanten sowie auf die angeforderte Funktion hat. + + + + Da die Logininformationen im Klartext im Request stehen, sollte der Zugriff auf kivitendo ausschließlich über HTTPS verschlüsselt + erfolgen. + + + + + Die Verwendung dieser Methode ist veraltet. Statt dessen sollte die oben erwähnte HTTP-»Basic«-Authentifizierung verwendet werden. + + + + + + Beispiele + + + Das folgende Beispiel nutzt das Kommandozeilenprogramm »curl« und ruft die Funktion auf, die eine vorhandene Telefonnummer in den + Ansprechpersonen sucht und dazu Informationen zurückliefert. Dabei wird die HTTP-»Basic«-Authentifizierung genutzt. + + + $ curl --silent --user 'jdoe:SecretPassword!' \ + 'https://…/controller.pl?action=PhoneNumber/look_up&number=053147110815' + + + SQL-Upgradedateien