#####App en producción: http://bip-servicio.herokuapp.com #####Cliente web: http://bip-cliente.herokuapp.com
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.
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)
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! |
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"
}
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