Importación de datos

Modificado el Mie, 6 May a 12:25 P. M.

La API permite actualizar campos almacenados utilizando parámetros POST.

Para importar o insertar datos mediante llamadas a la API, debes configurar un conector de importación.

Conector de importación


Estructura de datos


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

Nota: la importación JSON admite hasta 50 000 ítems por llamada. También puedes ejecutar la importación desde un archivo CSV.

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


Importación por FTP


Desde la versión 1.18 de la API, también puedes especificar el 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”
    ],
    …
}
!

Advertencia: el servidor FTP debe usar un certificado firmado por una autoridad de certificación. No se aceptan certificados autofirmados.


Otros parámetros


ParámetroValorExplicación
get_output_data0 o 1Si insertas datos nuevos, la información actualizada no se devuelve a menos que la solicites explícitamente.
get_affected_ids0 o 1Devuelve en la respuesta el número total de ítems afectados por tabla, por ejemplo: "items_affected":{"products":5}.

Para ver el desglose de ítems nuevos, modificados y eliminados, debes llamar a la función correspondiente con el SDK:

  • Llamada: $SLConn->get_input_results()
  • Respuesta: Array ( [items_affected] => 7 [new_items] => 2 [updated_items] => 2 [deleted_items] => 3 )


Configuración básica


Los nombres de los campos serán los definidos en el conector en Nombre de importación.

Si defines un alias de tabla, debes respetarlo al enviar los datos en la llamada HTTP POST.

El parámetro Solo actualizar ítems existentes funciona así:

  • Sí: solo se actualizarán los ítems que ya existen en el PIM. Las referencias nuevas se descartarán.
  • No: se permitirá tanto la creación de nuevos ítems como la actualización de ítems existentes.

Configuración del conector


Eliminar registros mediante POST


La forma más recomendada de eliminar datos mediante una llamada POST es enviar el estado del ítem con el valor X y mapear ese campo en el conector.

“input_data” = [
    “products” = [
        [
            ”product_reference” = “{referencia del registro en Sales Layer}”,
            “status” = “X”
        ],
        …
    ]
]

Mapeo del campo de estado

En la versión 1.18, también puedes eliminar registros creando una estructura delete_data en el cuerpo de la llamada POST.

“delete_data” = [
    “{nombre de la tabla}” = [
        [
            “REF” = “{referencia única del registro}”
        ],
        …
    ],
    ...
]


Respuesta y errores


La respuesta a la solicitud de actualización de datos llega dentro del parámetro input_response en JSON o XML.

“input_response” = [
    “result” = (0 = sin cambios, 1 = actualización completada, 2 = actualización denegada),
    “errors” = [
        0 = “{descripción del error}”,
        {n} = …
    ],
    “items_affected” = [
        “{tabla}” = {número de campos modificados}
    ]
]

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo