Saltar al contenido principal

Búsqueda Global

La función de Búsqueda Global proporciona una interfaz de búsqueda unificada para encontrar rápidamente clientes, contactos, servicios, inventario y sitios en toda la base de datos de OmniCRM.

Véase también: Clientes, Inventario, Gestión de Servicios.

Acceder a la Búsqueda Global

Desde cualquier lugar en el CRM:

Haga clic en el icono de búsqueda en la barra de navegación superior o navegue a:

La página de búsqueda global aparece con un gran cuadro de búsqueda y opciones de filtro.

Cómo Funciona

La búsqueda global realiza una búsqueda cruzada entre cinco tipos de datos:

Qué se Busca:

  1. Clientes - Nombre del cliente
  2. Contactos - Nombre, apellido, dirección de correo electrónico, número de teléfono
  3. Sitios - Nombre del sitio
  4. Inventario - Números de serie, ICCIDs, identificadores (itemtext1, itemtext2)
  5. Servicios - Nombre del servicio, UUID del servicio

Comportamiento de Búsqueda:

  • Coincidencia parcial - Busca términos que contengan su consulta (por ejemplo, "Smith" coincide con "John Smith" y "Smithson")
  • Sin distinción de mayúsculas - "john" coincide con "John", "JOHN" y "john"
  • Múltiples entidades - Una sola búsqueda devuelve resultados de todos los tipos de entidad
  • Resultados paginados - Muestra 10 resultados por página de forma predeterminada

Realizando una Búsqueda

Búsqueda Básica

  1. Ingrese su término de búsqueda en el cuadro de búsqueda
  2. Haga clic en "Buscar" o presione Enter

Resultados de Búsqueda Global{.align-center width="800px"}

Ejemplos de términos de búsqueda:

  • Nombre del cliente: "Acme Corp"
  • Número de teléfono: "+1234567890" o "1234567890"
  • Correo electrónico: "john@example.com" o "john"
  • Número de serie: "ICCID8944" o solo "8944"
  • UUID del servicio: "123e4567-e89b"

Incluir Cuentas Cerradas

Por defecto, la búsqueda solo devuelve resultados de cuentas de clientes Abiertas.

Para buscar en todas las cuentas, incluidas las cerradas:

  1. Marque la casilla "Incluir Cuentas Cerradas"
  2. Haga clic en "Buscar" nuevamente

Esto buscará:

  • Clientes con customer_status = "Closed"
  • Contactos, servicios, sitios e inventario vinculados a clientes cerrados

Casos de uso para la búsqueda de cuentas cerradas:

  • Encontrar registros históricos de clientes
  • Localizar equipos de servicios desprovisionados
  • Buscar números de teléfono o servicios antiguos
  • Recuperar datos de clientes para reactivación

Entendiendo los Resultados de Búsqueda

Formato de Visualización de Resultados

Los resultados se muestran en una lista desplazable que muestra:

John Smith ID de Cliente: 123 Tipo: cliente

John Smith (Contacto) ID de Cliente: 123 Tipo: contacto

Móvil - +44 7700 900123 ID de Cliente: 123 Tipo: servicio

Cada resultado muestra:

  • Nombre/Título - El identificador principal (enlace clicable)
  • ID de Cliente - El cliente principal al que pertenece
  • Tipo - El tipo de entidad (cliente, contacto, sitio, inventario, servicio)

Tipos de Resultados Explicados

Resultados de Clientes:

Hacer clic abre la página de resumen del cliente mostrando todos los detalles, servicios, contactos, etc.

Resultados de Contactos:

Hacer clic abre la página del cliente con la pestaña Contactos activa, desplazándose al contacto específico.

Resultados de Sitios:

Hacer clic abre la p��gina del cliente con la pestaña Sitios activa.

Resultados de Inventario:

Hacer clic abre la página del cliente con la pestaña Inventario activa. Si el inventario no está asignado (sin customer_id), se vincula a la lista principal de inventario.

Resultados de Servicios:

Hacer clic abre la página del cliente con la pestaña Servicios activa, destacando el servicio específico.

Todos los resultados de búsqueda son enlaces clicables que navegan directamente a la página relevante:

Patrón de Enlace:

  • /customers/{customer_id} - Registros de clientes
  • /customers/{customer_id}#4 - Contactos (pestaña 4)
  • /customers/{customer_id}#2 - Sitios (pestaña 2)
  • /customers/{customer_id}#8 - Inventario (pestaña 8)
  • /customers/{customer_id}#3 - Servicios (pestaña 3)
  • /inventory-items-list - Inventario no asignado

