PIM Access
Descripcion
Sección titulada «Descripcion»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.
Configuracion
Sección titulada «Configuracion»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| credentials_id | credentials | Si | Credenciales de acceso al PIM |
| url | text | Si | URL del endpoint (soporta variables {{variable}}) |
| pageInit | number | No | Pagina inicial (por defecto: 1) |
| pageSize | number | No | Tamano de pagina (por defecto: 100) |
| totalIterations | number | No | Limite de iteraciones (0 = sin limite) |
| delayMs | number | No | Delay entre peticiones en ms (por defecto: 500) |
| continu_next_link | boolean | No | Continuar paginando automaticamente (por defecto: true) |
| continueOnError | boolean | No | Continuar el workflow en caso de error |
| method | text | No | Metodo HTTP: GET (lectura) o POST/PUT/PATCH (escritura). Por defecto: GET |
| data | text | No | Payload para escritura (soporta {{data}} para enviar los datos de entrada) |
Credenciales
Sección titulada «Credenciales»La credencial debe contener los campos:
username: Nombre de usuario del PIMpassword: Contrasena del usuarioclient_id: ID del cliente OAuth2client_secret: Secreto del cliente OAuth2endpoint_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.
Modo lectura (GET)
Sección titulada «Modo lectura (GET)»{ "nextModule": "siguiente_modulo", "data": { "data": [ { "identifier": "SKU001", "family": "camisetas" }, { "identifier": "SKU002", "family": "pantalones" } ], "links": { "next": { "href": "..." } } }}Modo escritura (POST/PUT/PATCH)
Sección titulada «Modo escritura (POST/PUT/PATCH)»{ "nextModule": "siguiente_modulo", "data": { "status": 201, "data": {} }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Lectura con paginacion
Sección titulada «Lectura con paginacion»{ "credentials_id": "cred_pim_01", "url": "https://mipim.com/api/rest/v1/products", "method": "GET", "continu_next_link": true, "totalIterations": 0, "delayMs": 500}Escritura de producto
Sección titulada «Escritura de producto»{ "credentials_id": "cred_pim_01", "url": "https://mipim.com/api/rest/v1/products/{{sku}}", "method": "PATCH", "data": "{{data}}"}API Utilizada
Sección titulada «API Utilizada»- Autenticacion:
POST {endpoint_auth}congrant_type=passwordy Basic Auth (client_id:client_secret) - Productos: Endpoints REST del PIM (compatible con Akeneo API)
- La paginacion sigue el formato HAL
_links.next.hrefy los items se extraen de_embedded.items
- Soporta variables dinamicas
{{variable}}en la URL y en el payload - El valor especial
{{data}}en el campodataenvia los datos de entrada como payload (eliminando_meta_) - Incluye reintentos automaticos (hasta 3) con backoff exponencial para errores ECONNRESET
continueOnError: truepermite 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
Nodos Relacionados
Sección titulada «Nodos Relacionados»- odooApi (lectura de APIs con paginacion similar)
- odoowrite (escritura en APIs con autenticacion basica)