Pular para o conteúdo principal

Pesquisa Global

O recurso de Pesquisa Global fornece uma interface de pesquisa unificada para encontrar rapidamente clientes, contatos, serviços, inventário e locais em todo o banco de dados do OmniCRM.

Veja também: Clientes, Inventário, Gerenciamento de Serviços.

Acessar Pesquisa Global

De qualquer lugar no CRM:

Clique no ícone de pesquisa na barra de navegação superior ou navegue para:

A página de pesquisa global aparece com uma grande caixa de pesquisa e opções de filtro.

Como Funciona

A pesquisa global realiza uma pesquisa entre entidades em cinco tipos de dados:

O que é pesquisado:

  1. Clientes - Nome do cliente
  2. Contatos - Primeiro nome, sobrenome, endereço de e-mail, número de telefone
  3. Locais - Nome do local
  4. Inventário - Números de série, ICCIDs, identificadores (itemtext1, itemtext2)
  5. Serviços - Nome do serviço, UUID do serviço

Comportamento da Pesquisa:

  • Correspondência parcial - Pesquisa por termos que contêm sua consulta (por exemplo, "Smith" corresponde a "John Smith" e "Smithson")
  • Sem diferenciação entre maiúsculas e minúsculas - "john" corresponde a "John", "JOHN" e "john"
  • Múltiplas entidades - Uma única pesquisa retorna resultados de todos os tipos de entidades
  • Resultados paginados - Mostra 10 resultados por página por padrão

Realizando uma Pesquisa

Pesquisa Básica

  1. Digite seu termo de pesquisa na caixa de pesquisa
  2. Clique em "Pesquisar" ou pressione Enter

Resultados da Pesquisa Global{.align-center width="800px"}

Exemplos de termos de pesquisa:

  • Nome do cliente: "Acme Corp"
  • Número de telefone: "+1234567890" ou "1234567890"
  • E-mail: "john@example.com" ou "john"
  • Número de série: "ICCID8944" ou apenas "8944"
  • UUID do serviço: "123e4567-e89b"

Incluir Contas Fechadas

Por padrão, a pesquisa retorna apenas resultados de contas de clientes Abertas.

Para pesquisar em todas as contas, incluindo as fechadas:

  1. Marque a caixa de seleção "Incluir Contas Fechadas"
  2. Clique em "Pesquisar" novamente

Isso irá pesquisar:

  • Clientes com customer_status = "Closed"
  • Contatos, serviços, locais e inventário vinculados a clientes fechados

Casos de uso para pesquisa de contas fechadas:

  • Encontrar registros históricos de clientes
  • Localizar equipamentos de serviços desprovisionados
  • Consultar números de telefone ou serviços antigos
  • Recuperar dados de clientes para reativação

Compreendendo os Resultados da Pesquisa

Formato de Exibição dos Resultados

Os resultados são exibidos em uma lista rolável mostrando:

John Smith ID do Cliente: 123 Tipo: cliente

John Smith (Contato) ID do Cliente: 123 Tipo: contato

Móvel - +44 7700 900123 ID do Cliente: 123 Tipo: serviço

Cada resultado mostra:

  • Nome/Título - O identificador principal (link clicável)
  • ID do Cliente - O cliente pai ao qual pertence
  • Tipo - O tipo de entidade (cliente, contato, local, inventário, serviço)

Tipos de Resultados Explicados

Resultados de Clientes:

Clicar abre a página de visão geral do cliente mostrando todos os detalhes, serviços, contatos, etc.

Resultados de Contatos:

Clicar abre a página do cliente com a guia Contatos ativa, rolando para o contato específico.

Resultados de Locais:

Clicar abre a página do cliente com a guia Locais ativa.

Resultados de Inventário:

Clicar abre a página do cliente com a guia Inventário ativa. Se o inventário não estiver atribuído (sem customer_id), ele vincula à lista principal de inventário.

Resultados de Serviços:

