Saltearse al contenido

Odoo API

El modulo Odoo API permite conectarse a endpoints de Odoo u Open Bravo para leer datos mediante peticiones GET con autenticacion basica. Soporta paginacion automatica siguiendo los enlaces links.next de la respuesta, reintentos ante errores ECONNRESET con backoff exponencial, y variables dinamicas en la URL. Es ideal para extraer catalogos de productos, listas de precios, inventarios y cualquier dato accesible via API REST desde Odoo u Open Bravo. El modulo normaliza multiples formatos de respuesta (arrays, objetos con data, payloads anidados) para proporcionar siempre un array unificado.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCredenciales de acceso a Odoo / Open Bravo
urltextSiURL del endpoint (soporta variables {{variable}})
pageSizenumberNoNumero de registros por pagina (por defecto: 100)
delayMsnumberNoTiempo de espera entre peticiones en milisegundos (por defecto: 500)

La credencial debe contener los campos:

  • username: Nombre de usuario para autenticacion basica
  • password: Contrasena para autenticacion basica

El modulo genera un header Authorization: Basic <base64> con estas credenciales para cada peticion.

{
"nextModule": "siguiente_modulo",
"data": {
"data": [
{ "id": 1, "name": "Producto A" },
{ "id": 2, "name": "Producto B" }
],
"links": { "next": null }
}
}
{
"credentials_id": "cred_odoo_01",
"url": "https://mi-odoo.com/api/products",
"pageSize": 100,
"continu_next_link": true,
"totalIterations": 0,
"delayMs": 500
}

Cualquier endpoint REST compatible con Odoo / Open Bravo. La URL se construye con parametros de paginacion _page y _pageSize.

  • Soporta variables dinamicas {{variable}} en la URL
  • La paginacion automatica se activa con continu_next_link: true y sigue los links.next de cada respuesta
  • totalIterations: 0 significa sin limite de iteraciones
  • Incluye reintentos automaticos (hasta 3) con backoff exponencial para errores ECONNRESET
  • El parametro continueOnError: true permite que el workflow continue aunque ocurra un error
  • El modulo normaliza multiples formatos de respuesta API para devolver siempre un array unificado en data.data