Saltar al contenido principal

Extracción de Data

Get My Data

Descripción

Este endpoint permite recuperar datos específicos de la API de OmniQ.

Solicitud

  • Método: GET
  • URL: https://api.omniq.icq24.com/getmydata

Encabezados Requeridos

  • x-tenant-id: ORGANIZATION-TENANTID

Cuerpo de la Solicitud

  • Tipo: Raw (application/json)
  • Formato:
{
"index": "",
"filterBy": { "FIELD": "" },
"from": 0,
"size": 0
}

Parámetros

  • index: (Obligatorio) Nombre de la entidad a consultar.
  • filterBy: (Opcional) Objeto para filtrar por campo y valor.
  • from: (Opcional) Índice de inicio para la paginación (por defecto: 0).
  • size: (Opcional) Cantidad de resultados a devolver (por defecto: 10).

Respuesta

  • Código de estado: 200 OK
  • Tipo de contenido: application/json

Esquema de la Respuesta

{
"type": "array",
"items": {
"type": "object",
"properties": {
"document": {
"type": "object",
"properties": {
"_id": { "type": "string" },
"botModule": { "type": [ "null", "string" ] },
"campaign": { "type": "string" },
"client": { "type": "string" },
"createdAt": { "type": "string" },
"instance": { "type": "string" },
"platform": { "type": "string" },
"scid": { "type": "string" },
"step": { "type": "string" },
"isNewClient": { "type": "boolean" },
"workflow": {
"type": "object",
"properties": {
"attrs": {
"type": "object",
"properties": {
"clientFromTemplate": { "type": "boolean" },
"templateId": { "type": "string" },
"contact": {
"type": "object",
"properties": {
"number1": { "type": "string" },
"email": { "type": "string" },
"firstName": { "type": "string" },
"question": { "type": "string" }
}
}
}
}
}
},
"agentTotalTime": { "type": [ "null", "number" ] },
"botStartedAt": { "type": "string" },
"botTotalTime": { "type": [ "null", "number" ] },
"poolTotalTime": { "type": [ "null", "number" ] },
"bot": { "type": "string" },
"tenantIdKey": { "type": "string" },
"updatedAt": { "type": "string" },
"tenantId": { "type": "string" },
"__v": { "type": "number" }
}
}
}
}
}

Entidades Disponibles

Los siguientes valores pueden usarse en el campo index:

  • templates_reports
  • communicationlogs
  • hsm_templates
  • communications
  • manual_instances
  • users
  • campaings
  • profiles
  • reports
  • agents

Filtrado por Fechas

Para filtrar por fecha, use el campo createdAt con las siguientes opciones:

Fecha única (coincidencia exacta):

{
"index": "agents",
"filterBy": {
"createdAt": "2025-05-20T00:00:00.000Z"
},
"from": 0,
"size": 15
}

Estos dos ejemplos buscarán en la entidad "agents", filtrando por los criterios especificados, y devolverán los primeros 15 resultados. Nota: Para una búsqueda completa, ajuste los campos "from" y "size". Por ejemplo,"from":0, "size":100 buscará desde el primer resultado hasta el 100º.

Rango de fechas:

{
"index": "agents",
"filterBy": {
"createdAt": {
"from": "2025-05-20T00:00:00.000Z",
"to": "2025-06-21T23:59:59.999Z"
}
},
"from": 0,
"size": 15
}

Paginación

Ejemplos de Paginación:

// Obtener los primeros 100 registros
{
"from": 0,
"size": 100
}
// Devuelve registros: 0, 1, 2, ..., 99

// Obtener los siguientes 100 registros
{
"from": 100,
"size": 100
}
// Devuelve registros: 100, 101, 102, ..., 199

// Obtener 50 registros comenzando desde la posición 200
{
"from": 200,
"size": 50
}
// Devuelve registros: 200, 201, 202, ..., 249

Comprensión de la Respuesta:

La respuesta de la API incluye información de paginación para ayudarle a navegar por conjuntos de datos grandes:

{
"results": [/* sus datos */],
"total": {
"value": 10000,
"relation": "gte"
},
"count": 15000,
"pagination": {
"from": 2000,
"size": 15000,
"hasMore": true
}
}

Campos de Respuesta Explicados:

  • value: Número de registros coincidentes encontrados por la API
  • relation:
    • "eq" = Conteo exacto (cuando ≤ 10,000 registros)
    • "gte" = "Mayor o igual que" (cuando existen > 10,000 registros)
  • count: Número real de registros devueltos en esta respuesta
  • from: Posición inicial utilizada en esta solicitud
  • size: Máximo de registros solicitados
  • hasMore:
    • true = Hay más registros disponibles más allá de esta página
    • false = Esta es la última página de resultados

Estrategia de Paginación:

  • Para conjuntos de datos con ≤ 10,000 registros: value muestra el conteo exacto
  • Para conjuntos de datos más grandes: Use hasMore para determinar si existen más páginas
  • Continúe la paginación incrementando from por el valor de size hasta que hasMore se convierta en false

Ejemplo de Uso

Para obtener los primeros 15 resultados de la entidad agents:

{
"index": "agents",
"filterBy": {
"FIELD": "TEXT"
},
"from": 0,
"size": 15
}

Notas

  • Especifique la entidad deseada en el campo index
  • Use filterBy para especificar el campo y el texto de búsqueda
  • Ajuste from y size para paginar los resultados
  • Para una búsqueda completa, ajuste los campos from y size. Por ejemplo, "from": 0, "size": 100 buscará desde el primer resultado hasta el 100º