Odoo

action_odoo_rpc · action · Utility · Disponibile · v1.0.0

Descrizione

Connettore Odoo ufficiale via XML-RPC (/xmlrpc/2/). Cinque operazioni: search_read (SELECT), create (INSERT), write (UPDATE), unlink (DELETE), call_method (chiamata arbitraria a metodi del modello). Rispetta record rules, audit log e validazioni server-side di Odoo (NO SQL diretto). Cache automatica del uid di sessione per ridurre handshake authenticate.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
baseUrl
URL Odoo (https://)
stringsi
https://mio-odoo.example.it
URL base della tua istanza Odoo. https:// obbligatorio in produzione. Senza /web, senza /xmlrpc — il nodo aggiunge automaticamente i path.
database
Nome database
stringsi
odoo_studiocommercialista
Database name (database_show=False richiede di inserirlo a mano). Se vedi solo un db, e` quello che ti appare nella URL dopo /web?db=...
login
Utente Odoo
stringsi
[email protected]
Email o username Odoo. Per workflow automatici crea un utente dedicato (es. "Workflow Bot") con permessi limitati al minimo necessario.
password
Password o API Key
string (encrypted)siPER PRODUZIONE: usa un API Key (Odoo 14+, menu utente → Account Security → New API Key). Bypassa il 2FA, non scade, revocabile. Password normale funziona ma non e` raccomandata.
operation
Operazione
enum
search_readcreatewriteunlinkcall_method
sisearch_readsearch_read = leggi record (SELECT). create = crea nuovo record. write = aggiorna record esistenti. unlink = cancella record (rispetta record rules). call_method = chiama metodo arbitrario (es. action_confirm sull'ordine).
model
Modello Odoo
stringsi
res.partner oppure crm.lead oppure account.move
Nome tecnico del modello Odoo (lowercase con punti). Esempi: res.partner (anagrafica), crm.lead (lead CRM), account.move (fattura), mail.message (messaggi/email), product.template (prodotti).
domainJson
Domain (filtri)
codeno
[["email", "=", "{{input.from}}"], ["customer_rank", ">", 0]]
Array di triple [campo, operatore, valore] in formato Odoo domain. Operatori: =, !=, >, <, >=, <=, like, ilike, in, not in, child_of. AND implicito; per OR usa "|" prima di due triple. Vuoto = tutti i record (rispetta i record rules dell'utente).
fieldsJson
Campi da leggere
codeno
["id", "name", "email", "phone", "company_id"]
Array di nomi campo. Vuoto = tutti i campi (lento, default). Usa solo i campi che ti servono per ridurre payload + latenza.
limit
Limit (max record)
numberno100Range 1-10000. Default 100. Riducilo per snellire i payload.
offset
Offset (paginazione)
numberno0Per paginazione: salta i primi N record. Range 0-1000000.
order
Ordinamento (ORDER BY)
stringno
create_date desc, id desc
Espressione SQL-like Odoo. Vuoto = ordine default del modello.
valuesJson
Valori (JSON)
codeno
{"name": "Mario Rossi", "email": "[email protected]", "phone": "+39 333 1234567"}
Oggetto JSON con i campi da scrivere. Per relazioni many2one usa l'ID numerico (es. company_id: 1). Per many2many usa il "command Odoo" [(6, 0, [id1, id2])]. Per binary upload (allegati) usa base64.
recordIdsJson
IDs dei record
codeno
[42, 7] oppure {{$node.search.json.body}}
Array di ID numerici dei record da modificare o cancellare. Tipicamente l'output di un nodo search_read precedente.
methodName
Nome metodo
stringno
action_confirm oppure message_post
Nome del metodo da chiamare sul modello. Esempi comuni: action_confirm (conferma SO/PO), action_invoice_create, message_post (invio messaggio chatter), action_send_mail.
positionalJson
Argomenti posizionali (JSON array)
codeno
[[42], {"body": "<p>Ciao</p>"}]
Array JSON dei posizionali. Primo elemento spesso e` l'array di IDs target. Vuoto = nessun arg posizionale.
kwargsJson
Argomenti keyword (JSON object)
codeno
{"subject": "Promemoria", "subtype_id": 1}
Oggetto JSON dei kwargs. Vuoto = {}.
timeoutMs
Timeout HTTP (ms)
numberno60000Default 60s. Aumenta per query report pesanti. Range 1000-300000.
followRedirects
Segui redirect
booleannotrue
includePipelineLog
Includi log nell'output
booleannotrue

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-action_odoo_rpc-1",
  "defId": "action_odoo_rpc",
  "label": "Odoo",
  "config": {
    "baseUrl": "https://mio-odoo.example.it",
    "database": "odoo_studiocommercialista",
    "login": "[email protected]",
    "password": "<password>",
    "operation": "search_read",
    "model": "res.partner    oppure    crm.lead    oppure    account.move",
    "limit": 100,
    "offset": 0,
    "timeoutMs": 60000,
    "followRedirects": true,
    "includePipelineLog": true
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare Odoo?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi