Prüfen der Bestandsaktualisierung¶
Um eine CSV-Datei für Bestands-/Preisaktualisierung zu prüfen, wird der folgende Endpunkt verwendet:
https://merchants-connector-importer.zalandoapis.com/{ClientID}/validate/
7.5MB size limit for testing
Dieser Endpunkt darf NUR für manuelle Testzwecke verwendet werden und die Bestandsdatei DARF NICHT größer als 7,5 MB sein.
Option 1: Verwendung einer CLI oder eines Programms¶
HTTP-Anfrage¶
PUT-Methode
URL Parameters and Header¶
Parameter | Type | Example |
---|---|---|
Client ID | String | d329krpq |
Stock File Name | CSV | 20181023_update.csv |
API Key (x-api-key) | String | lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr |
Code-Beispiele¶
Shell¶
curl -v -X PUT -H "x-api-key: lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr"
-H "Content-Type: text/csv"
--upload-file 20181023_update.csv
https://merchants-connector-importer.zalandoapis.com/d329krpq/validate | jq '.'
Powershell¶
Invoke-WebRequest `
-UseBasicParsing `
-Uri https://merchants-connector-importer.zalandoapis.com/d329krpq/validate `
-Method PUT -InFile 20181023_update.csv `
-Headers @{'x-api-key'='lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr'; 'content-type'='text/csv'}
Python¶
import requests
client_id = "d329krpq"
headers = {
'x-api-key': "lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr",
'content-type': "application/csv",
'cache-control': "no-cache"
}
with open('feed_data_to_validate.csv', 'rb') as f:
res = requests.put(f"https://merchants-connector-importer.zalandoapis.com/{client_id}/validate".format(client_id=client_id), headers=headers, data=f.read())
print(res.json())
Nodejs¶
const axios = require('axios')
const fs = require('fs')
const clientId = "d329krpq"
const apiKey = "lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr"
const url = `https://merchants-connector-importer.zalandoapis.com/${clientId}/validate`
const config = {
headers:{
"content-type": "application/csv",
"x-api-key": apiKey,
"cache-control": "no-cache"
}
}
const data = fs.createReadStream('file.csv')
axios.put(url, data, config)
.then((response) => {
// handle success
console.log(response);
})
.catch((error) => {
// handle error
console.log(error);
})
Antwort¶
Das Ergebnis liefert einen Status 200 in einem JSON-Body mit:
- errors : array of the failures (FCI will reject the whole file)
- warnings : array of the warnings (FCI will discard the warned lines)
- result : message containing a summary of the validation
[
{
"errors": [
{
"details": [
"EAN length must be 12 or 13",
"EAN checksum invalid"
],
"message": "column name : [ean]",
"type": "Invalid column value",
"line_numbers": [
{
"store_id": "1",
"ean": "5704498811",
"line_number": 20
},
{
"store_id": "1",
"ean": "4061749183",
"line_number": 24
}
]
}
],
"result": "FAILED! Fashion Connector will not be able to process the file. Please correct the errors.",
"warnings": []
}
]
Option 2: Verwendung der Postman-Oberfläche¶
Schritt 1: Einen Chrome-Browser herunterladen¶
Chrome Web browser
Wenn du einen anderen Browser verwendest, lade bitte den Chrome-Browser herunter, da die Postman-Erweiterung einen Chrome-Browser erfordert.
Schritt 2: Postman Chrom-Erweiterung installieren¶
Postman Extension
Du kannst Postman von hier installieren. Du kannst die Postman-App auf deinen Windows-Computer oder deinen Mac herunterladen. Bitte starte die Postman-Erweiterung und erstelle in Postman ein Konto.
Schritt 3: Schließe alle Popup-Fenster in Postman, bis der folgende Bildschirm angezeigt wird:¶
Postman
Schritt 4: Im Dropdown-Menü „PUT“ auswählen¶
PUT
Schritt 5: URL in das Textfeld in Postman kopieren¶
`https://merchants-connector-importer.zalandoapis.com/{ClientID}/validate`
Client ID
Die Kunden-ID erhältst du von deinem Onboarding Manager. Wir verwenden d329krpq
als Beispiel. Bitte verwende deine eigene Kunden-ID.
URL
Schritt 6: Registerkarte Headers
auswählen¶
x-api-key
Füge einen Schlüssel namens x-api-key
hinzu und gib deinen geheimen API-Schlüssel, den du von deinem Onboarding Manager erhalten hast, als Wert ein.
x-api-key
Schritt 7: Einen weiteren Schlüssel als Content-Type
¶
Der Wert sollte txt/csv
als Format haben und die Bestandsaktualisierungsdatei ist eine CSV-Datei.
Content-Type
Schritt 8: Registerkarte Body auswählen¶
Wähle die binäre
Optionsschaltfläche und klicke auf Dateien auswählen
. Füge deine Bestandsdatei im CSV-Format hinzu.
Add stock update file
Schritt 9: Auf die Schaltfläche Senden
klicken¶
Im Body der Antwort sollten einige Fehler zu sehen sein. Ein Beispiel ist unten angegeben.
Response
Die häufigsten Fehler¶
Dies sind einige der häufigsten Fehler und wie sie behoben werden können
Fehler 1: Nicht autorisiert¶
Unauthorized
Grund¶
Wrong credentials
Bitte prüfe, ob die Kunden-ID und/oder der API-Schlüssel korrekt sind.
Fehler 2: CSV-Datei konnte nicht analysiert werden¶
Parsing failed
Grund¶
No file or size is too big
Entweder wurde keine Bestandsdatei zum Hochladen ausgewählt ODER die hochgeladene Datei war größer als zulässig.
Fehler 3: Anfrage überschritten¶
Request exceeded max char limit
Grund¶
Request exceeded max char limit
Die Bestandsdatei ist möglicherweise größer als 7,5 MB oder die Kodierung der Bestandsdatei ist nicht UTF-8.
Fehler 4: Nicht unterstützter Medientyp¶
Unsupported media type
{
"type": "about:blank",
"title": "Unsupported media type",
"status": 415,
"detail": "Unsupported media type"
}
Grund¶
Wrong Content-Type header
Use Content-Type: text/csv