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_reportscommunicationlogshsm_templatescommunicationsmanual_instancesuserscampaingsprofilesreportsagents
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 APIrelation:"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 respuestafrom: Posición inicial utilizada en esta solicitudsize: Máximo de registros solicitadoshasMore:true= Hay más registros disponibles más allá de esta páginafalse= Esta es la última página de resultados
Estrategia de Paginación:
- Para conjuntos de datos con ≤ 10,000 registros:
valuemuestra el conteo exacto - Para conjuntos de datos más grandes: Use
hasMorepara determinar si existen más páginas - Continúe la paginación incrementando
frompor el valor desizehasta quehasMorese convierta enfalse
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
filterBypara especificar el campo y el texto de búsqueda - Ajuste
fromysizepara paginar los resultados - Para una búsqueda completa, ajuste los campos
fromysize. Por ejemplo,"from": 0, "size": 100buscará desde el primer resultado hasta el 100º