Saltearse al contenido

PIM Access

El modulo pim access permite conectarse a un sistema PIM (Product Information Management) como Akeneo u otros compatibles. Soporta operaciones de lectura (GET) con paginacion automatica siguiendo enlaces _links.next.href, y operaciones de escritura (POST, PUT, PATCH) para crear o actualizar recursos. La autenticacion se realiza mediante OAuth2 (grant_type password) obteniendo un token Bearer antes de cada operacion. Incluye reintentos con backoff exponencial ante errores ECONNRESET. Es ideal para sincronizar catalogos de productos entre el PIM y otros sistemas.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCredenciales de acceso al PIM
urltextSiURL del endpoint (soporta variables {{variable}})
pageInitnumberNoPagina inicial (por defecto: 1)
pageSizenumberNoTamano de pagina (por defecto: 100)
totalIterationsnumberNoLimite de iteraciones (0 = sin limite)
delayMsnumberNoDelay entre peticiones en ms (por defecto: 500)
continu_next_linkbooleanNoContinuar paginando automaticamente (por defecto: true)
continueOnErrorbooleanNoContinuar el workflow en caso de error
methodtextNoMetodo HTTP: GET (lectura) o POST/PUT/PATCH (escritura). Por defecto: GET
datatextNoPayload para escritura (soporta {{data}} para enviar los datos de entrada)

La credencial debe contener los campos:

  • username: Nombre de usuario del PIM
  • password: Contrasena del usuario
  • client_id: ID del cliente OAuth2
  • client_secret: Secreto del cliente OAuth2
  • endpoint_auth: URL del endpoint de autenticacion (ej: https://mipim.com/api/oauth/v1/token)

El modulo autentica mediante OAuth2 password grant y obtiene un Bearer token para las peticiones subsiguientes.

{
"nextModule": "siguiente_modulo",
"data": {
"data": [
{ "identifier": "SKU001", "family": "camisetas" },
{ "identifier": "SKU002", "family": "pantalones" }
],
"links": { "next": { "href": "..." } }
}
}
{
"nextModule": "siguiente_modulo",
"data": {
"status": 201,
"data": {}
}
}
{
"credentials_id": "cred_pim_01",
"url": "https://mipim.com/api/rest/v1/products",
"method": "GET",
"continu_next_link": true,
"totalIterations": 0,
"delayMs": 500
}
{
"credentials_id": "cred_pim_01",
"url": "https://mipim.com/api/rest/v1/products/{{sku}}",
"method": "PATCH",
"data": "{{data}}"
}
  • Autenticacion: POST {endpoint_auth} con grant_type=password y Basic Auth (client_id:client_secret)
  • Productos: Endpoints REST del PIM (compatible con Akeneo API)
  • La paginacion sigue el formato HAL _links.next.href y los items se extraen de _embedded.items
  • Soporta variables dinamicas {{variable}} en la URL y en el payload
  • El valor especial {{data}} en el campo data envia los datos de entrada como payload (eliminando _meta_)
  • Incluye reintentos automaticos (hasta 3) con backoff exponencial para errores ECONNRESET
  • continueOnError: true permite que el workflow continue aunque la operacion falle
  • En modo lectura, los datos se acumulan de todas las paginas en un solo array
  • En modo escritura, se desactiva la descompresion gzip y se omite Accept-Encoding
  • El token se obtiene nuevo en cada ejecucion del modulo
  • odooApi (lectura de APIs con paginacion similar)
  • odoowrite (escritura en APIs con autenticacion basica)