/AppTarjetaBip

API REST - Consulta estado Tarjeta Bip

Primary LanguagePHP

alt tag

#####App en producción: http://bip-servicio.herokuapp.com #####Cliente web: http://bip-cliente.herokuapp.com

Descripción

La App de divide en 2 partes, por un lado el servicio REST (CodeIgniter) que utiliza cURL para "scrapear" el sitio oficial del transantiago, consultado el estado de la tarjeta bip!. Por otro lado el cliente (Angular, Materializecss) consulta los datos y los presenta amigablemente en la ui.

Requerimientos Instalación

Para instalar la App (servicio) sólo es necesario correr la carpeta "codeigniter-servicio" en un servidor que soporte:

  • PHP 5.x
  • mod_rewrite (Apache, o su equivalente en nginx)
  • cURL

La App cliente incluye los archivos de desarrollo, generados a partir de yeoman (generator-gulp-angular). El sitio optimizado para producción se encuentra en en directorio /dist (angular-cliente/dist)


Documentación API

El único método soportado es GET

GET /api/v1/solicitudes.json?bip={id}
METHOD ENDPOINT USAGE RETURNS
GET /api/v1/solicitudes.json?bip={id} Get bip Status bip Status
ENDPOINT
GET __http://bip-servicio.herokuapp.com/api/v1/solicitudes.json?bip=__{id}
PARAMETROS VALOR
id Número de identificación de la tarjeta bip!

Ejemplo de uso

Al hacer una llamada GET se obtiene un JSON con la data del estado de la tarjeta

http://bip-servicio.herokuapp.com/api/v1/solicitudes.json?bip=123456

donde 123456 corresponde al número de identificación de la tarjeta Bip. Siguiendo el ejemplo anterior, obtenemos de vuelta el siguiente JSON:

{
  "id": "123456",
  "estadoContrato": "Contrato Activo",
  "saldoTarjeta": "$2.120",
  "fechaSaldo": "05/01/2005 20:14"
}

Formatos de respuesta

Por defecto los datos se entregan en formato JSON, pero puedes indicar el formato esperado según las siguientes opciones

FORMATO URL RETORNO
JSON /api/v1/solicitudes.json?bip={id} JSON standard
XML /api/v1/solicitudes.xml?bip={id} XML standard
PHP /api/v1/solicitudes.php?bip={id} Texto plano formateado como un Array php
CSV /api/v1/solicitudes.csv?bip={id} CSV standard
SERIALIZED /api/v1/solicitudes.serialized?bip={id} Texto plano serializado

Ejemplo: Si indicamos como formato de salida XML

http://bip-servicio.herokuapp.com/api/v1/solicitudes.xml?bip=123456

El resultado obtenido será:

<xml>
  <id>123456</id>
  <estadoContrato>Contrato Activo</estadoContrato>
  <saldoTarjeta>$2.120</saldoTarjeta>
  <fechaSaldo>05/01/2005 20:14</fechaSaldo>
</xml>

###Librerías externas (créditos)