#####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)
- codeigniter rest-server / Chris Kacerguis
- codeigniter-curl / Phil Sturgeon