Clicar abre a página do cliente com a guia Serviços ativa, destacando o serviço específico.

Todos os resultados da pesquisa são links clicáveis que navegam diretamente para a página relevante:

Padrão de Link:

  • /customers/{customer_id} - Registros de clientes
  • /customers/{customer_id}#4 - Contatos (guia 4)
  • /customers/{customer_id}#2 - Locais (guia 2)
  • /customers/{customer_id}#8 - Inventário (guia 8)
  • /customers/{customer_id}#3 - Serviços (guia 3)
  • /inventory-items-list - Inventário não atribuído

O fragmento de hash (#) seleciona automaticamente a guia correta quando a página do cliente é carregada.

Paginação

Os resultados são paginados com 10 itens por página:

Mostrando resultados 11-20 de 47

Navegue pelas páginas usando:

  • Botões Anterior/Próximo
  • Números de página - Clique em uma página específica
  • Teclado - Setas esquerda/direita (se implementado)

Cenários Comuns de Pesquisa

Cenário 1: Encontrar Cliente pelo Telefone

O usuário liga e fornece o número de telefone.

Resultados: • John Smith (Contato) - ID do Cliente: 123 • Móvel - 555-0123 (Serviço) - ID do Cliente: 123

Clique em qualquer resultado para acessar a conta do cliente.

Cenário 2: Localizar Cartão SIM

O técnico precisa descobrir qual cliente possui um SIM específico.

Resultados: • 8944538000000001234 (Inventário) - ID do Cliente: 456

Clique no resultado para ver a atribuição do SIM, detalhes do cliente.

Cenário 3: Encontrar Cliente Inativo

É necessário localizar um cliente que fechou sua conta há 6 meses.

☑ Incluir Contas Fechadas

Resultados: • Acme Corporation (cliente) - ID do Cliente: 789

Cenário 4: Pesquisar por E-mail

O cliente envia um e-mail para o suporte, a equipe precisa encontrar sua conta.

Resultados: • John Smith (Contato) - ID do Cliente: 123

Cenário 5: Encontrar Serviço por UUID

O log de provisionamento mostra o UUID do serviço, é necessário descobrir qual cliente.

Resultados: • Móvel - +44 7700 900123 (Serviço) - ID do Cliente: 456

Dicas de Pesquisa

Para Melhores Resultados:

  • Use termos parciais - "Smith" é melhor do que "John Smith" para resultados mais amplos
  • Tente variações - Se "John" não funcionar, tente telefone ou e-mail
  • Inclua contas fechadas - Ao pesquisar dados históricos
  • Seja específico para equipamentos - Use números de série completos para inventário
  • Pesquise UUID do serviço - Quando outros identificadores não são conhecidos

O que é pesquisado (por Entidade):

Clientes:

  • Apenas o nome do cliente (não o endereço, notas ou outros campos)

Contatos:

  • Primeiro nome
  • Sobrenome
  • Endereço de e-mail
  • Número de telefone

Locais:

  • Apenas o nome do local

Inventário:

  • itemtext1 (tipicamente ICCID, número de série, endereço MAC)
  • itemtext2 (tipicamente IMSI, identificador secundário)
  • Nota: Não pesquisa itemtext3-20 ou notas de inventário

Serviços:

  • Nome do serviço
  • UUID do serviço

O que não é pesquisado:

  • Endereços de clientes
  • Notas de clientes
  • Descrições de transações
  • Detalhes de faturas
  • Logs de provisionamento
  • Entradas de log de atividade
  • Notas de inventário (além de itemtext1/2)

Referência da API

Endpoint de Pesquisa Global

GET /utilities/search_everything?search=Smith&page=1&per_page=10&search_closed_records=false
Authorization: Bearer <token>

Parâmetros de Consulta:

  • search (obrigatório) - O termo de pesquisa
  • page (opcional) - Número da página (padrão: 1)
  • per_page (opcional) - Resultados por página (padrão: 10)
  • search_closed_records (opcional) - Incluir contas fechadas (padrão: false)

Resposta:

{
"data": [
{
"id": 123,
"name": "John Smith",
"customer_id": 123,
"type": "customer"
},
{
"id": 456,
"name": "John Smith",
"customer_id": 123,
"type": "contact"
},
{
"id": 789,
"name": "Mobile - +44 7700 900123",
"customer_id": 123,
"type": "service"
}
],
"pagination": {
"current_page": 1,
"per_page": 10,
"total_pages": 5,
"total_items": 47
}
}

Lógica de Pesquisa (Backend):

O backend realiza uma união SQL em todas as tabelas de entidades:

-- Clientes
SELECT customer_id AS id,
customer_name AS name,
customer_id,
'customer' AS type
FROM customer
WHERE customer_name LIKE '%Smith%'
AND customer_status = 'Open'

UNION ALL

-- Contatos
SELECT contact_id AS id,
CONCAT(contact_firstname, ' ', contact_lastname) AS name,
customer_id,
'contact' AS type
FROM customer_contact
WHERE (contact_firstname LIKE '%Smith%' OR
contact_lastname LIKE '%Smith%' OR
contact_email LIKE '%Smith%' OR
contact_phone LIKE '%Smith%')

UNION ALL

-- Locais
SELECT site_id AS id,
site_name AS name,
customer_id,
'site' AS type
FROM customer_site
WHERE site_name LIKE '%Smith%'

UNION ALL

-- Inventário
SELECT inventory_id AS id,
itemtext1 AS name,
customer_id,
'inventory' AS type
FROM inventory
WHERE itemtext1 LIKE '%Smith%' OR
itemtext2 LIKE '%Smith%'

UNION ALL

-- Serviços
SELECT service_id AS id,
service_name AS name,
customer_id,
'service' AS type
FROM customer_service
WHERE service_name LIKE '%Smith%' OR
service_uuid LIKE '%Smith%'

Os resultados são então paginados e retornados.

Considerações de Desempenho

Desempenho da Pesquisa:

  • As pesquisas usam consultas LIKE com curingas (%term%)
  • Nenhuma indexação de texto completo atualmente implementada
  • Bancos de dados grandes (>100k clientes) podem experimentar pesquisas mais lentas
  • Resultados limitados a 10 por página para desempenho

Dicas de Otimização:

  • Seja específico com os termos de pesquisa para reduzir o conjunto de resultados
  • Use o filtro de contas fechadas para reduzir o escopo da pesquisa
  • Considere adicionar índices de banco de dados em campos frequentemente pesquisados

Solução de Problemas

Nenhum resultado encontrado (mas o registro existe)

  • Causa: O termo de pesquisa não corresponde ao formato de dados armazenados
  • Exemplos:
    • Telefone armazenado como "+44 7700 900123", pesquisar "07700900123" não corresponderá
    • E-mail armazenado como "<john.smith@example.com>", pesquisar "john" não corresponderá
  • Correção: Tente variações, use correspondências parciais que definitivamente existem

Pesquisa muito lenta

  • Causa: Banco de dados grande, consulta complexa em várias tabelas
  • Correção:
    • Use termos de pesquisa mais específicos
    • Limite apenas a contas abertas (desmarque contas fechadas)
    • Contate o administrador sobre indexação de banco de dados

Resultados vinculam ao cliente errado

  • Causa: Múltiplos clientes/contatos com o mesmo nome
  • Correção: Use o ID do Cliente para diferenciar, ou pesquise por identificador único (e-mail, telefone)

Contas fechadas não aparecem

  • Causa: Caixa de seleção "Incluir Contas Fechadas" não marcada
  • Correção: Marque a caixa e pesquise novamente

Documentação Relacionada

  • basics_customers - Gerenciamento de clientes
  • basics_navigation - Navegação geral
  • administration_inventory - Pesquisas de inventário