Beantwortet

Artikelbild per API abfragen / herunterladen


Benutzerebene 4
Abzeichen +2

Hallo,

weiß jemand, wie man Artikelbilder per API herunterladen kann?

https://update.xentral.biz/apidoc/docs223.html#v1_dateien

Das Herunterladen würde sicher funktionieren per /v1/dateien/{id}/download – aber woher weiß ich die ID?

Ich hätte sie bei den Artikelinformationen erwartet. Aber wenn ich per /v1/artikel/{id} einen Artikel abfrage und in der JSON-Antwort nach “bild”, “datei”, “id”, “file”, “image” suche kommt nur das:

{
"data": {
"id": 419,
"standardbild": "",
"logdatei": "2023-04-26 13:52:48",
"webid": "",
"bildvorschau": "4004_100_100",
}
}

Der Beispiel-Artikel hat 3 JPEG-Bildern mit Stichwort “Standard Artikelbild (Shopbild)” hinterlegt.

Falls es so gedacht ist, dass man zuerst per /v1/dateien sucht – was sollen dann die Suchparameter sein? belegtyp=”artikel”? Und wie würde ich nach der ID bzw. Artikelnummer filtern?

icon

Beste Antwort von Pau Ferrandiz 27 April 2023, 17:29

Original anzeigen

5 Antworten

Benutzerebene 2
Abzeichen

Hallo,

wir erweitern die API bei fehlenden API-Calls bzw. Werten, die die API nicht liefert, mit Berichten, die wir vor der eigentlichen Abfrage laufen lassen.

Also in Deinem Fall etwa so (nicht getestet) :

SELECT 
d.datei AS id
FROM datei_stichwoerter d
LEFT JOIN datei_version dv ON d.datei = dv.datei
LEFT JOIN artikel a ON d.parameter = a.id
WHERE a.id = 419

 

Dann den Bericht per API abfragen:

https://update.xentral.biz/apidoc/docs223.html#v1_reports

Das liefert die richtigen ID’s, die Du dann hiermit verwursten kannst:

https://update.xentral.biz/apidoc/docs223.html#v1_dateien

 

Benutzerebene 4
Abzeichen +2

Danke Matthias!

Leider umständlich, SQL schreiben, CSV parsen, JSON-API Abfrage starten…

aber immerhin eine Lösung. Danke!

Benutzerebene 2
Abzeichen

Ja, das stimmt.

Aber man muss das ja nur einmal machen und kann dann mit dieser Vorlage und nötigen kleineren Anpassungen alle Tabellen der Datenbank auslesen.

Benutzerebene 5
Abzeichen +2

Hey @Jakob Schöttl & @Matthias Beuck* 

ihr braucht keine SQL davor machen…

Einfach euer API Call mit ein ?include=dateien ergänzen

v1/artikel/267?include=lagerbestand,dateien

ihr bekommt dann in die Response die Datei-ID

"dateien": [
{
"id": 29,
"titel": "Standardbild",
"beschreibung": "",
"subjekt": "Shopbild",
"artikel": "267",
"nummer": ""
}

und damt könnt ihr mit ein 

/v1/dateien/115/download

genau diese Datei herunterladen.

 

Ich hoffe, diese Informationen helfen euch weiter.

 

Benutzerebene 4
Abzeichen +2

Danke Pau! Wenn das in der API Doku stehen würde, wär’s super.

Ich würde deine Antwort gern “als beste Antwort markieren” aber irgendjemand hat schon Matthias Antwort so markiert.

Antworten