Saltar a contenido

Validación de la actualización del inventario

Para validar un archivo CVS de actualización del precio/existencias, se usa el siguiente parámetro:

https://merchants-connector-importer.zalandoapis.com/{ClientID}/validate/

Pruebas de sus actualizaciones de feed con el endpoint /validate

El endpoint /validate se proporciona exclusivamente para pruebas manuales. Le permite verificar si su archivo CSV de actualización de existencias/precios cumple con nuestros requisitos de formato y contenido antes de enviarlo a producción. Tenga en cuenta los siguientes puntos clave:

  • Solo para pruebas:
    Este endpoint debe usarse ÚNICAMENTE durante la fase de pruebas. Recuerde que el tamaño del archivo no debe superar 7,5 MB.

  • Entorno de producción:
    En producción, no es necesario utilizar el endpoint /validate. Nuestro sistema procesa su feed de manera automática y envía una notificación por correo electrónico en caso de producirse errores en el procesamiento.

  • Visibilidad y gestión de feeds:
    Para obtener una visibilidad completa de todos sus feeds, incluido el estado en vivo y la administración de los mismos, le recomendamos encarecidamente utilizar nuestro portal de socios dedicado:
    https://hq.partner-solutions.zalan.do/manage

Si sigue estas directrices, podrá asegurarse de que sus feeds se validen correctamente durante las pruebas y se integren sin problemas en

Opción 1: Uso de una interfaz de línea de comandos (CLI) o un programa

Solicitud de HTTP

  • Método PUT

Parámetros de URL y encabezado

Parameter Type Example
Client ID String d329krpq
Stock File Name CSV 20181023_update.csv
API Key (x-api-key) String lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr

Ejemplos de código

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);
})

Response

El resultado devuelve el estado 200 con un cuerpo JSON que contiene:

  • 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": []
 }
]

Opción 2: Uso de la interfaz gráfica de usuario Postman

Paso 1: Descargue el navegador de Chrome

Chrome Web browser

Aunque utilice otro navegador web, download Chrome browserdebe descargar Chrome, ya que la extensión de Postman lo requiere.

Paso 2: Instale la extensión de Postman en Chrome

Postman Extension

Puede instalar Postman desde aquí. También puede descargar la aplicación de Postman en su dispositivo Windows o Mac. Ejecute la extensión de Postman y cree una cuenta.

Paso 3: Cierre todas las ventanas emergentes hasta que vea la ventana siguiente:

Postman

Postman Intro

Paso 4: Seleccione «PUT» en el menú desplegable

PUT

Postman PUT

Paso 5: Copie la URL al campo de texto en Postman

`https://merchants-connector-importer.zalandoapis.com/{ClientID}/validate`

Client ID

El Client ID se obtiene desde el Onboarding Manager. Utilizaremos d329krpq como ejemplo. Utilice su propio Client ID.

URL

Postman Client ID

Paso 6: Seleccione la pestaña Headers

x-api-key

Añada una clave denominada x-api-key e introduzca como valor su API Key secreta obtenida en su Onboarding Manager

x-api-key

Postman X API Key

Paso 7: Añada otra clave como Content-Type

El valor debe ser text/csv, ya que el formato del archivo de actualización del inventario es CVS.

Content-Type

Postman Content Type

Paso 8: Seleccione la pestaña Body

Seleccione el botón de radio binario y haga clic en Choose Files. Añada su archivo de inventario en formato CVS.

Add stock update file

Postman File

Paso 9: Haga clic en el Send button

Es posible que vea algunos errores en el cuerpo de la respuesta. A continuación se muestra un ejemplo.

Response

Postman Result

Errores más comunes

A continuación encontrará algunos de los errores más comunes y cómo solucionarlos.

Error 1: Unauthorized (No autorizado)

Unauthorized

Postman Unauthorized

Motivo

Wrong credentials

Compruebe que el Client ID o la API Key son correctos.

Error 2: Failed to parse the CSV file (No se ha podido analizar el archivo CSV)

Parsing failed

Postman CSV missing

Motivo

No file or size is too big

No se ha seleccionado ningún archivo de inventario para cargarlo O el tamaño del archivo era superior al límite.

Error 3: Request exceeded (Se ha superado el tiempo de la solicitud)

Request exceeded max char limit

Postman Size

Movito

Request exceeded max char limit

Puede que el tamaño del archivo de inventario pese más de 7,5 MB o la codificación no sea UTF-8.

Error 4: Tipo de medio no compatible

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