Mustangserver mit PHP

1. Melden Sie sich unter https://api.usegroup.de/devportal/ an, wählen Sie die neueste Mustangserver-API aus und laden Sie die OpenAPI-Definition (=Swagger) der API herunter.

Screenshot 1


2. Öffnen Sie die Datei in einem Texteditor, markieren Sie den gesamten Inhalt und kopieren Sie ihn.
3. Laden Sie ein Swagger Editor Docker-Image herunter, führen Sie es aus und rufen Sie es auf, z. B. mit

docker run -d -p 80:8080 docker.swagger.io/swaggerapi/swagger-editor

Lokal über Port 8080 ausführen. Fügen Sie die kopierte Swagger-Datei ein.

4. Verwenden Sie „Generate Client|PHP“, um eine ZIP-Datei herunterzuladen, und extrahieren Sie diese.

Screenshot 2

5. Bearbeiten Sie die extrahierte Datei „composer.json“ und ändern Sie den Namen des Projekts in der Datei „composer.json“ in „lowercaps/lowercaps“.

6. Aktualisieren Sie die Versionsnummer von php-cs-fixer auf ^2.0. Führen Sie anschließend „composer install“ in diesem Verzeichnis aus.

Screenshot 3

7. Kopieren Sie das Beispiel aus dem Abschnitt „Erste Schritte“ der Datei readme.md in eine neue Datei mit dem Namen index.php.

Screenshot 4

8. Jetzt lassen wir Client-Anmeldedaten zu. Klicken Sie auf „Anwendungen“ (8.), „Standardanwendung“.

9. Klicken Sie auf „Produktionsschlüssel/OAuth2-Token“. Alternativ können Sie auch erstellen API-Schlüssel. Bitte beachten Sie, dass alle alten API-Schlüssel weiterhin funktionieren, wenn Sie neue API-Schlüssel erstellen. Bitte beachten Sie auch, dass API-Schlüssel im Gegensatz zu OAuth-Tokens für zukünftige Versionen möglicherweise aktualisiert werden müssen, da sie an die derzeit bestehenden Abonnements gebunden sind.
10. Als Vorbereitung für die Authentifizierung: Überprüfen Sie die Client-Anmeldedaten und klicken Sie unten auf der Seite auf die Schaltfläche „Aktualisieren“.

11. Jetzt erhalten wir einen Zugriffstoken: Für diesen Teil verwenden wir einen Token, der in Kürze abläuft. Klicken Sie auf „Zugriffstoken generieren“ (11.), generieren Sie den Token und kopieren Sie ihn. Fügen Sie ihn ein.

Screenshot 5

12. index.php (12.), in derselben Datei

13. Ändern Sie ErrorController in Mustangcontroller (13.) und
14. handle() in ping() (14.). Bitte beachten Sie, dass Ihnen gängige PHP-Editoren eine Code-Vervollständigung anbieten. Nun können Sie die resultierende Datei index.php über Ihren Server und den PHP-Prozessor in Ihrem Browser öffnen. Sie sollte nun wie in Screenshot 6 aussehen:

Screenshot 6

OAuth2-Authentifizierung

Zurück zu Screenshot 4:

Fügen Sie in index.php den folgenden Code ein

$client = new GuzzleHttp\Client();
$res = $client->request('POST', 'https://gw.usegroup.de:9443/oauth2/token', [
    'auth' => ['<15.>', '<16.>'],
    'form_params' => [
        'grant_type' => 'client_credentials',
    ]
]);

$json = json_decode($res->getBody(), true);
Screenshot 7

15. Kopieren Sie den Verbraucherschlüssel (15., aus Bildschirm 4) an den Anfang von index.php (16.).

17. Verbrauchergeheimnis (18.) anzeigen und kopieren.

19 Ersetzen Sie das statische Zugriffstoken, das ungültig wird, durch $json[„access_token“].

20 Erstellen oder laden Sie eine zu validierende Rechnung herunter, z. B. https://www.mustangproject.org/files/MustangGnuaccountingBeispielRE-20201121_508.pdf, und speichern Sie sie als factur-x.pdf.

21 Ändern Sie die Methode in validateFile und

22 HTML-Escape des Validierungsergebnisses, sodass das Ergebnis im Browser wie in Screenshot 8 aussieht:

PHP-Client-Tutorial
Screenshot 8


Das war’s. Anstatt das XML anzuzeigen, können Sie es nun analysieren 🙂