dbo.Reporte_consumos_api_

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

Used By

No items found