Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 20 | |
| @cliente | int | 4 | |
| @id_producto | varchar | 30 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--select * from RENAPER_FACE_INFO where dni='47604550'
--[Reporte_consumos_api_] 'reporte',5300349,86
--[Reporte_consumos_api_] 'reporte',5300349,96
--[Reporte_consumos_api_] 'reporte',5300349,92
--[Reporte_consumos_api_] 'reporte',5300349,93
/*
select distinct a.id_producto, a.url, b.nombre_producto
from usuarios_consumos a
inner join productos b on b.producto = a.id_producto
where created >= '2024-11-01' and id_producto in
(
71,
79,
86,
92,
93,
94,
96,
97,
98,
113)
and a.user_id in (select distinct user_id from usuarios_productos where cliente = 5300349)
and (ip not in ('186.189.232.93') or ip like '192%')
order by id_producto
select * from apikey where id_api_key = 249
[Reporte_consumos_api_] 'productos',5300349 --5300349
[Reporte_consumos_api_] 'reporte',2331528,24
[Reporte_consumos_api_] 'reporte',2331528,71
[Reporte_consumos_api_] 'reporte',5300349,86
[Reporte_consumos_api_] 'reporte',2331528,92
[Reporte_consumos_api_] 'reporte',2331528,86
[Reporte_consumos_api_] 'reporte',2331528,113
[Reporte_consumos_api_] 'reporte',5300349,71
[Reporte_consumos_api_] 'reporte',5300349,79
[Reporte_consumos_api_] 'reporte',5300349,86
[Reporte_consumos_api_] 'reporte',5300349,92
[Reporte_consumos_api_] 'reporte',5300349,93
[Reporte_consumos_api_] 'reporte',5300349,94
[Reporte_consumos_api_] 'reporte',5300349,96
[Reporte_consumos_api_] 'reporte',5300349,97
[Reporte_consumos_api_] 'reporte',5300349,98
[Reporte_consumos_api_] 'reporte',5300349,113
[Reporte_consumos_api_] 'reporte',489802397,24
[Reporte_consumos_api_] 'reporte',489802397,27
[Reporte_consumos_api_] 'reporte',489802397,94
467016919 2331528
select * from clientes where cliente = 5300349
*/
CREATE OR ALTER PROCEDURE dbo.Reporte_consumos_api_
@accion varchar(20),
@cliente int,
@id_producto varchar(30) = null
AS
BEGIN
SET NOCOUNT ON;
declare @InicioMes datetime = dateadd(day, 1, eomonth(getdate(), -1));
declare @Ayer datetime = convert(date,getdate()) -- O horas de hoy
set @Ayer = dateadd(SECOND,-1,@Ayer)
-- Prueba para fecha específica
/*
set @InicioMes = '2025-02-01 00:00:00'
set @Ayer = '2025-02-28 23:59:59'
*/
if @accion = 'productos'
begin
select distinct iif(id_producto=96,113,id_producto) as id_producto, upper(iif(id_producto=96,'PERSONAL CREDIT VALIDATION',nombre_producto)) as nombre_producto,
convert(date,@InicioMes) as desde,
convert(varchar,@InicioMes,103) as desde_dmy,
convert(date,@Ayer) as hasta,
convert(varchar,@Ayer,103) as hasta_dmy
from clientes_productos
inner join productos on productos.producto = clientes_productos.id_producto
where grupo_informes = 'API'
and estado_producto = 'A'
and cliente = @cliente
return
end
if @accion = 'reporte'
begin
/*
26/11/2024: se cambió (Alejandro): aunque la consulta esté registrada con otra ruta,
le ponemos la ruta que corresponde al producto de la apikey con la que hizo la consulta
-- (Marita) aunque en realidad sería al revés, porque lo que el cliente vió fue la consulta al producto de la ruta por la que entró...
79 API Informe Comercial Completo
86 FACE MATCH (API)
92 GOVCHECK ID VALIDATION (API)
93 EXTENDED ID VALIDATION (API)
113 PERSONAL CREDIT VALIDATION
*/
declare @url varchar(50) = case @id_producto
when 79 then '/v3/icreport'
when 86 then '/v3/face-match/json'
when 92 then '/v3/govcheck-validation'
when 93 then '/v3/extended-validation'
when 113 then '/v3/personal-cred-val'
else null
end
/* agrupamos productos como el 96 con el 113 */
if (@id_producto in (96,113))
BEGIN
set @id_producto = '96,113'
end
/*select @InicioMes, @Ayer,@id_producto */
select iif(@url is not null, @url, usuarios_consumos.url) as endpoint,
usuarios_consumos.ip as ip,
--nombre_persona as nombre,
cuit_consultado as cuit,
usuarios_consumos.created2 as fecha_hora,
(CONVERT(VARCHAR(10),usuarios_consumos.created2, 103)) as fecha,
id_producto,
upper(productos.nombre_producto) as nombre_producto,
/*'PERSONAL CREDIT VALIDATION' as nombre_producto,*/
id_transaccion,resultados_api.codigo_resultado
from usuarios_consumos
INNER JOIN dbo.DelimitedSplit8K(@id_producto, ',') Segmentado on usuarios_consumos.id_producto = Segmentado.Item
left join resultados_api on usuarios_consumos.id_transaccion = resultados_api.transaction_id
left join productos on productos.producto = usuarios_consumos.id_producto
--saco estos join porque no muestra datos de esas tablas
--left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1' and identificador in (select identificador from identificadores where identificadores.country_code = 'AR'))
--left join users on users.user_id = usuarios_consumos.user_id
--left join clientes on cliente = @cliente
/* where id_producto = @id_producto*/
where convert(date,usuarios_consumos.created) between @InicioMes and @Ayer --> lo agregamos para que la consulta sea más rápida por los índices
and convert(date,usuarios_consumos.created2) between @InicioMes and @Ayer --> exacto por segundos
and usuarios_consumos.user_id in (select distinct user_id from usuarios_productos where cliente = @cliente)
/*and usuarios_consumos.user_id in (822909346) */
/*select distinct user_id from usuarios_productos where cliente = 489802397*/
-- and resultados_api.codigo_resultado != '200'
--and usuarios_consumos.cuit_consultado='27760158'
and (ip not in ('186.189.232.93') and ip not like '192%')
-- and resultados_api.codigo_resultado != '306'
and isnull(resultados_api.codigo_resultado,'0') !='306'
and ARREGLO_DATOS_POR_FALLAS is null
order by fecha_hora
return
-- END
/*
select iif(@url is not null, @url, usuarios_consumos.url) as endpoint,
usuarios_consumos.ip as ip,
--nombre_persona as nombre,
cuit_consultado as cuit,
usuarios_consumos.created2 as fecha_hora,
(CONVERT(VARCHAR(10),usuarios_consumos.created2, 103)) as fecha,
--id_producto,
upper(productos.nombre_producto) as nombre_producto,
id_transaccion
/*,
resultados_api.codigo_resultado */
from usuarios_consumos
/* INNER JOIN dbo.DelimitedSplit8K(@id_producto, ',') Segmentado on usuarios_consumos.id_producto = Segmentado.Item */
left join productos on productos.producto = usuarios_consumos.id_producto
inner join resultados_api on usuarios_consumos.id_transaccion = resultados_api.transaction_id
--saco estos join porque no muestra datos de esas tablas
--left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1' and identificador in (select identificador from identificadores where identificadores.country_code = 'AR'))
--left join users on users.user_id = usuarios_consumos.user_id
--left join clientes on cliente = @cliente
where id_producto = @id_producto
and convert(date,usuarios_consumos.created) between @InicioMes and @Ayer --> lo agregamos para que la consulta sea más rápida por los índices
and convert(date,usuarios_consumos.created2) between @InicioMes and @Ayer --> exacto por segundos
and usuarios_consumos.user_id in (select distinct user_id from usuarios_productos where cliente = @cliente)
and (ip not in ('186.189.232.93') or ip like '192%')
and resultados_api.codigo_resultado != '306'
and ARREGLO_DATOS_POR_FALLAS is null
order by fecha_hora
return
*/
end
END
GO
GO
--select * from RENAPER_FACE_INFO where dni='47604550'
--[Reporte_consumos_api_] 'reporte',5300349,86
--[Reporte_consumos_api_] 'reporte',5300349,96
--[Reporte_consumos_api_] 'reporte',5300349,92
--[Reporte_consumos_api_] 'reporte',5300349,93
/*
select distinct a.id_producto, a.url, b.nombre_producto
from usuarios_consumos a
inner join productos b on b.producto = a.id_producto
where created >= '2024-11-01' and id_producto in
(
71,
79,
86,
92,
93,
94,
96,
97,
98,
113)
and a.user_id in (select distinct user_id from usuarios_productos where cliente = 5300349)
and (ip not in ('186.189.232.93') or ip like '192%')
order by id_producto
select * from apikey where id_api_key = 249
[Reporte_consumos_api_] 'productos',5300349 --5300349
[Reporte_consumos_api_] 'reporte',2331528,24
[Reporte_consumos_api_] 'reporte',2331528,71
[Reporte_consumos_api_] 'reporte',5300349,86
[Reporte_consumos_api_] 'reporte',2331528,92
[Reporte_consumos_api_] 'reporte',2331528,86
[Reporte_consumos_api_] 'reporte',2331528,113
[Reporte_consumos_api_] 'reporte',5300349,71
[Reporte_consumos_api_] 'reporte',5300349,79
[Reporte_consumos_api_] 'reporte',5300349,86
[Reporte_consumos_api_] 'reporte',5300349,92
[Reporte_consumos_api_] 'reporte',5300349,93
[Reporte_consumos_api_] 'reporte',5300349,94
[Reporte_consumos_api_] 'reporte',5300349,96
[Reporte_consumos_api_] 'reporte',5300349,97
[Reporte_consumos_api_] 'reporte',5300349,98
[Reporte_consumos_api_] 'reporte',5300349,113
[Reporte_consumos_api_] 'reporte',489802397,24
[Reporte_consumos_api_] 'reporte',489802397,27
[Reporte_consumos_api_] 'reporte',489802397,94
467016919 2331528
select * from clientes where cliente = 5300349
*/
CREATE OR ALTER PROCEDURE dbo.Reporte_consumos_api_
@accion varchar(20),
@cliente int,
@id_producto varchar(30) = null
AS
BEGIN
SET NOCOUNT ON;
declare @InicioMes datetime = dateadd(day, 1, eomonth(getdate(), -1));
declare @Ayer datetime = convert(date,getdate()) -- O horas de hoy
set @Ayer = dateadd(SECOND,-1,@Ayer)
-- Prueba para fecha específica
/*
set @InicioMes = '2025-02-01 00:00:00'
set @Ayer = '2025-02-28 23:59:59'
*/
if @accion = 'productos'
begin
select distinct iif(id_producto=96,113,id_producto) as id_producto, upper(iif(id_producto=96,'PERSONAL CREDIT VALIDATION',nombre_producto)) as nombre_producto,
convert(date,@InicioMes) as desde,
convert(varchar,@InicioMes,103) as desde_dmy,
convert(date,@Ayer) as hasta,
convert(varchar,@Ayer,103) as hasta_dmy
from clientes_productos
inner join productos on productos.producto = clientes_productos.id_producto
where grupo_informes = 'API'
and estado_producto = 'A'
and cliente = @cliente
return
end
if @accion = 'reporte'
begin
/*
26/11/2024: se cambió (Alejandro): aunque la consulta esté registrada con otra ruta,
le ponemos la ruta que corresponde al producto de la apikey con la que hizo la consulta
-- (Marita) aunque en realidad sería al revés, porque lo que el cliente vió fue la consulta al producto de la ruta por la que entró...
79 API Informe Comercial Completo
86 FACE MATCH (API)
92 GOVCHECK ID VALIDATION (API)
93 EXTENDED ID VALIDATION (API)
113 PERSONAL CREDIT VALIDATION
*/
declare @url varchar(50) = case @id_producto
when 79 then '/v3/icreport'
when 86 then '/v3/face-match/json'
when 92 then '/v3/govcheck-validation'
when 93 then '/v3/extended-validation'
when 113 then '/v3/personal-cred-val'
else null
end
/* agrupamos productos como el 96 con el 113 */
if (@id_producto in (96,113))
BEGIN
set @id_producto = '96,113'
end
/*select @InicioMes, @Ayer,@id_producto */
select iif(@url is not null, @url, usuarios_consumos.url) as endpoint,
usuarios_consumos.ip as ip,
--nombre_persona as nombre,
cuit_consultado as cuit,
usuarios_consumos.created2 as fecha_hora,
(CONVERT(VARCHAR(10),usuarios_consumos.created2, 103)) as fecha,
id_producto,
upper(productos.nombre_producto) as nombre_producto,
/*'PERSONAL CREDIT VALIDATION' as nombre_producto,*/
id_transaccion,resultados_api.codigo_resultado
from usuarios_consumos
INNER JOIN dbo.DelimitedSplit8K(@id_producto, ',') Segmentado on usuarios_consumos.id_producto = Segmentado.Item
left join resultados_api on usuarios_consumos.id_transaccion = resultados_api.transaction_id
left join productos on productos.producto = usuarios_consumos.id_producto
--saco estos join porque no muestra datos de esas tablas
--left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1' and identificador in (select identificador from identificadores where identificadores.country_code = 'AR'))
--left join users on users.user_id = usuarios_consumos.user_id
--left join clientes on cliente = @cliente
/* where id_producto = @id_producto*/
where convert(date,usuarios_consumos.created) between @InicioMes and @Ayer --> lo agregamos para que la consulta sea más rápida por los índices
and convert(date,usuarios_consumos.created2) between @InicioMes and @Ayer --> exacto por segundos
and usuarios_consumos.user_id in (select distinct user_id from usuarios_productos where cliente = @cliente)
/*and usuarios_consumos.user_id in (822909346) */
/*select distinct user_id from usuarios_productos where cliente = 489802397*/
-- and resultados_api.codigo_resultado != '200'
--and usuarios_consumos.cuit_consultado='27760158'
and (ip not in ('186.189.232.93') and ip not like '192%')
-- and resultados_api.codigo_resultado != '306'
and isnull(resultados_api.codigo_resultado,'0') !='306'
and ARREGLO_DATOS_POR_FALLAS is null
order by fecha_hora
return
-- END
/*
select iif(@url is not null, @url, usuarios_consumos.url) as endpoint,
usuarios_consumos.ip as ip,
--nombre_persona as nombre,
cuit_consultado as cuit,
usuarios_consumos.created2 as fecha_hora,
(CONVERT(VARCHAR(10),usuarios_consumos.created2, 103)) as fecha,
--id_producto,
upper(productos.nombre_producto) as nombre_producto,
id_transaccion
/*,
resultados_api.codigo_resultado */
from usuarios_consumos
/* INNER JOIN dbo.DelimitedSplit8K(@id_producto, ',') Segmentado on usuarios_consumos.id_producto = Segmentado.Item */
left join productos on productos.producto = usuarios_consumos.id_producto
inner join resultados_api on usuarios_consumos.id_transaccion = resultados_api.transaction_id
--saco estos join porque no muestra datos de esas tablas
--left join padrones on (padrones.identificacion = cuit_consultado and padrones.habilitado = '1' and identificador in (select identificador from identificadores where identificadores.country_code = 'AR'))
--left join users on users.user_id = usuarios_consumos.user_id
--left join clientes on cliente = @cliente
where id_producto = @id_producto
and convert(date,usuarios_consumos.created) between @InicioMes and @Ayer --> lo agregamos para que la consulta sea más rápida por los índices
and convert(date,usuarios_consumos.created2) between @InicioMes and @Ayer --> exacto por segundos
and usuarios_consumos.user_id in (select distinct user_id from usuarios_productos where cliente = @cliente)
and (ip not in ('186.189.232.93') or ip like '192%')
and resultados_api.codigo_resultado != '306'
and ARREGLO_DATOS_POR_FALLAS is null
order by fecha_hora
return
*/
end
END
GO
Depends On
6Used By
No items found