SW5 Bestelldaten via API abrufen

Hi folks,

entschuldigt bitte schon mal voweg, falls ich hier in der falschen Kategorie bin… ich konnte mich nicht entscheiden, welches die richtige sein könnte.

Ich bin gerade dabei, mir ein kleines (Python-)Tool zu basteln, welches die Bestellungen aus meinem SW5-Shop via API abrufen soll.

Dafür habe ich den Nutzernamen und den API-Key in einem String (durch „:“ getrennt) zusammengefasst und das ganze dann als bytestring konvertiert. Diesen wiederum habe ich dann base64 „verschlüsselt“ und wie folgt als Header angegeben:

def get_order_shopware5():
    
    header = {"Authorization": "Basic NjE2NDZkNjk2ZTNhNTM2ZTY1NzA0OTZlNmI2YzRhNjQ2YzY0NTA1MTM1Mzg0NjdhN2E0ODRlMzk3OTZiNGU2NDZlNzA2ODM1Nzk2YzU0NWEzODM2NjQ1MDZkNTM"}
    print(header)
    
    res = requests.get("https://shopname.de/api/orders", headers=header)
    
    print(res.content)

Wenn ich die Funktion aufrufe, bekomme ich aber immer ein
„b’{„success“:false,„message“:„Invalid or missing auth“}'“
als Antwort zurück.

Wenn ich manuell über den Browser auf www.shopname.de/api/orders zugreife und die Credentials eingebe, funktioniert alles einwandfrei. Ich nehme also an, dass irgendwo was an der Synthax hängt. Aber ich komme nicht dahinter, was genau.

Ich bin für jeden Hinweis dankbar!

Greetz,
Lotus

Schau dir mal folgendes Projekt an.

Auf Basis dessen funktioniert bei mir die Kommunikation mit der API.

Hey @sacrofano
danke für den Tipp. Allerdings bekomme ich einen Haufen Fehlermeldungen, die die Sache unnötig komplizeren. Und ganz ehrlich, Hexenwerk kann so eine API ja nicht sein ^^.
Ich schaue erstmal weiter, werde aber Deine Option im Hinterkopf behalten, falls ich mich verrennen sollte.