Odoo
A conexão com o seu Odoo: o nome do contacto apresentado ao toque, uma ficha de chamada no Odoo e o destino das ações dos seus eventos de chamada.
Resumo
| Onde | Integrações, Odoo |
| O que faz | identifica o chamador no seu Odoo, regista as chamadas e recebe o que as suas regras de eventos de chamada lá escrevem (uma nota no contacto, uma oportunidade, um ticket) |
| O que as suas chamadas lá escrevem | define-se em Ações no Odoo e em Eventos de chamada, não na ficha da instância |
| Edições | Enterprise e Community. Testado no Odoo 17, 18 e 19 |
| A preparar | a URL da instância, o nome técnico da base, um login do Odoo, uma chave de API |
| Várias instâncias | sim, quantas forem necessárias. Apenas uma é a instância padrão |
| Sentido da conexão | somos nós que chamamos o seu Odoo, pelo endereço web dele e pela chave de API |
Como funciona
Declara uma conta Odoo e a sua chave de API. A partir daí, a conexão faz duas coisas, que ativa em separado na ficha da instância: procura o contacto que corresponde ao número e escreve uma ficha de chamada no Odoo. Tudo o resto, como uma nota no contacto com a transcrição e a gravação, uma oportunidade ou um ticket, decide-se noutro sítio: o que escrever define-se em Ações no Odoo e quando o escrever, em Eventos de chamada.
O registo de chamada é escrito no modelo voip.call, o da aplicação Phone do Odoo. Essa aplicação só existe na edição Enterprise. No Community, é o módulo Axivox que fornece o registo, sob o seu próprio modelo, mas com os mesmos nomes de campos, para que nada mude nos seus hábitos no dia em que migrar para o Enterprise. O teste descrito mais abaixo diz qual dos dois a sua instância usa.
O teste da instância
O botão Testar a conexão não se limita a verificar as suas credenciais. Ele consulta a sua instância e exibe o que ela realmente sabe fazer, em vez de deduzir isso do número da versão. Uma versão é um indício, nunca uma prova: duas instâncias da mesma série não aceitam necessariamente os mesmos campos, e uma instância Enterprise pode muito bem não ter a aplicação instalada.
O teste exibe:
- a Edição, Enterprise ou Community, e a série;
- o Registo de chamada, ou seja, o modelo que vai contê-lo;
- um selo por campo, verde ou laranja.
Um selo verde significa "Enviado ao registo de chamada do Odoo". Um selo laranja significa "Não disponível aqui: enviado ao fluxo do contacto". O ecrã explica isso abaixo dos selos: "Os campos em laranja não existem nesta versão do Odoo. Eles continuam a ser escritos no fluxo de discussão do contacto." Nada, portanto, se perde: a informação apenas muda de lugar.
Os dez campos testados são phone_number, direction, state, start_date, end_date, partner_id, user_id, summary, transcript e transcription_status. Outros cinco, que nós adicionamos e que o Odoo não tem, só aparecem onde existem: did, talk_duration_s, sentiment, escalation e themes.
Quando o registo de chamada é impossível
Dois casos, duas respostas diferentes.
Se a aplicação Phone existe mas não está instalada, o ecrã exibe: "A aplicação Phone do Odoo não está instalada nesta instância. Sem ela, nenhum registo de chamada é possível." Ela instala-se pelo menu Aplicações do seu Odoo, com este aviso, exibido tal como está: "No Odoo online, instalar uma aplicação pode alterar a sua assinatura. Esta instalação é sua, nós não a fazemos no seu lugar."
Se a instância está em Community, a aplicação não existe e nenhuma manipulação no Odoo a vai instalar. O ecrã exibe então: "Esta instância está em Community: a aplicação Phone do Odoo não existe nela. O módulo Axivox fornecerá o registo de chamada." E ele propõe o procedimento em três etapas, com o botão de transferência para a sua série:
- "Transfira o módulo para a sua versão do Odoo."
- "Coloque a pasta no diretório dos módulos do seu servidor Odoo, depois reinicie o Odoo. Um módulo que traz código só é considerado na inicialização."
- "No Odoo, menu Aplicações, atualize a lista, procure Axivox e instale. Depois volte aqui e teste a conexão."
O que preencher

