Segmentation

Obtener valores posibles para un criterio

Retorna los valores disponibles para un criterio específico, filtrados por tenant.

Criterios económicos (economic_metric: total_spent, average_spent, cashless_*): no tienen valores enumerables; responde 400 con CRITERION_HAS_NO_VALUES (#57).

Para criterios TEXT: Retorna array de strings únicos

["España", "Francia", "Portugal"]

Para criterios ENTITY: Retorna array de objetos con id, name y description (opcional)

[
  {"id": "evt_123", "name": "Primavera Sound 2024", "description": "15 Jul 2024"},
  {"id": "evt_456", "name": "Mad Cool Festival 2024", "description": "20 Aug 2024"}
]

El campo description es opcional y solo aparece en ciertos criterios:

  • attended_event: Fecha del evento
  • ticket_type: Nombre del evento al que pertenece

Para custom fields: Incluir context.property_name en el body

{
  "criterion_id": "user_custom_field",
  "context": {
    "property_name": "preferred_music_genre"
  }
}

Soporta búsqueda avanzada con search_term (v3.20.0): multi-término, normalización de acentos, búsqueda en description y ranking por relevancia. Completamente retrocompatible.

post/dimensions/values

Request

  • Base URL: http://localhost:8081
  • URL: http://localhost:8081/dimensions/values
  • Auth: HTTP bearer

Request body

criterion_idstring required

ID del criterio

search_termstring

Filtro de búsqueda opcional con soporte completo para:

  • Multi-término: los espacios actúan como AND. "vip barakaldo" busca entidades que contengan AMBOS términos (en cualquier orden y campo).
  • Normalización de acentos: "euforia" encuentra "Eufòria", "malaga" encuentra "Málaga". Funciona en ambas direcciones.
  • Búsqueda en description: para criterios ENTITY con campo description configurado (ej: attended_event, ticket_type), la búsqueda se extiende también a la descripción.
  • Ranking por relevancia: exact match primero, luego starts-with, luego contains.
  • Case-insensitive: VIP = vip = Vip.
  • Retrocompatible: si se omite, el comportamiento es idéntico a versiones anteriores.
limitinteger

Límite de resultados por página

offsetinteger

NEV-1714 — Desplazamiento cero-basado para paginación por offset.

  • Cuando está ausente o es 0: devuelve la primera página (comportamiento idéntico a v3.20).
  • Cuando se proporciona: omite los primeros offset resultados antes de aplicar limit.
  • Restricciones: debe ser un entero >= 0. Valores mayores a 10 000 son rechazados con HTTP 400.

Uso para cargar más resultados (infinite scroll):

// Página 1
{ "criterion_id": "attended_event", "limit": 20, "offset": 0 }
// Página 2
{ "criterion_id": "attended_event", "limit": 20, "offset": 20 }
// Página 3
{ "criterion_id": "attended_event", "limit": 20, "offset": 40 }

Example request

{
  "criterion_id": "attended_event",
  "search_term": "vip barakaldo",
  "offset": 20,
  "context": {
    "property_name": "preferred_music_genre"
  }
}

Response

Valores obtenidos exitosamente

successboolean required
has_moreboolean required

NEV-1714 — Indica si existen resultados adicionales más allá de la página actual.

  • false: los values devueltos son todos los resultados disponibles.
  • true: existen más resultados; envía la siguiente petición con offset += limit.

Siempre presente en la respuesta (incluso cuando no se envió offset). Calculado con el truco LIMIT+1 para evitar un costoso COUNT(*).

Los consumidores existentes que solo leen values no se ven afectados (cambio aditivo).

Example response

{
  "success": true,
  "values": [
    "España",
    "Francia",
    "Portugal"
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.