Importación de datos

La API de Sales Layer permite actualizar los campos almacenados usando los parámetros POST de llamada.

Para poder importar/introducir datos mediante peticiones al API, es necesario configurar un conector de importación genérico en el lado cloud del PIM de Sales Layer.

Desde el conector acreditado se puede configurar el acceso a los campos con permiso de modificación y proteger el resto por seguridad.

Estructura de datos

“input_data” = [
    “{nombre tabla}” *** = [
        [
            “REF” = “{referencia única del registro}”
            “{nombre campo}” = “{nuevo valor de campo}”,
            “{nombre campo}” = “{nuevo valor de campo}”,
            ...
        ],
        [ … ]
    ],
    “{nombre de otra tabla}” = [
        ...
    ]
]

La lista de ítems puede ser de una URL a un archivo CSV.

Nota la importación mediante JSON aceptará hasta 50k de ítems por llamada.

Ejemplo:

{“input_data”:{
    “products”:”http://externaldomain.com/download/product_items.csv”,
    …

Desde la versión 1.18 de la API, se puede especificar un acceso FTP, al subir un archivo:

{“input_data”:{
	“products”: [

		“URL”:”ftps://externaldomain.com/download/product_items.csv”,
		“user”: “FTP_user”,
		“password”: “FTP_password”,
		“port”: “FTP_port”
	],
	…

Atento: es importante remarcar que el FTP ha de tener un certificado firmado por una autoridad certificadora, como estándar de seguridad en las aplicaciones, no aceptamos certificados autofirmados.

Otros parámetros

get_output_data” = 0/1 (default: 0)

Si introducimos datos nuevos no se devuelve información actualizada, excepto si se desea explícitamente.

get_affected_ids” = 0/1 (default: 0)

Devuelve en la respuesta el número total de ítems afectados por tabla: "items_affected":{"products":5}

Para visualizar el detalle de ítems nuevos, modificados y eliminados es necesario llamar a la función correspondiente utilizando SDK:

  • La llamada a la función: $SLConn->get_input_results()
  • La respuesta: Array ( [items_affected] => 7 [new_items] => 2 [updated_items] => 2 [deleted_items] => 3 ) 
Opciones de importanción

Los nombres de campo serán los definidos en el conector en el apartado de Nombre en Importación ; no confundir con el nombre definitivo del campo en Sales Layer cloud ( Campo Relacionado ).

Si se define un #Alias de Tabla, este debe respetarse a la hora de definir los datos a importar en una petición o llamada HTTP por POST.

Para permitir la creación de nuevos registros (Categorías, Productos, Variantes,etc.) asegúrate de que el conector tiene marcado NO en el parámetro Solo actualizar ítems existentes de cada una de las tablas definidas para importación. Si solo deseas actualizar datos existentes en el lado Cloud del PIM, mantén este parámetro con valor SI.

Apunta: es posible definir fórmulas de filtrado o manipulación de datos en el conector que tratarán los valores a importar antes de modificarlos en el lado cloud del PIM.