MetricService
Table of Contents
Constants
- NOT_FOUND_ERR = 1
- NOT_SAVED_ERR = 2
- SUCCESS_CODE = 0
Methods
- consumeSdCredits() : array{period: array, ratio_used_not_used: array, event_types: array}
- Desc: Retorna el consumo de créditos de SD por periodo, ratio de créditos usados vs no usados, y créditos usados por tipo de evento para un cliente específico o en general.
- consumeSdCreditsByApiClient() : array{period: array, ratio_used_not_used: array, event_types: array, metric_data: array|bool}
- Desc: Retorna el consumo de créditos de SD por periodo, ratio de créditos usados vs no usados, y créditos usados por tipo de evento para un cliente específico o en general, junto con los créditos totales y consumidos.
- getConfiguratorInteractions() : array{credits_used: array, interactions: array}
- Desc: Retorna el número de interacciones de personalización y créditos usados por cada cliente en un rango de tiempo determinado.
- registerEvent() : MetricEvents|null}|null
- getPeriodFormat() : string
- Desc: Retorna el formato de período para la consulta.
- getPrevCreditsRegister() : null|MetricEvents
- Desc: Obtiene el registro previo
- getRangeFormats() : array{start: string, end: string}
- Desc: Obtiene formato de rango de fechas según el nombre.
- registerCreditService() : MetricEvents|null}
- Desc: Registra el evento de crédito según la lógica de negocio definida,
Constants
NOT_FOUND_ERR
public
mixed
NOT_FOUND_ERR
= 1
NOT_SAVED_ERR
public
mixed
NOT_SAVED_ERR
= 2
SUCCESS_CODE
public
mixed
SUCCESS_CODE
= 0
Methods
consumeSdCredits()
Desc: Retorna el consumo de créditos de SD por periodo, ratio de créditos usados vs no usados, y créditos usados por tipo de evento para un cliente específico o en general.
public
consumeSdCredits(int $api_client_id, int $user_id[, string $period = 'minute' ][, string $range = 'this_month' ]) : array{period: array, ratio_used_not_used: array, event_types: array}
Notes: n/a, Ref: n/a,
Date: 2026-03-18, Version: v0.2603.21,
Example: n/a
Parameters
- $api_client_id : int
- $user_id : int
- $period : string = 'minute'
- $range : string = 'this_month'
Return values
array{period: array, ratio_used_not_used: array, event_types: array}consumeSdCreditsByApiClient()
Desc: Retorna el consumo de créditos de SD por periodo, ratio de créditos usados vs no usados, y créditos usados por tipo de evento para un cliente específico o en general, junto con los créditos totales y consumidos.
public
consumeSdCreditsByApiClient([string $period = 'day' ][, string $range = 'this_month' ][, int|null $api_client_id = null ]) : array{period: array, ratio_used_not_used: array, event_types: array, metric_data: array|bool}
Notes: para el caso de cliente específico, se filtra por api_client_id, para el caso general no se filtra por ningún cliente.
Ref: n/a,
Date: 2026-03-18, Version: v0.2603.21,
Example: n/a
Parameters
- $period : string = 'day'
- $range : string = 'this_month'
- $api_client_id : int|null = null
Return values
array{period: array, ratio_used_not_used: array, event_types: array, metric_data: array|bool}getConfiguratorInteractions()
Desc: Retorna el número de interacciones de personalización y créditos usados por cada cliente en un rango de tiempo determinado.
public
getConfiguratorInteractions([string $range = 'this_month' ]) : array{credits_used: array, interactions: array}
Notes: n/a, Ref: n/a,
Date: 2026-03-18, Version: v0.2603.21,
Example: n/a
Parameters
- $range : string = 'this_month'
Return values
array{credits_used: array, interactions: array}registerEvent()
public
registerEvent(MetricEvents $model) : MetricEvents|null}|null
Parameters
- $model : MetricEvents
Return values
MetricEvents|null}|nullgetPeriodFormat()
Desc: Retorna el formato de período para la consulta.
private
getPeriodFormat(string $period) : string
Notes: n/a, Ref: n/a,
Date: 2026-03-18, Version: v0.2603.21,
Example: n/a
Parameters
- $period : string
Return values
stringgetPrevCreditsRegister()
Desc: Obtiene el registro previo
private
getPrevCreditsRegister(MetricEvents $model) : null|MetricEvents
Parameters
- $model : MetricEvents
Return values
null|MetricEventsgetRangeFormats()
Desc: Obtiene formato de rango de fechas según el nombre.
private
getRangeFormats(string $name) : array{start: string, end: string}
Notes: n/a, Ref: n/a,
Date: 2026-03-18, Version: v0.2603.21,
Example: n/a
Parameters
- $name : string
Return values
array{start: string, end: string}registerCreditService()
Desc: Registra el evento de crédito según la lógica de negocio definida,
private
registerCreditService(MetricEvents $model) : MetricEvents|null}
Notes: Para el evento de personalización, se verifica si hay un evento previo de creación de sesión o personalización con costo 1 (crédito usado) en un rango de tiempo de 10 minutos. Si se encuentra un evento previo dentro de ese rango, el nuevo evento se registra con costo 0 (crédito no usado), de lo contrario se registra con costo 1 (crédito usado). Para los eventos de creación de sesión, exportación y AR, se registran directamente con costo 1 (crédito usado).
Ref: n/a,
Date: 2026-03-18, Version: v0.2603.21,
Example: n/a
Parameters
- $model : MetricEvents