Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 44 Next »

Resumen

Los servicios parametricos son una nueva funcionalidad incorporada en el API Ceibo ( o API Tarjeta habientes ) .

Esta funcionalidad permite crear nuevos servicios dentro del API de Ceibo tan solo configurando datos en tablas parametricas.

La esencia de esta funcionalidad es poder agilizar los procesos de desarrollo, automatizando la comunicacion entre el consumidor de un servicio (Ej: Frontend) y la base de datos (Ceibo), sin la necesidad de tener que programar por cada nuevo procedure un nuevo servicio que lo invoque.

En resumen, esta funcionalidad permite convertir un Procedimientos Almacenados en Servicios RESTFull que retornen JSON y que pueden ser invocados por cualquier programa.



Restricciones y Limitaciones

El uso de esta funcionalidad tiene unas de restricciones y limitaciones las cuales detallaremos a continuacion.

 Ver información

Servicios

Request:
  • Los servicios que son disponibilizados a traves de las parametrizaciones SOLO pueden recibir JSON como parametro de entrada.
  • Los unicos tipos de datos aceptados son NUMERO/TEXTO/FECHA. El tipo de dato FECHA debe enviarse como un texto en formato dd/mm/yyyy o dd/mm/yyyy hh24:mi:ss.
  • Mas adelante se detallarán ejemplos de como invocar a los servicios.
Response:
  • La respuesta del servicio siempre sera un JSON.
  • El API no evalua, ni evaluará el resultado exitoso o no, de lo retornado por SP. Solo se limita a ejecutar el procedure y devolver el resultado.
    • Si deben hacer controles adicionales de lo retornado por el Servicio, esta actividad queda a responsabilidad del invocador del Servicio.
  • Para los diferentes tipos de datos que puedan ser retornados desde el procedure, el api SIEMPRE devolverá una representacion de un STRING del dato.
  • El Servicio siempre devolverá una representacion de un STRING de cada dato retornado desde el Stored Procedure

Procedimientos Almacenados

Los procedimientos almacenados configurados deben cumplir obligatoriamente con los siguientes criterios:

Criterios Generales

  • Los procedimientos almacenados deben existir en @BAPY o en @OLPY. El API no se conecta a ninguna otra Base de Datos.
  • Los procedimientos deben poder ser vistos e invocados por el usuario: CREDITOPY.
  • Los procedimientos configurados deben estar programados de tal manera que PRIMERO se definan los parametros de ENTRADA , luego los de SALIDA.

Parametros de Entrada / Salida:

Entrada:

Solo son soportados los siguientes tipos de datos para los parametros de entrada:

  • Número (Number, Double, Decimal, etc. )
  • Texto (Varchar, CHAR, CLOB )
  • Fecha (Date)
  • Obs: Cuaquier otro tipo de dato será tratado como por el API  como un String.
Salida:

Solo son soportados los siguientes tipos de datos para los parametros de salida:

  • Número
  • Texto
  • Fecha
  • Cursor
  • Obs: Cuaquier otro tipo de dato será tratado como por el API  como un String. Con los eventuales errores que esto pueda conllevar.



Configuracion de Servicios

Entorno de Configuracíon

Todas las configuraciones para los Servicios parametricos se hacen en la base de datos BAPY CEIBO

Paquete

CREDITOPY.PKG_API_CEIBO

Todas los metodos necesarios para que los servicios otorgados por el API Parametrico funcionen se encuentran en este PKG.

Observaciones IMPORTANTES !!:

  • La idea de este PKG es ser un package aislado, por lo cual dentro de este package solo deben existir los metodos relacionados a la parametrizacion del SPs como servicios

  • NO INCLUIR AQUI:
    • Procedures PARTICULARES, que son PROPIOS del desarrollo en si y NO de este PKG
    • Ni funciones
    • Ni Referencias
    • etc
    • En resumen: No tocar este PCK salvo si sea para hacer ajustes en el API Parametrico

Tablas de Configuracion

DER:

Tablas:

 Ver Info de Tablas
Tabla:API_CEIBO_PROCEDURES
Descripcion:

Tabla principal de configuraciones de los servicios parametricos.

En esta tabla se configuran los procedures que seran invocados, la base de datos donde esta alojado el SP y el path de accesion en el API

