Convalida dell’aggiornamento delle giacenze¶
Per convalidare un file CSV di aggiornamento giacenze/prezzo, viene utilizzato il seguente endpoint:
https://merchants-connector-importer.zalandoapis.com/{ClientID}/validate/
Testare gli aggiornamenti del Feed con l’endpoint /validate¶
L’endpoint /validate è fornito esclusivamente per test manuali. Consente di controllare se il file CSV per l’aggiornamento di scorte/prezzi rispetta i nostri requisiti di formattazione e contenuto prima dell’invio in produzione. Si prega di considerare i seguenti punti fondamentali:
-
Solo per test:
Questo endpoint deve essere utilizzato ESCLUSIVAMENTE durante la fase di test. Ricordarsi che la dimensione del file non deve superare 7,5 MB. -
Ambiente di produzione:
In produzione, non è necessario utilizzare l’endpoint /validate. Il nostro sistema elabora il feed in modo automatico e invia una notifica e-mail in caso di eventuali errori di elaborazione. -
Visibilità e gestione del Feed:
Per un quadro completo di tutti i feed, incluso lo stato in tempo reale e la gestione degli stessi, si consiglia vivamente di utilizzare il nostro portale partner dedicato:
https://hq.partner-solutions.zalan.do/manage
Seguendo queste linee guida, potrà assicurarsi che i suoi feed siano convalidati correttamente durante la fase di test e integrati senza problemi in produzione, con notifiche automatiche in caso di errori.
Opzione 1: Utilizzo di una CLI o di un programma¶
Richiesta HTTP¶
Metodo PUT
Parametri URL e header¶
Parameter | Type | Example |
---|---|---|
Client ID | String | d329krpq |
Stock File Name | CSV | 20181023_update.csv |
API Key (x-api-key) | String | lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr |
Esempi di codice¶
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 api_key = "lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr"
const url = `https://merchants-connector-importer.zalandoapis.com/${clientId}/validate`
const config = {
headers:{
"content-type": "application/csv",
"x-api-key": api_key,
"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);
})
Risposta¶
Il risultato sarà uno stato 200 con un corpo JSON che contiene:
- errors : array degli errori (FCI rifiuterà l’intero file)
- warnings : array degli avvisi (FCI scarterà le righe che contengono avvisi)
- result : un messaggio che contiene una sintesi della convalida
[
{
"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": "5704498123",
"line_number": 20
},
{
"store_id": "1",
"ean": "4061749341",
"line_number": 24
}
]
}
],
"result": "FAILED! Fashion Connector will not be able to process the file. Please correct the errors.",
"warnings": []
}
]
Opzione 2: Utilizzo della GUI di Postman¶
Fase 1: Scaricare il browser Chrome¶
Chrome Web browser
Se si utilizza un altro browser scaricare Chrome perché l’estensione Postman lo richiede.
Fase 2: Installare l’estensione Postman per Chrome¶
Postman Extension
È possibile installare l’estensione Postman da qui. È anche possibile scaricare l’app Postman sul proprio dispositivo Windows o Mac. Aprire l’estensione Postman e creare un account in Postman.
Fase 3: Chiudere tutti i popup all’interno di Postman fino a quando si vede la schermata riportata di seguito:¶
Postman
Fase 4: Selezionare "PUT" nel menu a tendina¶
PUT
Fase 5: Copiare l’url nella casella di testo in Postman¶
https://merchants-connector-importer.zalandoapis.com/{ClientID}/validate
Client ID
L’ID cliente vi viene fornito dal vostro Onboarding Manager. Useremo d329krpq
come esempio. Vi preghiamo di usare il vostro ID cliente.
URL
Fase 6: Selezionare la scheda degli header¶
x-api-key
Aggiungere una chiave chiamata x-api-key
e digitare la Chiave API segreta ricevuta dal proprio Onboarding Manager (un valore).
x-api-key
Fase 7: Aggiungere un’altra chiave come tipo di contenuto¶
Il valore dovrebbe essere txt/csv
dal momento che il file di aggiornamento delle giacenze è in formato CSV.
Content-Type
Fase 8: Selezionare la scheda del corpo¶
Selezionare il pulsante binario
e cliccare su Scegli file
. Aggiungere il proprio file in formato CSV.
Add stock update file
Fase 9: Cliccare sul pulsante di invio¶
Nel corpo della risposta si dovrebbero vedere alcuni errori. Di seguito viene fornito un esempio.
Response
Errori più comuni¶
Riportiamo alcuni tra gli errori più comuni con istruzioni su come risolverli
Errore 1 Non autorizzato¶
Unauthorized
Motivo¶
Wrong credentials
Verificare se l’ID cliente e/o la chiave API sono corretti.
Errore 2: Impossibile eseguire la parsificazione del file CSV¶
Parsing failed
Motivo¶
No file or size is too big
Può essere che nessun file delle giacenze sia stato selezionato per l’upload OPPURE che la dimensione del file caricato fossesuperiore al limite.
Errore 3: La richiesta ha superato¶
Request exceeded max char limit
Motivo¶
Request exceeded max char limit
Può darsi che il file delle giacenze sia più grande di 7,5 MB o che non sia codificato in UTF-8.
Errore 4: Tipo di supporto non supportato¶
Unsupported media type
{
"type": "about:blank",
"title": "Unsupported media type",
"status": 415,
"detail": "Unsupported media type"
}
Motivo¶
Wrong Content-Type header
Use Content-Type: text/csv