PIM Access
Description
Section titled “Description”The pim access module allows connecting to a PIM (Product Information Management) system like Akeneo or other compatible systems. It supports read operations (GET) with automatic pagination following _links.next.href links, and write operations (POST, PUT, PATCH) to create or update resources. Authentication is done via OAuth2 (password grant_type) obtaining a Bearer token before each operation. It includes retries with exponential backoff for ECONNRESET errors. It is ideal for synchronizing product catalogs between the PIM and other systems.
Configuration
Section titled “Configuration”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credentials | Yes | PIM access credentials |
| url | text | Yes | Endpoint URL (supports {{variable}} variables) |
| pageInit | number | No | Starting page (default: 1) |
| pageSize | number | No | Page size (default: 100) |
| totalIterations | number | No | Iteration limit (0 = no limit) |
| delayMs | number | No | Delay between requests in ms (default: 500) |
| continu_next_link | boolean | No | Continue paginating automatically (default: true) |
| continueOnError | boolean | No | Continue the workflow in case of error |
| method | text | No | HTTP method: GET (read) or POST/PUT/PATCH (write). Default: GET |
| data | text | No | Payload for writing (supports {{data}} to send input data) |
Credentials
Section titled “Credentials”The credential must contain the fields:
username: PIM usernamepassword: User passwordclient_id: OAuth2 client IDclient_secret: OAuth2 client secretendpoint_auth: Authentication endpoint URL (e.g.:https://mypim.com/api/oauth/v1/token)
The module authenticates via OAuth2 password grant and obtains a Bearer token for subsequent requests.
Output
Section titled “Output”Read mode (GET)
Section titled “Read mode (GET)”{ "nextModule": "siguiente_modulo", "data": { "data": [ { "identifier": "SKU001", "family": "camisetas" }, { "identifier": "SKU002", "family": "pantalones" } ], "links": { "next": { "href": "..." } } }}Write mode (POST/PUT/PATCH)
Section titled “Write mode (POST/PUT/PATCH)”{ "nextModule": "siguiente_modulo", "data": { "status": 201, "data": {} }}Usage Example
Section titled “Usage Example”Read with pagination
Section titled “Read with pagination”{ "credentials_id": "cred_pim_01", "url": "https://mypim.com/api/rest/v1/products", "method": "GET", "continu_next_link": true, "totalIterations": 0, "delayMs": 500}Write product
Section titled “Write product”{ "credentials_id": "cred_pim_01", "url": "https://mypim.com/api/rest/v1/products/{{sku}}", "method": "PATCH", "data": "{{data}}"}API Used
Section titled “API Used”- Authentication:
POST {endpoint_auth}withgrant_type=passwordand Basic Auth (client_id:client_secret) - Products: PIM REST endpoints (compatible with Akeneo API)
- Pagination follows the HAL format
_links.next.hrefand items are extracted from_embedded.items
- Supports dynamic variables
{{variable}}in the URL and payload - The special value
{{data}}in thedatafield sends the input data as payload (removing_meta_) - Includes automatic retries (up to 3) with exponential backoff for ECONNRESET errors
continueOnError: trueallows the workflow to continue even if the operation fails- In read mode, data is accumulated from all pages into a single array
- In write mode, gzip decompression is disabled and
Accept-Encodingis omitted - A new token is obtained on each module execution
Related Nodes
Section titled “Related Nodes”- odooApi (API reading with similar pagination)
- odoowrite (API writing with basic authentication)