El fragmento de hash (#) selecciona automáticamente la pestaña correcta cuando se carga la página del cliente.

Paginación

Los resultados están paginados con 10 elementos por página:

Mostrando resultados 11-20 de 47

Navegue a través de las páginas usando:

  • Botones Anterior/Siguiente
  • Números de página - Haga clic en una página específica
  • Teclado - Flechas izquierda/derecha (si están implementadas)

Escenarios Comunes de Búsqueda

Escenario 1: Encontrar Cliente por Teléfono

El usuario llama, proporciona el número de teléfono.

Resultados: • John Smith (Contacto) - ID de Cliente: 123 • Móvil - 555-0123 (Servicio) - ID de Cliente: 123

Haga clic en cualquiera de los resultados para acceder a la cuenta del cliente.

Escenario 2: Localizar Tarjeta SIM

El técnico necesita encontrar qué cliente tiene una SIM específica.

Resultados: • 8944538000000001234 (Inventario) - ID de Cliente: 456

Haga clic en el resultado para ver la asignación de la SIM, detalles del cliente.

Escenario 3: Encontrar Cliente Inactivo

Necesita localizar un cliente que cerró su cuenta hace 6 meses.

☑ Incluir Cuentas Cerradas

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

Escenario 4: Buscar por Correo Electrónico

El cliente envía un correo electrónico al soporte, el personal necesita encontrar su cuenta.

Resultados: • John Smith (Contacto) - ID de Cliente: 123

Escenario 5: Encontrar Servicio por UUID

El registro de aprovisionamiento muestra el UUID del servicio, necesita encontrar qué cliente.

Resultados: • Móvil - +44 7700 900123 (Servicio) - ID de Cliente: 456

Consejos de Búsqueda

Para Mejores Resultados:

  • Utilice términos parciales - "Smith" es mejor que "John Smith" para resultados más amplios
  • Pruebe variaciones - Si "John" no funciona, intente con teléfono o correo electrónico
  • Incluya cuentas cerradas - Al buscar datos históricos
  • Sea específico para equipos - Utilice números de serie completos para inventario
  • Busque UUID de servicio - Cuando otros identificadores no son conocidos

Qué se Busca (por Entidad):

Clientes:

  • Solo el nombre del cliente (no dirección, notas u otros campos)

Contactos:

  • Nombre
  • Apellido
  • Dirección de correo electrónico
  • Número de teléfono

Sitios:

  • Solo el nombre del sitio

Inventario:

  • itemtext1 (típicamente ICCID, número de serie, dirección MAC)
  • itemtext2 (típicamente IMSI, identificador secundario)
  • Nota: No busca itemtext3-20 o notas de inventario

Servicios:

  • Nombre del servicio
  • UUID del servicio

Qué No se Busca:

  • Direcciones de clientes
  • Notas de clientes
  • Descripciones de transacciones
  • Detalles de facturas
  • Registros de aprovisionamiento
  • Entradas de registro de actividad
  • Notas de inventario (más allá de itemtext1/2)

Referencia de API

Endpoint de Búsqueda Global

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

Parámetros de Consulta:

  • search (requerido) - El término de búsqueda
  • page (opcional) - Número de página (predeterminado: 1)
  • per_page (opcional) - Resultados por página (predeterminado: 10)
  • search_closed_records (opcional) - Incluir cuentas cerradas (predeterminado: false)

Respuesta:

{
"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 Búsqueda (Backend):

El backend realiza una unión SQL entre todas las tablas 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

-- Contactos
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

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

UNION ALL

-- Inventario
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

-- Servicios
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%'

Los resultados se paginan y se devuelven.

Consideraciones de Rendimiento

Rendimiento de Búsqueda:

  • Las búsquedas utilizan consultas LIKE con comodines (%term%)
  • Actualmente no se implementa indexación de texto completo
  • Bases de datos grandes (>100k clientes) pueden experimentar búsquedas más lentas
  • Resultados limitados a 10 por página para mejorar el rendimiento

Consejos de Optimización:

  • Sea específico con los términos de búsqueda para reducir el conjunto de resultados
  • Utilice el filtro de cuentas cerradas para reducir el alcance de la búsqueda
  • Considere agregar índices de base de datos en campos que se buscan con frecuencia

Solución de Problemas

No se encontraron resultados (pero el registro existe)

  • Causa: El término de búsqueda no coincide con el formato de datos almacenados
  • Ejemplos:
    • Teléfono almacenado como "+44 7700 900123", buscar "07700900123" no coincidirá
    • Correo electrónico almacenado como "<john.smith@example.com>", buscar "john" no coincidirá
  • Solución: Pruebe variaciones, use coincidencias parciales que definitivamente existan

Búsqueda demasiado lenta

  • Causa: Base de datos grande, consulta compleja entre múltiples tablas
  • Solución:
    • Utilice términos de búsqueda más específicos
    • Limite solo a cuentas abiertas (desmarque cuentas cerradas)
    • Contacte al administrador sobre la indexación de la base de datos

Resultados enlazan al cliente incorrecto

  • Causa: Múltiples clientes/contactos con el mismo nombre
  • Solución: Use el ID de Cliente para diferenciar, o busque por identificador único (correo electr��nico, teléfono)

Cuentas cerradas no aparecen

  • Causa: Casilla "Incluir Cuentas Cerradas" no marcada
  • Solución: Marque la casilla y busque nuevamente

Documentación Relacionada

  • basics_customers - Gestión de clientes
  • basics_navigation - Navegación general
  • administration_inventory - Búsquedas de inventario