O bloco Conexão:
| Campo | O que é esperado | Onde encontrar |
|---|---|---|
| Nome | um nome para esta instância, útil se forem registadas várias | à sua escolha. O ecrã sugere "Ex.: Odoo Produção" |
| URL da instância | "Endereço completo, ex. https://minhaempresa.odoo.com" | a barra de endereço do seu Odoo |
| Login | a conta Odoo em nome da qual escreveremos | o seu Odoo |
| Chave API | "Gerada no Odoo: Preferências → Segurança da conta → Chaves de API." | a gerar no Odoo, nunca a palavra-passe da conta |
| Base de dados | "Nome técnico da base (geralmente diferente do subdomínio). Visível via /web/database/list." | o botão Listar as bases, ou o endereço ao lado |
O botão Listar as bases consulta o servidor a partir da URL introduzida, antes de qualquer autenticação. Três respostas possíveis: uma lista para escolher, "Nenhuma base retornada pelo servidor (a listagem pode estar desativada)", ou "Impossível listar as bases (servidor inacessível ou listagem desativada). Introduza o nome manualmente." Nos dois últimos casos, o nome é escrito à mão: a listagem costuma estar desativada numa instância de produção, isso não é uma falha.
Ao editar, o campo Chave API exibe "•••••••• (deixe em branco para manter)". Deixado em branco, não altera a chave já guardada.
O bloco Funcionalidades contém cinco alternâncias, nesta ordem. O texto da coluna da direita é o que o ecrã exibe abaixo de cada uma.
| Alternância | O que ela faz |
|---|---|
| Instância ativa | "Desativar para suspender qualquer sincronização com esta instância." |
| Identificar os chamadores | "Procurar o contacto para todas as chamadas recebidas, incluindo as que não passam por um plano de marcação. O nome encontrado é conservado, pelo que as chamadas seguintes do mesmo número são imediatas. A pesquisa dispõe de meio segundo antes de a chamada prosseguir: na primeira chamada de um número desconhecido o nome pode assim faltar e só aparecer a partir da seguinte." |
| Apresentar o nome do contacto | "Substituir o nome apresentado pelo do contacto identificado, tanto na extensão chamada como no histórico." Esta alternância depende da anterior e permanece acinzentada enquanto estiver desligada |
| Registar as chamadas | "Criar uma ficha de chamada (voip.call) no Odoo para cada chamada." |
| Publicar a transcrição na ficha de chamada | "A transcrição, o resumo e a análise são escritos nos campos da ficha de chamada criada no Odoo. O que vai para o contacto depende das ações, não desta definição." Esta alternância depende da anterior e permanece acinzentada enquanto estiver desligada |
A lista das instâncias, por sua vez, exibe o Nome, a URL, o Status (Ativa ou Inativa) e uma coluna Instância padrão, que é um botão de opção: apenas uma instância por vez. O link Remover a instância padrão, abaixo da tabela, cancela essa escolha.
Um clique numa linha abre a instância. A coluna de ações oferece o ícone "Ver o estado da integração", o ícone "Ações no Odoo" e o caixote do lixo. Quando a integração encontra problemas, aparece junto ao estado um selo laranja com o seu número, que abre o ecrã Estado da integração.
Passo a passo
- No Odoo, gere uma chave de API: Preferências, Segurança da conta, Chaves de API.
- Abra Integrações, Odoo, depois Adicionar uma instância.
- Dê um nome à instância, introduza a sua URL completa e o login da conta, depois cole a chave de API.
- Clique em Listar as bases e escolha a sua. Se a listagem estiver desativada, introduza o nome técnico da base.
- Clique em Testar a conexão. Leia o teste que aparece: a edição, a série, o registo de chamada e a cor dos selos.
- Se o teste informar que nenhum registo de chamada é possível, resolva primeiro esse ponto no seu Odoo, depois teste novamente.
- Ative as alternâncias necessárias, começando por Instância ativa.
- Guarde.
- De volta à lista, marque Instância padrão naquela que os seus planos de discagem devem consultar por padrão.
- Para escrever no Odoo algo mais do que a ficha de chamada, crie as ações de que precisa (veja Ações no Odoo) e depois a regra que as aciona (veja Eventos de chamada).
- Ligue para um dos seus números a partir de um telefone cujo número exista no Odoo, e verifique o nome apresentado.
Se não funcionar
"Falha na conexão" após o teste. Quatro valores podem estar em causa, nesta ordem de frequência: o nome da base, que não é o subdomínio; a chave de API, que precisa ser uma chave e não uma palavra-passe; o login; a URL, que precisa estar completa, protocolo incluído. Corrija um valor de cada vez e teste novamente: o teste é gratuito e imediato.
Alguns selos ficam laranja após o teste. Nada se perde. "Os campos em laranja não existem nesta versão do Odoo. Eles continuam a ser escritos no fluxo de discussão do contacto." Serão encontrados na ficha do correspondente, no seu fluxo de discussão, no lugar da ficha de chamada.
O nome do contacto não aparece na primeira chamada de um número desconhecido. É o comportamento anunciado sob a alternância Identificar os chamadores: a busca dispõe de meio segundo antes que a chamada continue. Passado esse prazo, a chamada segue sem esperar, para nunca atrasar um toque. O nome encontrado é então mantido: já na segunda chamada do mesmo número, aparece imediatamente.
Nada é publicado no contacto. A nota no contacto já não é uma definição da instância: depende de uma regra da página Eventos de chamada. Verifique se uma regra do evento Chamada terminada tem a ação Escrever no Odoo, se a ação Odoo escolhida está ativada, se a instância está ativa e se quem liga está identificado no seu Odoo. O áudio só é enviado se Anexar a gravação da chamada estiver ligado na ação Odoo e a chamada tiver sido gravada. Veja a página Ações no Odoo.
Nenhuma ficha de chamada aparece no Odoo. Teste a conexão e leia a linha Registo de chamada do teste. Se estiver vazia, a instância ainda não tem um modelo para receber o registo: siga o procedimento que o ecrã exibe, o da aplicação Phone no Enterprise, o do módulo Axivox no Community.
O que a integração com o Odoo traz ao dia-a-dia
Ver a página Odoo