Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #3736

odoo-rpc-api

Faz seu agente se conectar ao Odoo por fora. Ele permite integrar outros sistemas com o Odoo usando APIs.

O que ela faz

Este agente ajuda você a conectar outros programas ao Odoo, um sistema de gestão empresarial. Ele permite que você leia, crie, atualize e apague informações dentro do Odoo usando código.

Quando usar

  • ✓Conectar um site ou aplicativo ao Odoo.
  • ✓Automatizar a importação ou exportação de dados do Odoo.
  • ✓Integrar o Odoo com outras ferramentas que sua empresa usa.

Exemplo do que pedir para a IA

“Como faço para conectar meu site ao Odoo para buscar os nomes dos clientes?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/odoo-rpc-api/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/odoo-rpc-api/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você me diz qual informação você quer acessar ou modificar no Odoo. Eu gero o código necessário em linguagens como Python ou JavaScript para fazer essa conexão e a operação.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill odoo-rpc-api

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/odoo-rpc-api/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

API RPC do Odoo

Visão Geral

O Odoo expõe uma API externa poderosa via JSON-RPC e XML-RPC, permitindo que qualquer aplicação externa leia, crie, atualize e exclua registros. Esta habilidade guiará você pela autenticação, chamadas de modelos e construção de integrações robustas.

Quando Usar Esta Habilidade

  • Conectar um aplicativo externo (por exemplo, Django, Node.js, um aplicativo móvel) ao Odoo.
  • Executar scripts automatizados para importar/exportar dados do Odoo.
  • Construir uma camada de middleware entre o Odoo e uma plataforma de terceiros.
  • Depurar erros de autenticação ou permissão da API.

Como Funciona

  1. Ativar: Mencione @odoo-rpc-api e descreva a integração que você precisa.
  2. Gerar: Obtenha código de chamada RPC pronto para copiar e colar em Python, JavaScript ou curl.
  3. Depurar: Cole um erro e obtenha um diagnóstico com uma chamada corrigida.

Exemplos

Exemplo 1: Autenticar e Ler Registros (Python)

import os
import xmlrpc.client

url = 'https://myodoo.example.com'
db = 'my_database'
username = 'admin'
password = os.environ["ODOO_API_KEY"]  # Use API keys, not passwords, in production

# Step 1: Authenticate
common = xmlrpc.client.ServerProxy(f'{url}/xmlrpc/2/common')
uid = common.authenticate(db, username, password, {})
print(f"Authenticated as UID: {uid}")

# Step 2: Call models
models = xmlrpc.client.ServerProxy(f'{url}/xmlrpc/2/object')

# Search confirmed sale orders
orders = models.execute_kw(db, uid, password,
    'sale.order', 'search_read',
    [[['state', '=', 'sale']]],
    {'fields': ['name', 'partner_id', 'amount_total'], 'limit': 10}
)
for order in orders:
    print(order)

Exemplo 2: Criar um Registro (Python)

new_partner_id = models.execute_kw(db, uid, password,
    'res.partner', 'create',
    [{'name': 'Acme Corp', 'email': 'info@acme.com', 'is_company': True}]
)
print(f"Created partner ID: {new_partner_id}")

Exemplo 3: JSON-RPC via curl

curl -X POST https://myodoo.example.com/web/dataset/call_kw \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "call",
    "id": 1,
    "params": {
      "model": "res.partner",
      "method": "search_read",
      "args": [[["is_company", "=", true]]],
      "kwargs": {"fields": ["name", "email"], "limit": 5}
    }
  }'
# Note: "id" is required by the JSON-RPC 2.0 spec to correlate responses.
# Odoo 16+ also supports the /web/dataset/call_kw endpoint but
# prefer /web/dataset/call_kw for model method calls.

Melhores Práticas

  • ✅ Faça: Use Chaves de API (Configurações → Técnico → Chaves de API) em vez de senhas — disponível a partir do Odoo 14+.
  • ✅ Faça: Use search_read em vez de search + read para reduzir idas e vindas na rede.
  • ✅ Faça: Sempre trate erros de conexão e implemente lógica de retentativa com backoff exponencial em produção.
  • ✅ Faça: Armazene credenciais em variáveis de ambiente ou em um gerenciador de segredos (por exemplo, AWS Secrets Manager, arquivo .env).
  • ❌ Não faça: Codifique senhas ou chaves de API diretamente em scripts — rotacione-as e use variáveis de ambiente.
  • ❌ Não faça: Chame a API em um loop apertado sem agrupar — operações em massa reduzem significativamente a carga do servidor.
  • ❌ Não faça: Use a senha de administrador mestre para integrações de API — crie um usuário de integração dedicado com as permissões mínimas necessárias.

Limitações

  • Não cobre autenticação baseada em OAuth2 ou cookie de sessão — os exemplos usam apenas autenticação por chave de API (token).
  • Limitação de taxa não é embutida na camada XMLRPC do Odoo; você deve implementar o throttling no lado do cliente.
  • O endpoint XML-RPC (/xmlrpc/2/) não suporta upload de arquivos — use o modelo ir.attachment baseado em REST via JSON-RPC para dados binários.
  • Odoo.sh (SaaS) pode bloquear algumas chamadas de API dependendo do plano; verifique se sua assinatura suporta acesso à API externa.
Perguntas frequentes

Posso usar minha senha normal do Odoo?

É recomendado usar chaves de API em vez de senhas para mais segurança, especialmente em produção. O agente pode te mostrar como fazer isso.

O que é JSON-RPC e XML-RPC?

São formas padronizadas de programas conversarem entre si pela internet. O Odoo usa essas formas para permitir que outros sistemas interajam com ele.

O agente pode criar novos clientes no Odoo para mim?

Sim, ele pode gerar o código para criar novos registros, como clientes, pedidos e outros dados no Odoo.

Detalhes

Descrição original do autor

Expert on Odoo's external JSON-RPC and XML-RPC APIs. Covers authentication, model calls, record CRUD, and real-world integration examples in Python, JavaScript, and curl.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3736
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas