Rechnungen automatisiert herunterladen

Hallo alle,

ich versuche gerade eine Software zu schreiben, welche die Rechnungsdaten von Shopware in eine externe Buchhaltungssoftware importiert.

Die meisten Dinge finden sich ja problemlos in der Datenbank.

Ich habe nur ein Problem die Rechnungen zu finden.

In der Datenbank scheinen diese nicht zu sein - Das Einzige was ich gefunden hatte ist in der Tabelle: s_order_documents… Möglicherweise liegen die Rechnungen ja auch gar nicht in der Datenbank - nur kenne ich die Shopware Architektur noch zu wenig.

Dort (in der Tabelle s_order_documents) ist ein Hash zu finden.

Mit diesem Hash ist es möglich die Rechnungen herunter zu laden - jedoch nur, wenn im Browser eine gültige Session zum Backend besteht - hier der Link:

https://www.phoenix-der-lebenskraft.at/backend/Order/openPdf?id=1372e76d847b33a8a6a66a5d31639e6a

Der automatisierte Download kann sich aber nicht vorher ins Backend einloggen.

Daher meine Frage:

  • Wie komme ich an die Rechnungen - wo liegen diese - sind diese irgendwie direkt aus der DB zu beziehen?

Mein Ansatz zum automatisierten herunterladen war mittels VB.net - hier ein Code Ausschnitt:

        Using client As New WebClient()

            ServicePointManager.Expect100Continue = True
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

            client.DownloadFile("https://www.phoenix-der-lebenskraft.at/backend/Order/openPdf?id=" & kvp.Value.s_order_documents_hash, "temp\" & kvp.Value.s_order_documents_hash & ".pdf")
        End Using

Funktioniert nur leider nicht - da nur HTML heruntergeladen wird.

Lg Andreas

Die Rechnungen (falls erstellt) liegen unter /files/documents und werden mit dem Hash als Dateiname abgelegt. Der Hash steht dann in der Datenbank.

Hi,

vielen Dank - da hätt ich auch selbst draufkommen sollen.

Ja dann ist es einfach, brauch mir nur die .pdf s per FTP zu holen.

Lg Andreas

1 Like