Diferencia entre revisiones de «Sistema de Intercajas»

De WikiCofepres
Saltar a: navegación, buscar
(APIs REST: EJEMPLO)
(APIs REST: EJEMPLO)
 
(No se muestran 33 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
  
 
# '''[[#OBJETIVO]]'''  
 
# '''[[#OBJETIVO]]'''  
 +
# '''[[#ACTUALIZACIÓN: ESPECIFICACIONES]]'''
 
# '''[[#APIs REST: EJEMPLO]]'''  
 
# '''[[#APIs REST: EJEMPLO]]'''  
  
Línea 12: Línea 13:
  
  
 +
== ACTUALIZACIÓN: ESPECIFICACIONES  ==
  
 +
- [[Archivo:actualizacionEspecifiaciones_intercajas.pdf|options|Especificaciones]]
  
 
== APIs REST: EJEMPLO ==
 
== APIs REST: EJEMPLO ==
Línea 19: Línea 22:
 
El segundo archvio es el SQL de la base de datos utilizado.
 
El segundo archvio es el SQL de la base de datos utilizado.
  
[[Archivo:apirestejemplo.rar|options|Código Fuente API REST]]
+
- [[Archivo:apirestejemplo.rar|options|Código Fuente API REST]]
  
[[Archivo:dbejemplo.rar|options|SQL Base de Datos]]
+
- [[Archivo:dbejemplo.rar|options|SQL Base de Datos]]
  
  
  
En este proyecto se utiliza '''SLIM''' como framework PHP, '''Composer''' como manejador de dependencias, '''MySQL''' como motor de base de datos, '''FluentPDO''' para el manejo de las consultas SQL y '''JWT Json Web Token''' como método de autenticación.  
+
En este proyecto se utiliza '''SLIM''' (mini framework REST para PHP), '''Composer''' (manejador de dependencias), '''MySQL''' (motor de base de datos), '''FluentPDO''' (manejo de las consultas SQL) y '''JWT Json Web Token''' (método de autenticación), '''Insomnia''' (aplicación para la prueba de REST).  
  
  
  
 +
• <span style="color:#008080; ">'''Estructura de la base de datos'''</span>
  
 +
La base de datos '''ejemplo''' contiene dos tablas:
  
 +
- '''Usuario''': empleada para la autenticación. Se envia como parametro email y clave (encriptada en md5).
  
<span style="color:#800080; ">''' &#187; POST ''AUTENTICAR'''''</span>
+
- '''Beneficiario''': contiene los datos de los beneficiarios.
  
 
 
• <span style="color:#008080; ">URL</span> http://apirest.cajajper.gov.ar/public/auth/autenticar
 
  
[[Archivo:imagen7.jpg]]
+
 
 +
• <span style="color:#008080; ">'''Estructura del proyecto'''</span>
 +
 
 +
- '''src\settings.php''': parámetros de conexion a la base de datos, denominaciòn empleada para el token, etc.
 +
 
 +
- '''app\model''':  se desarrollan las consultas SQL ('''auth_model.php''' trabaja con la tabla usuario para la autenticación, y '''beneficiario_model.php''' contiene las consultas SQL para la obtención de datos de un beneficiario).
 +
 
 +
 
 +
 
 +
• <span style="color:#008080; ">'''Lista de Recursos (ENDPOINTS)'''</span>
 +
 
 +
# <span style="color:#800080; ">'''AUTENTICAR'''</span>
 +
# <span style="color:#008000; ">'''OBTENER BENEFICIARIO POR CUIL'''</span>
 +
 
 +
 
 +
 
 +
 
 +
 
 +
<span style="color:#800080; ">''' &#187; POST ''AUTENTICAR'' '''</span>
 +
 
 +
[[Archivo:imagen.jpg]]
 +
 
 +
 
 +
• <span style="color:#008080; ">URL</span> http://localhost/public/auth/autenticar
 +
 
  
  
 
• <span style="color:#008080; ">Parámetros Body</span>
 
• <span style="color:#008080; ">Parámetros Body</span>
  
'''email''': admin@cajajper.gov.ar
+
'''email''': micorreoelectronicon@email.com
  
'''clave''': caja..... (md5)
+
'''clave''': miclave (md5)
  
[[Archivo:imagen8.jpg]]
 
  
  
Línea 59: Línea 86:
  
  
[[Archivo:imagen9.jpg]]
+
 
 +
'''result''': token que se utiliza para invocar a los otros servicios (APP-TOKEN)
 +
 
  
  
'''result''': token que se utiliza para invocar a los otros servicios (APP-TOKEN)
 
  
 +
[[Archivo:imagen1.jpg]] 
  
[[Archivo:imagen10.jpg]]
 
  
 
'''result''': null (Credenciales no válidas)
 
'''result''': null (Credenciales no válidas)
Línea 76: Línea 104:
  
  
• <span style="color:#008080; ">URL</span> http://apirest.cajajper.gov.ar/public/beneficiario/obtener/{CUIL}
+
• <span style="color:#008080; ">URL</span> http://localhost/public/beneficiario/obtener/{CUIL}
  
[[Archivo:imagen11.jpg]]
+
[[Archivo:imagen2_v3.jpg]]
  
  
Línea 90: Línea 118:
 
'''APP-TOKEN''': valor obtenido del servicio rest POST AUTENTICAR  
 
'''APP-TOKEN''': valor obtenido del servicio rest POST AUTENTICAR  
  
[[Archivo:imagen12.jpg]]
 
  
  
Línea 108: Línea 135:
 
{| class="wikitable col1cen col2cen center" style="width:800px;"
 
{| class="wikitable col1cen col2cen center" style="width:800px;"
 
|-
 
|-
|style="width:150px;color:white;background:blue;"|'''Campo'''
+
|style="width:150px;color:white;background:#008080;"|'''Campo'''
|style="width:150px;color:white;" bgcolor="blue"| '''Tipo'''
+
|style="width:150px;color:white;" bgcolor="#008080"| '''Tipo'''
|style="width:150px;color:white;" bgcolor="blue"| '''Valor'''
+
|style="width:150px;color:white;" bgcolor="#008080"| '''Valor'''
 
|-
 
|-
 
|cuil
 
|cuil
Línea 122: Línea 149:
 
|tipoDocumento
 
|tipoDocumento
 
|numerico
 
|numerico
|'''{idTipoDocumento}''' 1=DNI, 2=LC, 3=LE, 4=OTRO
+
|'''{idTipoDocumento}''' 1= DNI, 2= LC, 3= LE, 4=OTRO
 
|-
 
|-
 
|apellidoNombres
 
|apellidoNombres
Línea 130: Línea 157:
 
|sexo
 
|sexo
 
|texto
 
|texto
|'''{sexo}''' F= femenino; M= masculino
+
|'''{sexo}''' F= femenino, M= masculino
 
|-
 
|-
 
|fechaNacimiento
 
|fechaNacimiento
Línea 137: Línea 164:
 
|-
 
|-
 
|beneficios
 
|beneficios
|numerico-numerico-date
+
|numerico-numerico-date-texto-texto-texto
|'''{beneficio}''' listado de beneficios de la persona En cada caso se detalla tipoBeneficio (1= ; 2= ; 3= ); numeroBeneficio (no es obligatorio); fechaInicio (fecha de inicio del beneficio aaaa-mm-dd)
+
|'''{beneficio}''' listado de beneficios de la persona En cada caso se detalla tipoBeneficio (1=Jubilacion, 2= Pension, 3= Retiro, 4= Malvinas, 5=Otro Beneficio); numeroBeneficio (no es obligatorio); fechaInicio (fecha de inicio del beneficio Formato: aaaa-mm-dd); detalleTipoBeneficio (10= Jubilación Ordinaria, 20= Jubilación por Invalidez,30= Jubilación por Edad Avanzada,41= Pensión Directa PBU,42= Pensión Directa RTI,43= Pensión Directa PEA,50= Pensión Derivada, o null - no es obligatorio); detalleEscalafon (00= Comunes o Generales, 01= Docentes, 02= Policía, 03= Servicio Penitenciario, 04= Magistrados, 05= Luz y Fuerza, o null - no es obligatorio); periodoUltimoLiquidado (formato mm-aaaa, donde mm corresponde al mes y aaaa corresponde al año Ej: 06-2018)
 
|}
 
|}
  
  
[[Archivo:imagen13.jpg]]
 
  
 +
<span style="background:#00FF00">'''''Success 200'''''</span>
  
<span style="background:#FF0000">'''''Invalid 401'''''</span>
+
'''{CUIL}''' NO ES BENEFICIARIO DEL ORGANISMO
 
 
APP-TOKEN INVALIDO o NO DEFINIDO
 
 
 
[[Archivo:imagen14.jpg]]
 
  
 +
[[Archivo:imagen4.jpg]]
  
  
  
 +
<span style="background:#FF0000">'''''Invalid 401'''''</span>
  
 +
APP-TOKEN INVALIDO o NO DEFINIDO
  
 +
[[Archivo:imagen6.jpg]]
  
  
  
<!--
+
<span style="background:#FF0000">'''''Invalid 422'''''</span>
  
<span style="color:#808000; ">''' &#187; PUT ''ACTUALIZAR USUARIO'''''</span>
+
VALOR INVALIDO EN '''{CUIL}'''
<span style="color:#800000; ">''' &#187; DELETE''BORRAR USUARIO'''''</span>
 
  
-->
+
[[Archivo:imagen5.jpg]]

Revisión actual del 12:50 7 ago 2018

  1. #OBJETIVO
  2. #ACTUALIZACIÓN: ESPECIFICACIONES
  3. #APIs REST: EJEMPLO


OBJETIVO

El sistema INTERCAJAS, tiene como principal objetivo la consulta de beneficiarios de los distintos regímenes previsionales que administran las provincias y los municipios que integran el CO.FE.PRE.S, todo ello en el marco de la ley 25.326 con respecto a las formalidades y modalidades que deberán resguardar la información que contenga el proyecto a los fines de la seguridad informática y la protección electrónica de los datos. El sistema referido, permitirá, ingresando la identidad de cualquier beneficiario, determinar si el mismo posee antecedentes previsionales en alguno de los regímenes adheridos al sistema, a fin de informar y constatar situaciones que sirvan para su respectivo análisis.


ACTUALIZACIÓN: ESPECIFICACIONES

- Archivo:ActualizacionEspecifiaciones intercajas.pdf

APIs REST: EJEMPLO

A continuaciòn se adjuntan dos archivos comprimidos apiresejemplo.rar y dbejemplo.rar. El primero consiste en un ejemplo de desarrollo en PHP de una API REST, segun lo propuesto en la actualización del sistema de intercajas. El segundo archvio es el SQL de la base de datos utilizado.

- Archivo:Apirestejemplo.rar

- Archivo:Dbejemplo.rar


En este proyecto se utiliza SLIM (mini framework REST para PHP), Composer (manejador de dependencias), MySQL (motor de base de datos), FluentPDO (manejo de las consultas SQL) y JWT Json Web Token (método de autenticación), Insomnia (aplicación para la prueba de REST).


Estructura de la base de datos

La base de datos ejemplo contiene dos tablas:

- Usuario: empleada para la autenticación. Se envia como parametro email y clave (encriptada en md5).

- Beneficiario: contiene los datos de los beneficiarios.


Estructura del proyecto

- src\settings.php: parámetros de conexion a la base de datos, denominaciòn empleada para el token, etc.

- app\model: se desarrollan las consultas SQL (auth_model.php trabaja con la tabla usuario para la autenticación, y beneficiario_model.php contiene las consultas SQL para la obtención de datos de un beneficiario).


Lista de Recursos (ENDPOINTS)

  1. AUTENTICAR
  2. OBTENER BENEFICIARIO POR CUIL



» POST AUTENTICAR

Imagen.jpg


URL http://localhost/public/auth/autenticar


Parámetros Body

email: micorreoelectronicon@email.com

clave: miclave (md5)


Response Content Type

application/json


Status Codes

Success 200


result: token que se utiliza para invocar a los otros servicios (APP-TOKEN)



Imagen1.jpg


result: null (Credenciales no válidas)



» GET OBTENER BENEFICIARIO POR CUIL


URL http://localhost/public/beneficiario/obtener/{CUIL}

Imagen2 v3.jpg


Parámetros

CUIL: cuil de la persona beneficiaria de quien se desea obtener información


Headers

APP-TOKEN: valor obtenido del servicio rest POST AUTENTICAR


Response Content Type

application/json


Status Codes

Success 200



Campo Tipo Valor
cuil numerico {CUIL} cuil de la persona
numeroDocumento numerico {numeroDocumento} numero de documento de la persona
tipoDocumento numerico {idTipoDocumento} 1= DNI, 2= LC, 3= LE, 4=OTRO
apellidoNombres texto {apellido y nombres} apellido y nombres de la persona
sexo texto {sexo} F= femenino, M= masculino
fechaNacimiento date {fechaNacimiento} aaaa-mm-dd fecha de nacimiento de la persona
beneficios numerico-numerico-date-texto-texto-texto {beneficio} listado de beneficios de la persona En cada caso se detalla tipoBeneficio (1=Jubilacion, 2= Pension, 3= Retiro, 4= Malvinas, 5=Otro Beneficio); numeroBeneficio (no es obligatorio); fechaInicio (fecha de inicio del beneficio Formato: aaaa-mm-dd); detalleTipoBeneficio (10= Jubilación Ordinaria, 20= Jubilación por Invalidez,30= Jubilación por Edad Avanzada,41= Pensión Directa PBU,42= Pensión Directa RTI,43= Pensión Directa PEA,50= Pensión Derivada, o null - no es obligatorio); detalleEscalafon (00= Comunes o Generales, 01= Docentes, 02= Policía, 03= Servicio Penitenciario, 04= Magistrados, 05= Luz y Fuerza, o null - no es obligatorio); periodoUltimoLiquidado (formato mm-aaaa, donde mm corresponde al mes y aaaa corresponde al año Ej: 06-2018)


Success 200

{CUIL} NO ES BENEFICIARIO DEL ORGANISMO

Imagen4.jpg


Invalid 401

APP-TOKEN INVALIDO o NO DEFINIDO

Imagen6.jpg


Invalid 422

VALOR INVALIDO EN {CUIL}

Imagen5.jpg