Zum Inhalt

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

Postman Intro

Schritt 4: Im Dropdown-Menü „PUT“ auswählen

PUT

Postman 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

Postman Client ID

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

Postman 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

Postman 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

Postman 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

Postman Result

Die häufigsten Fehler

Dies sind einige der häufigsten Fehler und wie sie behoben werden können

Fehler 1: Nicht autorisiert

Unauthorized

Postman 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

Postman CSV missing

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

Postman Size

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