Zugriff auf Shopware 6 über API und VBA und EXCEL?

Hallo Allerseits!

Ich bekomme es leider nicht hin, per VBA auf Shopware 6 zuzugreifen. Leider ist mir auch nicht klar, wie ich einen Benutzernamen + Passwort oder Benutzernamen + API-Key übertragen muss. Ohne diese Angabe wird man bestimmt keine Abfrage vornehmen dürfen. Kann hier jemand helfen, der Erfahrungen hat?

url = “https://apfelbaum.de/api/articles/
'MsgBox url

'Verweis notwendig: Microsoft WINHTTP-Services

With CreateObject(“WINHTTP.WinHTTPRequest.5.1”)
    .Open “GET”, url, False
    .send
    MsgBox .responseText
End With

Vielen Dank! JM

Hallo JM,

ich habe eine Anbindung zwischen Access (VBA) und Shopware programmiert.

Dafür verwende ich hauptsächlich die Komponente von chilkatsoft, mit der sich die Abfragen über REST und JSON sehr komfortabel erledigen lassen. Ich habe anfangs viel mit Postman gearbeitet und mir damit die Logik und Abfragestruktur erarbeitet. 

Um überhaupt mal an die Schnittstelle von Shopware zu kommen, musst Du mit den „Integrations-Daten“ einen Token holen („OAuth“). Mit diesem Token kannst Du dann alle Anfragen ausführen, was wirklich sehr gut funktioniert, wenn man die Logik mal verstanden hat. Ich bin total begeistert von Shopware und die Anbindung über die API!

Viel Erfolg!

Hallo lhairman!

Vielen Dank für Deine Zeilen. Der Tooken wurde schon in einigen Treffern bei Dr. Google erwähnt. Leider gibt es kaum VBA-Fundstücke darunter. Die Vielfalt der Anmeldungsmöglichkeiten ist einfach beeindruckend. Kannst Du mir Deinen Codeblock herauskopieren (die Anmeldungsdaten unkenntlich machen), damit ich die komplette Vorgehensweise in VBA habe? Den Rest bekomme ich dann hin. MfG. JM

So hole ich einen Token über die Chilkat-Komponente (die kostet allerdings ein paar Euro)

Set json = CreateObject("Chilkat_9_5_0.JsonObject")
json.updateString "grant_type", "client_credentials"
json.updateString "client_id", client_id
json.updateString "client_secret", client_secret
        
Set http = CreateObject("Chilkat_9_5_0.Http")
' resp is a Chilkat_9_5_0.HttpResponse
Set resp = http.PostJson3(getAPIURL(False) & "api/oauth/token", "application/json", json)
If (http.LastMethodSuccess <> 1) Then Exit Function
    
Set jsonResp = CreateObject("Chilkat_9_5_0.JsonObject")
jsonResp.Load resp.BodyStr

myToken = jsonResp.stringof("access_token")

Grüße und guten Rutsch!

Hallo,

 

dein Tippp hat mir sehr geholfen!

Hallo Jogi2021!

Ich hatte die Anbindung an VBA aus Zeitgründen erstmal beiseitegelegt. Sie interessiert mich jedoch noch immer. Benutzt Du die Chilkat-Komponenten? Wenn nicht, kannst Du den Code für die Anmeldung posten? Est ist schon erstaunlich, wie wenig man zu diesem Thema (Shopware und VBA) findet. Irgendwie wollen alle nur fertige Komponenten verkaufen (möglichst noch kompiliert). Oder man bekommt den Hinweis “Du willst nur lesen, dann benutze doch den Standardexport”. Ein gutes Beispiel würde mir sehr helfen.

MfG. JM