hibiscus.xmlrpc mit PHP

 
abockhold
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 15
Dabei seit: 01 / 2017
Betreff:

hibiscus.xmlrpc mit PHP

 · 
Gepostet: 18.05.2023 - 19:37 Uhr  ·  #1
Hallo,

an dieser Stelle einfach einmal ein großes Dankeschön an Olaf für Jameica und Hibiscus, vielen Dank!

Ich benötige gerade Zugriff auf die Hibiscus-Daten für ein PHP-Projekt und habe mich deswegen durch die Doku gewühlt - wenn man weiß. wo man gucken muss, findet man (fast) alles!

Die PHP-Komponente "phpxmlrpc/phpxmlrpc" (unproblematisch über Composer installierbar) zum Zugriff auf die API hat sich ein wenig weiterentwickelt, weswegen ich hier für andere Interessierte den Code-Schnipsel von https://www.willuhn.de/wiki/do…rpc:umsatz in aktualisierter und leicht erweiterter Fassung wiedergeben möchte - gern natürlich zur Übernahme in die Doku:

Code
$message = 'hibiscus.xmlrpc.umsatz.list';
$params = [ new Value([ "zweck" => new Value("Miete", Value::$xmlrpcString),
                        "datum:min" => new Value("01.05.2023", Value::$xmlrpcString),
                        "datum:max" => new Value("31.05.2023", Value::$xmlrpcString), ], Value::$xmlrpcStruct) ];
$request = new Request($message, $params);

$response = $client->send($request);
if (!$response->faultCode()) {
    $value = $response->value();

    for ($i=0;$i<$value->count();$i++) {
        $umsatz = $value[$i];
        print("ID    : ".$umsatz["id"]->scalarVal()."\n");
        print("Name  : ".$umsatz["empfaenger_name"]->scalarVal()."\n");
        print("Konto : ".$umsatz["empfaenger_konto"]->scalarVal()."\n");
        print("BLZ   : ".$umsatz["empfaenger_blz"]->scalarVal()."\n");
        print("Betrag: ".$umsatz["betrag"]->scalarVal()."\n");
        print("Zweck : ".$umsatz["zweck"]->scalarVal()."\n");
        print("\n");
    }

    // DEBUG - Ergebnis
    #print_r($value);
} else {
    print("Fehler\n");
    print("Code:  ".htmlentities($response->faultCode())."\n");
    print("Grund: ".htmlentities($response->faultString())."\n");
}
// DEBUG - Parameter
#print_r($params);


Viele Grüße
Andreas

PS: Eine Frage am Rande, vermutlich habe ich auch das in der Doku (nur) übersehen. Unter https://www.willuhn.de/products/hibiscus-server/ wird neben SOAP und XML-RPC auch JSON als externe Anbindung genannt. Wo finde ich Infos dazu?
abockhold
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 15
Dabei seit: 01 / 2017
Betreff:

Re: hibiscus.xmlrpc mit PHP

 · 
Gepostet: 19.05.2023 - 11:38 Uhr  ·  #2
Noch zwei ergänzende Erkenntnisse im Bereich Umsätze:

  • Das Feld "gvcode" wird per XML-RPC geliefert, fehlt aber unter https://willuhn.de/wiki/doku.php?id=develop:xmlrpc:umsatz bei der Darstellung der Schlüsselnamen.
  • Das Feld "Vormerkbuchung", das im CSV-Export enthalten ist, sowie (zumindest) die Felder "endtoendid", "mandateid", "purposecode" und "flags" (das enthält die Markierung "geprüft"?) werden per XML-RPC m.E. nicht ausgegeben. Ließe sich das ergänzen? Danke!
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10777
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus.xmlrpc mit PHP

 · 
Gepostet: 20.05.2023 - 09:46 Uhr  ·  #3
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10777
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus.xmlrpc mit PHP

 · 
Gepostet: 20.05.2023 - 09:49 Uhr  ·  #4
Zitat geschrieben von abockhold

Noch zwei ergänzende Erkenntnisse im Bereich Umsätze:

  • Das Feld "gvcode" wird per XML-RPC geliefert, fehlt aber unter https://willuhn.de/wiki/doku.php?id=develop:xmlrpc:umsatz bei der Darstellung der Schlüsselnamen.
  • Das Feld "Vormerkbuchung", das im CSV-Export enthalten ist, sowie (zumindest) die Felder "endtoendid", "mandateid", "purposecode" und "flags" (das enthält die Markierung "geprüft"?) werden per XML-RPC m.E. nicht ausgegeben. Ließe sich das ergänzen? Danke!



Korrekt. Bei neuen Feldern in Hibiscus pflege ich die nur sporadisch in den Schnittstellen nach. Der Code ist aber bei Github unter https://github.com/willuhn/hibiscus.xmlrpc gehostet. Du kannst sie einfach hinzufügen und als Pull-Request einreichen. Ich übernehme das dann.
Gewählte Zitate für Mehrfachzitierung:   0