CAMPOS
id_api_spId único de la tabla
categoriaDato informativo sobre la categoria en la que estan divididos los servicios o endpoints. (comercios / autorizaciones / entidades / ceibo / etc. )
descripcionDescripcion del proposito del servicio / procedure
api_path_groupEl grupo o bloque en el que esta agrupado el servicio. Ej:
{group}/v1/getDatos
api_path_version

La version del servicio disponibilizado. Ej:

tarjetas/{version}/getDatos

api_path_name

El nombre del servicio. Ej:

tarjetas/v1/{servicio}

procedure_database

La base de datos en las que es ejecutado el Procedure (BAPY / OLPY)

procedure_schema

El nombre del esquema en el que se encuentra el procedure.

Obs: El usuario que ejecuta el SP es CREDITOPY, asi que debe tener permisos de ejecucion sobre el esquema.pkg.procedure

procedure_name

El nombre del procedimiento almacenado a ejecutar.

Obs: Configurar aqui el procedure procedure_name o pkg_name.procedure_name, sin el esquema. El API concatenará durante la ejecucion el esquema.sp_name o esquema.pkg_name.sp_name

simplificar_response_s_nS/N. Indicador que permite simplificar el response del API en el caso de que tenga un solo item de respuesta
fecha_hora_insFecha / hora de insercion del registro
usuario_insUsuario de Insercion
fecha_hora_updFecha Hora de Actualizacion del registro.
usuario_updUsuario de Actualizacion del registro.
Tabla:API_CEIBO_PROCEDURES_PRMS_IN
Descripcion:

Tabla hija de la tabla anterior y tiene como funcion registrar el detalle de los parametros de entrada con los que cuenta el procedure configurado

CAMPOS
id_api_spId del SP del API. FK a la tabla: API_CEIBO_PROCEDURES
param_nameNro de Orden en el que se encuentra el parametro de entrada
param_nameNombre del parametro recibido desde el API
tipo_dato

Especifica el tipo de dato permitido. Valores permitidos:

  • NUMERO
  • TEXTO
  • FECHA

Obs: Fecha en formato: dd/mm/yyyy o dd/mm/yyyy hh24:mi:ss

requerido_api_sS/N. Indicador si el dato debe ser enviado o no desde el request del servicio
nulable_s_nS/N. Indicador que especifica si el valor puede ser enviado como nulo
default_valueEl valor por defecto del parametro. Los datos deben ponerse en lenguaje SQL. Ejemplo para los TEXTOs se debe por el valor entre comillas ej: 'some text'
Tabla:API_CEIBO_PROCEDURES_PRMS_OUT
Descripcion:

Tabla que registra el detalle de los parametros de salida con los que cuenta el procedure configurado

CAMPOS
id_api_spId del SP del API. FK a la tabla: API_CEIBO_PROCEDURES
param_nameNro de Orden en el que se encuentra el parametro de salida
param_nameNombre del parametro de salida con el que se retornara el dato en el API
tipo_dato

Mapeo del tipo de dato que es retornado por el SP. Este dato se utiliza para la creacion del statement de ejecucion del SP contra la base de datos.

Especifica el tipo de dato permitido. Valores permitidos:

  • NUMERO
  • TEXTO
  • FECHA
  • CURSOR
  • ESTRUCTURA

Obs: El tipo de dato "ESTRUCTURA" es un tipo de dato personalizado que representa el primer registro retornado por un Cursor. El API toma este tipo de dato y lo devuelve como un objeto JSON en lugar de como un Array JSON.

retornar_api_s_nS/N. Indicador que especifica si el valor de este parametro de salida debe ser o no retornado dentro del response del API



Tabla:API_CEIBO_USERS
Descripcion:En esta tabla se registran los usuarios de aplicacion/login que es utilizado por el API para autenticarse y luego ejecutar los procedimientos almacenados
CAMPOS
id_usuarioId único de la tabla
usuarioSigla del Usuario
passwordcontraseña
fecha_altafecha de alta





Servicios

asdadasd

Configuracion de Servicios

Entorno de Configuracíon

Todas las configuraciones para los Servicios parametricos se hacen en la base de datos BAPY CEIBO

  • No labels