Introducción
Una breve introducción al API de Banregio. Los alcances, objetivos y filosofía. También se incluyen algunas ligas a recursos adicionales, en caso de existir.
Conceptos Básicos
Para sacar un mayor provecho de la presente documentación, se sugiere al usuario tener conocimiento de los siguientes conceptos:
- REST APIs Vínculo a Tutorial Sugerido
- JSON Vínculo a Tutorial Interactivo
- OAuth2 Vínculo a Guía Conceptual
Herramientas Sugeridas
Encontrarás a continuación un listado de herramientas recomendadas para interactuar con el API de BanRegio. Éstas te ayudarán a tener un mejor entendimiento del API y depurar tu solución antes de integrarla en tu aplicación.
- curl
- Postman para Chrome
- HttpRequester para Firefox
- Fiddler para Windows
- JSON Formatter and Validator
Aplicaciones
Formulario para registrar una aplicación:
Para empezar a usar el API debes crear una aplicación en la siguiente dirección:
https://api.banregio.com/oauth/applicactions/register
Los datos que debes proporcionar son los siguientes:
Parámetro | Descripción |
---|---|
Nombre | Nombre de aplicación. |
Urls de redirección | Lista de url’s permitidas en dónde serán manejados los códigos de autorización, las url’s deben estar separadas por saltos de linea. |
Host productivo (IPv4) | (Opcional) Los servicios transaccionales requieren tener confiigurado este parámetro |
Página de actualización de una aplicación
Al crear una aplicación se generarán un identificador de cliente (ID Aplicación) y una contraseña (clave secreta). Ambos parámetros pueden ser vistos en la pantalla de actualización de la aplicación:
https://api.banregio.com/oauth/applications/{{id}}/update/
De forma interna estos parámetros son conocidos como client_id y client_secret.
Las aplicacciones son creadas en un estatus de Desarrollo. Mientras te encuentres en desarrollo deberás trabajar en el ambiente sandbox:
https://sandbox.banregio.com
Más adelante se explicarán las formas de acceder al ambiente productivo.
Código de Autorización
Página de auutorización
El código de autorización se obtiene dirigiéndose a la siguiente URL:
https://api.banregio.com/oauth/authorize/
con los siguientes parámetros:
Parámetro | Descripción |
---|---|
response_type | El tipo de respuesta correspondiente a la especificación OAuth2. |
client_id | Identificador de la aplicación generada al momento de registrar la misma (ID Aplicación). |
redirect_uri | (opcional) Url a la que se redirigirá el código de autorización, esta debe coincidir a una de las proporcionadas en el registro de la aplicación correspondiente. |
Formulario de auutorización para usuario APIBanRegio
Ejemplo de petición |
---|
https://api.banregio.com/oauth/authorize?response_type=code&client_id=OGcy2Cj5py6Xp2nLb7RxtPK7KfG9QzH2IXTlJNb&redirect_uri=http://myredirect.uri |
De acuerdo al protocolo OAuth2, el código de autorización será enviado a la dirección especificada en el parámetro redirect_uri, si no es prporcionado se usará la primer url en la lista de url’s configurada en la aplicación
Ejemplo de redirección |
---|
http://myredirect.url?code=QotHLGkuD4QWCBRw0ABdjlm0BbGEFi |
Deberás continuar el flujo para obtener un token de acceso en esta url que proporciones, usando el código de autorización (QotHLGkuD4QWCBRw0ABdjlm0BbGEFi en el ejemplo, leer más adelante).
Formulario de auutorización para usuario APIBanRegio
Adicionalmente, se tienen dos opciones de acceso:
- Usuario de APIBanRegio
- Usuario de Banca Electrónica de BanRegio.
Para la primera se usa el botón ‘Permitir’. Aquí se deben presentar las credenciales del portal APIBanRegio para obtener el código de autorización. Con esta opción se acceden a los recursos vinculados al usuario del portal APIBanRegio (leer más adelante cómo vincular cuentas)
Para la segunda se usa el boton 'Acceder a banca electrónica’. Aquí se deben presentar las credenciales de banca electrónica. Con esta opción se acceden a los recursos disponibles en tu banca electrónica de BanRegio. Este método no dará acceso a los recursos que se hayan vinculado a algún usuario de APIBanRegio.
Token de Acceso
El token de acceso podrá ser obtenido haciendo una petición POST a la siguiente dirección url y cabeceras:
Token HTTP Request
POST https://api.banregio.com/oauth/token/
Token HTTP Headers
Content-type: application/x-www-form-urlencoded |
Accept: application/json |
Se manejarán tres tipos de concesiones (grant_type) para obtener el token de acceso: authorization_code, client_credentials, refresh_token.
authorization_code
Este es el tipo de concesión que se recomienda en un ambiente productivo.
Petición
El “body” debe contener los siguientes parámetros
Codigo de Ejemplo
POST /oauth/token HTTP/1.1
Accept: application/json
Content-type: application/x-www-form-urlencoded
{
"grant_type": "authorization_code",
"code":"7iSirRBkJq2bpJU50J90Ozl2MDsvbc",
"client_id":",8oa7cmJU8cvGua789mfduama645DcCA13",
"client_secret":",9smciFDo1mco9FG9nAmnduaha98fhaifa8f1FAFmnc9ca%
#snaAcmnc924acAAP878789c#5aAcm19sn56DSAc810892
acna_cj1"
"redirect_uri": "http:localhost/"
}
// Solicitud para obtener token via Codigo de autorizacion
BanRegioTokenHelper tokenHelper;
tokenHelper= new BanRegioTokenHelper(baseUri,
BanRegioTokenHelper.TokenGrantType.AuthorizationCode,
clientId,
clientSecret);
// El codigo se genera mediante el paso codigo de autorizacion
String code = "7iSirRBkJq2bpJU50J90Ozl2MDsvbc"
// Obtencion del token
String token = tokenHelper.fetchToken(code);
<?php
// Solicitud para obtener token
$tokenHelper = new BanRegioTokenHelper($baseUri, "",
$clientId, $redirectUri, $clientSecret);
$authorizationCode = "7iSirRBkJq2bpJU50J90Ozl2MDsvbc"
// Obtencion del token
$token = $tokenHelper->fetchTokenWithAuthorizationCode($authorizationCode);
?>
// Solicitud de Tokengithub
var tokenHelper = new BanRegioTokenHelper(new Uri(baseUri),
BanRegioTokenHelper.GrantType.AuthorizationCode,
clientId,
new Uri(redirectUri),
clientSecret);
var token = "7iSirRBkJq2bpJU50J90Ozl2MDsvbc"
// Obtencion del token
var token = tokenHelper.FetchToken(code);
from banregioapi.banregio_token_helper import BanregioTokenHelper
api = BanregioTokenHelper(
client_id,
secret_key,
redirect_uri,
)
print api.get_authorize_url()
#output example: https://sandbox.banregio.com/oauth/authorize?redirect_uri=http%3A%2F%2Flocalhost&response_type=code&client_id=Fmaf93Ytqqwp8ZEdHEyBG1meaj1oNB1120ncaq92bcG
code = "authotization code"
print api.get_access_token(code)
#'lnNDma02maXmQnzS38tQwfKFFL5hUy'
Parámetros de Entrada
Parámetro | Descripción |
---|---|
grant_type | Especifica el tipo de autorización con el que se está trabajando. Las opciones son “authorization_code” y “client_credentials” (leer más adelante). |
code | El código de autorización que se obtuvo en sección del Código de Autorización. |
client_id | Identificador de la aplicación (ver sección de Aplicaciones). |
client_secret | Clave secreta de la aplicación (Aplicaciones). |
redirect_uri | Liga de redireccionamiento.n (Aplicaciones). |
Respuesta
La respuesta será en formato json y tendrá la siguiente estructura:
Ejemplo del “body” de la respuesta:
{
"access_token" :"lPqGaJCN3KjRwvsHXxywTuqTzuf6QW",
"token_type" :"Bearer",
"expires_in" :2400,
"refresh_token" :"wTHpgpaaS679XNiXl1jt2Jty1Rst6O",
"scope" :"read"
}
Parámetros de Salida
Parámetro | Descripción |
---|---|
access_token | Token de acceso. |
token_type | Tipo de token de acceso, por defecto el tipo es “Bearer”. |
expires_in | Tiempo de vida del token. |
refresh_token | Clave para actualizar un token de acceso expirado (ver Refresh Token). |
scope | Alcance de acceso al recurso. |
client_credentials
En el ambiente productivo sólo estará disponible el flujo de “código de autorización”, sin embargo mientras estés en desarrollo podrás contar con un flijo más directo para obtener un token de acceso, este correspondiente al ususario propietario de la aplicación (Aplicaciones). Para este flujo no será necesario contar con un código de autorización, bastarán las credenciales de la aplicación.
Petición
El “body” debe contener los siguientes parámetros
Codigo de ejemplo
POST /oauth/token HTTP/1.1
Accept: application/json
Content-type: application/x-www-form-urlencoded
{
"grant_type": "client_credentials",
"client_id":",8oa7cmJU8cvGua789mfduama645DcCA13",
"client_secret":",9smciFDo1mco9FG9nAmnduaha98fhaifa8f1FAFmnc9ca%
#snaAcmnc924acAAP878789c#5aAcm19sn56DSAc810892
acna_cj1"
}
// Solicitud para obtener token
BanRegioTokenHelper tokenHelper;
tokenHelper= new BanRegioTokenHelper(baseUri,
BanRegioTokenHelper.TokenGrantType.ClientCredentials,
clientId,
clientSecret);
// Obtencion del token
String token = tokenHelper.fetchToken();
// Solicitud para obtener token
$tokenHelper = new BanRegioTokenHelper($baseUri, "",
$clientId, $redirectUri, $clientSecret);
// Obtencion del token
$token = $tokenHelper->fetchTokenWithClientCredentials();
// Solicitud de Tokengithub
var tokenHelper = new BanRegioTokenHelper(new Uri(baseUri),
BanRegioTokenHelper.GrantType.ClientCredentials,
clientId,
new Uri(redirectUri),
clientSecret);
// Obtencion del token
var token = tokenHelper.FetchToken();
from banregioapi.banregio_token_helper import BanregioTokenHelper
api = BanregioTokenHelper(
client_id,
secret_key,
redirect_uri,
)
# get your access token via grant type client credentials
print api.get_access_token_with_client_credentials()
# '73bc912nday1bndndmdmq101udhj9'
Parámetros de Entrada
Parámetro | Descripción |
---|---|
grant_type | Especifica el tipo de autorización con el que se está trabajando. Usar el valor “client_credentials” para este flujo. |
client_id | Identificador de la aplicación (ver sección de Aplicaciones). |
client_secret | Clave secreta de la aplicación (Aplicaciones). |
Respuesta
La respuesta será en formato json y tendrá la siguiente estructura:
Ejemplo del “body” de la respuesta:
{
"access_token" :"lPqGaJCN3KjRwvsHXxywTuqTzuf6QW",
"token_type" :"Bearer",
"expires_in" :2400,
"scope" :"read"
}
Parámetros de Salida
Parámetro | Descripción |
---|---|
access_token | Token de acceso. |
token_type | Tipo de token de acceso, por defecto el tipo es “Bearer”. |
expires_in | Tiempo de vida del token. |
scope | Alcance de acceso al recurso. |
refresh_token
Tienes la posibilidad de obtener un nuevo token de acceso, si cuentas con un token de renovación, sin volver a gestionar el código de autorización. El flujo de código de autorización te brinda esta opción proporcionándote un token de renovación.
Petición
El “body” de la peticón debe contener los siguientes parámetros
Ejemplo del “body” de la petición
POST /oauth/token HTTP/1.1
Accept: application/json
Content-type: application/x-www-form-urlencoded
{
"grant_type": "refresh_token",
"client_id":",8oa7cmJU8cvGua789mfduama645DcCA13",
"client_secret":",9smciFDo1mco9FG9nAmnduaha98fhaifa8f1FAFmnc9ca%
#snaAcmnc924acAAP878789c#5aAcm19sn56DSAc810892
acna_cj1"
}
# get your refresh token
print api.get_refresh_token()
#'9idasmkioa92ndaa8m2maldmna28ns'
# if your access_token is expired you can get a new access_token via refresh token
refresh_token = '9idasmkioa92ndaa8m2maldmna28ns'
print api.get_access_token_with_refresh_token(refresh_token)
#'73bc912nday1bndndmdmq101udhj9'
print api.get_refresh_token()
#'83nd910eidnd891hrufnda02bnfma'
Parámetros de Entrada
Parámetro | Descripción |
---|---|
grant_type | Especifica el tipo de autorización con el que se está trabajando. Usar el valor “refresh_token” para este flujo. |
client_id | Identificador de la aplicación (ver sección de Aplicaciones). |
client_secret | Clave secreta de la aplicación (Aplicaciones). |
Respuesta
La respuesta será en formato json y tendrá la siguiente estructura:
Ejemplo del “body” de la respuesta:
{
"access_token" :"lPqGaJCN3KjRwvsHXxywTuqTzuf6QW",
"token_type" :"Bearer",
"expires_in" :2400,
"refresh_token" :"wTHpgpaaS679XNiXl1jt2Jty1Rst6O",
"scope" :"read"
}
Parámetros de Salida
Parámetro | Descripción |
---|---|
access_token | Token de acceso. |
token_type | Tipo de token de acceso, por defecto el tipo es “Bearer”. |
expires_in | Tiempo de vida del token. |
refresh_token | Clave para actualizar un token de acceso expirado (ver Refresh Token). |
scope | Alcance de acceso al recurso. |
Ligado de Cuentas
Formulario de alta de cuentas BanRegio
El ligado de cuentas BanRegio para los usuarios finales se hace en el portal del APIBanRegio en la siguiente dirección:
Producción
https://api.banregio.com/me/account/add/
Desde una aplicación de terceros esta dirección puede ser invocada con el parámetro redirect_uri, cuyo valor será usado como redireccionamiento después de haber ligado con éxito una cuenta.
Ejemplo |
---|
https://api.banregio.com/me/account/add?redirect_uri=http://my.redirect.uri |
El formulario se divide en dos partes, en la primera se solicitan el número de cliente y los últimos 4 dígitos de la tarjeta que se desea ligar.
Parámetro | Decripción |
---|---|
Número de cliente | Número de cliente Banregio. |
Ültimos 4 dígitos | Los últimos cuatro dígitos de la tarjeta que deseas ligar. |
Con esta información se genera un token de confirmación, con vigencia de 5 minutos, que se le envía al usuario de APIBanRegio vía sms, mismo que se deberá proporcionar en el siguiente paso junto con el nip de la tarjeta correspondiente.
Parámetro | Decripción |
---|---|
Nip | Nip de la tarjeta que deseas ligar. |
Token | Token sms enviado en el primer paso. |
Ligado de cuentas en sandbox
Formulario de confirmación alta de cuentas BanRegio
En el modo sandbox podrás ligar tarjetas ficticias con movimeintos autogenerados, mismas que podrás consultar en los recursos del APIBanRegio en modo sandbox.
Sandbox
https://sandbox.banregio.com/me/account/add/
Si los 4 digitos de tarjeta que proprociones es par se generará una tarjeta de credito, el caso impar arrojará una tarjeta de débito.
También podrás ver los posibles errores de vinculación y bloqueeos de tarjeta usando un nip par o que termina con el número 3.
En otras palabras, para tener un ligado exitoso debes elegir un nip impar distinto de 3. Por último, en el modo sendbox el campo de token sms no será enviado al usuario y se llenará autómaticamente.
Cabecera de Autorización
Cabecera de autorización
curl "https://api.banregio.com/v1/<<recurso>>"
-H "Authorization: Bearer {{access_token}}"
-H "Accept: application/json"
Todas las peticiones a los recursos del APIBanRegio deberán ir acompañadas con las siguientes cabeceras de autorización:
Parámetro | Descripción |
---|---|
Authorization | Usado para autenticar al usuario que desea consumir el recurso del APIBanRegio. |
Accept | Especifica el tipo de respuesta aceptada para la petición, su valor debe ser “aplication/json”. |
Ejemplo |
---|
Accept: aplication/json |
Authorization: Bearer lPqGaJCN3KjRwvsHXxywTuqTzuf6QW |
Listado de cuentas ligadas.
Codigo de ejemplo para el listado de cuentas
GET /v1/accounts/ HTTP/1.1
Accept: application/json
Authorization: Bearer {{access_token}}
// Solicitud para obtener token
BanRegioTokenHelper tokenHelper;
tokenHelper= new BanRegioTokenHelper(baseUri,
BanRegioTokenHelper.TokenGrantType.ClientCredentials,
clientId,
clientSecret);
// Obtencion del token
String token = tokenHelper.fetchToken();
// Se instancia el manejador del API
BanRegioApiHelper apiHelper = new BanRegioApiHelper(baseUri,
BanRegioApiHelper.ApiEnvironment.Sandbox,
token);
// Consultar el listado de cuentas
apiHelper.listAccounts();
<?php
// Solicitud para obtener token
$tokenHelper = new BanRegioTokenHelper($baseUri, "",
$clientId, $redirectUri, $clientSecret);
// Obtencion del token
$token = $tokenHelper->fetchTokenWithClientCredentials();
// Se instancia el manejador del API
apiHelper = new BanRegioApiHelper($baseUri, $token, $tokenHelper->getProvider());
// Consultar el listado de cuentas
$apiHelper->listAccounts()
?>
// Solicitud de Tokengithub
var tokenHelper = new BanRegioTokenHelper(new Uri(baseUri),
BanRegioTokenHelper.GrantType.AuthorizationCode,
clientId,
new Uri(redirectUri),
clientSecret);
// Obtencion del token
var token = tokenHelper.FetchToken(code);
// Se instancia el manejador del API
var apiHelper = new BanRegioApiHelper(new Uri(baseUri), BanRegioApiHelper.ApiEnvironment.Sandbox, token);
// Consultar el listado de cuentas
apiHelper.ListAccounts();
from banregioapi.banregio_token_helper import BanregioTokenHelper
from banregioapi.banregio_api_helper import BanregioApiHelper
api = BanregioTokenHelper(
client_id,
secret_key,
redirect_uri,
)
# get your access token via grant type client credentials
access_token = api.get_access_token_with_client_credentials()
client = BanregioApiHelper(access_token=access_token)
# get all accounts
client.get_accounts()
JSON-salida(ejemplo)
{
"accounts": [
{
"id": 1,
"details": null,
"is_credit_card": false,
"card_number": "************4884",
"account_number": "********0015",
"balance": "24443.48"
},
{
"id": 7,
"details": {
"non_interest_payment": "9293.10",
"due_date": "2016-09-15T00:00:00",
"last_closing_date": "2016-01-25T00:00:00",
"minimum_payment": "490.00",
"annual_percentage_rate": "0.1170",
"limit": "15000.00",
"closing_date": "2016-08-25T00:00:00",
"statement_balance": "9293.10"
},
"is_credit_card": true,
"card_number": "************4251",
"account_number": "********0603",
"balance": "9293.10"
}
]
}
En este recurso podrás consultar la lista de cuentas ligadas al usuario propietario del token de acceso. En caso de haber obtenido el token mediante el uso de credenciales de banca electrónica podrás consultar las cuentas asociadas al usuario de banca electrónica.
La dirección para consulta de cuentas es la siguiente:
El resultado es una lista de objetos, envueltos en un objeto con atributo “accounts”.
Parámetros de salida para un objeto “account”
Parámetro | Descripción |
---|---|
id (Integer) | Identificador de la cuenta ligada. |
is_credit_card (Boolean) | Booleano para indicar si es tarjeta de crédito ó de débito. |
balance (String) | Saldo de la cuenta ligada. |
card_number (String) | Número de la tarjeta perteneciente a la cuenta ligada. |
account_number (String) | Número de cuenta BanRegio. |
details (json o null) | Detalles del estado de una tarjeta de crédito (cuando aplica). |
Parámetros del detalle (details) de una tarjeta de crédito.
Parámetro | Descripción |
---|---|
closing_date (String) | Fecha de terminación del periodo (corte). |
non_interest_payment (String) | Pago para no generar intereses. |
statement_balance | Saldo al corte. |
minimum_payment | Pago mínimo. |
limit | Cantidad límite de crédito. |
due_date | Fecha límite para realizar el pago mínimo. |
last_closing_date | Fecha de corte anterior. |
annual_percentage_rate | Tasa anual porcentual. |
Detalle y desligado de una cuenta.
Codigo de ejemplo - Desligado de cuenta
GET /v1/accounts/{{id}} HTTP/1.1
Accept: application/json
Authorization: Bearer {{access_token}}
// Solicitud para obtener token
BanRegioTokenHelper tokenHelper;
tokenHelper= new BanRegioTokenHelper(baseUri,
BanRegioTokenHelper.TokenGrantType.ClientCredentials,
clientId,
clientSecret);
// Obtencion del token
String token = tokenHelper.fetchToken();
// Se instancia el manejador del API
BanRegioApiHelper apiHelper = new BanRegioApiHelper(baseUri,
BanRegioApiHelper.ApiEnvironment.Sandbox,
token);
int id = 1
// Consultar el listado de cuentas
apiHelper.unlinkAccount(id);
JSON-salida(ejemplo con crédito):
{
"account":
{
"id":64,
"details":
{
"closing_date": "2016-08-25T00:00:00",
"non_interest_payment": "9293.10",
"statement_balance": "9293.10",
"minimum_payment": "490.00",
"limit": "15000.00",
"due_date": "2016-09-15T00:00:00",
"last_closing_date": "2016-01-25T00:00:00",
"annual_percentage_rate": "11.7"
}
"is_credit_card":true,
"balance":"8066.63",
"card_number":"************7154",
"account_number":"********0537"
}
}
Podrás consultar la información de una cuenta en particular con ayuda de su idemtificador (id). Sólo debes hacer una petición (GET) a la siguiente dirección
La respuesta consitirá de un objeto json con un atributo “account”, el cual será otro objeto json con la información descrita anteriormente (Listado de cuentas ligadas)
Para deligar una cuenta con identificador {{id}} deberás hacer una petición a la misma dirección pero con el método DELETE:
Recibirás una repuesta vacia en este caso. Nótese que esta acción sólo desacopla el usuario del APIBanRegio con la cuenta BanRegio.
Listado de Movimientos
Codigo de ejemplo
GET /v1/accounts/{{id}}/transactions/ HTTP/1.1
Accept: application/json
Authorization: Bearer {{access_token}}
// Solicitud para obtener token
BanRegioTokenHelper tokenHelper;
tokenHelper= new BanRegioTokenHelper(baseUri,
BanRegioTokenHelper.TokenGrantType.ClientCredentials,
clientId,
clientSecret);
// Obtencion del token
String token = tokenHelper.fetchToken();
// Se instancia el manejador del API
BanRegioApiHelper apiHelper = new BanRegioApiHelper(baseUri,
BanRegioApiHelper.ApiEnvironment.Sandbox,
token);
int accountId = 1
// Consultar el listado de transacciones de una cuenta en especifico
apiHelper.listTransactions(accountId);
<?php
// Solicitud para obtener token
$tokenHelper = new BanRegioTokenHelper($baseUri, "",
$clientId, $redirectUri, $clientSecret);
// Obtencion del token
$token = $tokenHelper->fetchTokenWithClientCredentials();
// Se instancia el manejador del API
apiHelper = new BanRegioApiHelper($baseUri, $token, $tokenHelper->getProvider());
$accountId = 1
// Consultar el listado de transacciones de una cuenta en especifico
$apiHelper->listTransactions($accountId)
?>
// Solicitud de Tokengithub
var tokenHelper = new BanRegioTokenHelper(new Uri(baseUri),
BanRegioTokenHelper.GrantType.ClientCredentials,
clientId,
new Uri(redirectUri),
clientSecret);
// Obtencion del token
var token = tokenHelper.FetchToken();
// Se instancia el manejador del API
var apiHelper = new BanRegioApiHelper(new Uri(baseUri), BanRegioApiHelper.ApiEnvironment.Sandbox, token);
var accountId = 1
// Consultar el listado de transacciones de una cuenta en especifico
apiHelper.ListTransactions(accountId);
from banregioapi.banregio_token_helper import BanregioTokenHelper
from banregioapi.banregio_api_helper import BanregioApiHelper
api = BanregioTokenHelper(
client_id,
secret_key,
redirect_uri,
)
# get your access token via grant type client credentials
access_token = api.get_access_token_with_client_credentials()
client = BanregioApiHelper(access_token=access_token)
# get transactions by id
client.get_transactions(277)
Respuestas Json
{
"transactions": [
{
"transaction_number": "1013872606",
"reference_number": "4741740602854884-904553",
"description": "PBC 111109PY5 PICNAHA BRASILEIRA",
"amount": "-216.00",
"status": "A",
"date": "2016-07-20",
"business": {
"name": "PICNAHA BRASILEIRA",
"activity": {
"name": "Restaurante"
}
},
"details": {
"category": "Ventanilla",
"product": "Tarjeta Platino",
"product_type": "1",
"service": "",
"brand": "Platino",
"atm": "Si",
"activity": "Gasolineras",
"bank": "Banregio"
}
},
{
"transaction_number": "1013301391",
"reference_number": "4741740602854884-854527",
"description": "CCO 8605231N4 OXXO BRISAS I",
"amount": "-104.00",
"status": "A",
"date": "2016-07-18",
"business": {
"name": "OXXO BRISAS I",
"activity": {
"name": "Retail"
}
},
"details": {
"category": "Ventanilla",
"product": "Tarjeta Platino",
"product_type": "1",
"service": "",
"brand": "Platino",
"atm": "Si",
"activity": "Gasolineras",
"bank": "Banregio"
}
},
{
"transaction_number": "1012150465",
"reference_number": "4741740602854884-726799",
"description": "CSI 020226MV4 STARBUCKS PZA SIENNA",
"amount": "-189.00",
"status": "A",
"date": "2016-07-15",
"business": {
"name": "STARBUCKS PZA SIENNA",
"activity": {
"name": "Comida Rapida"
}
},
"details": {
"category": "Ventanilla",
"product": "Tarjeta Platino",
"product_type": "1",
"service": "",
"brand": "Platino",
"atm": "Si",
"activity": "Gasolineras",
"bank": "Banregio"
}
},
{
"transaction_number": "5044581951",
"reference_number": "4741740602854884",
"description": "AAAAAAAA",
"amount": "-1000.00",
"status": "A",
"date": "2016-07-08",
"business": {
"name": "",
"activity": {
"name": "Efectivo"
}
},
"details": {
"category": "Ventanilla",
"product": "Tarjeta Platino",
"product_type": "1",
"service": "",
"brand": "Platino",
"atm": "Si",
"activity": "Gasolineras",
"bank": "Banregio"
}
},
{
"transaction_number": "1007420775",
"reference_number": "0000008931",
"description": "AAAAAAAA",
"amount": "9213.44",
"status": "A",
"date": "2016-07-08",
"business": {
"name": "",
"activity": {
"name": "Movimiento"
}
},
"details": {
"category": "Ventanilla",
"product": "Tarjeta Platino",
"product_type": "1",
"service": "",
"brand": "Platino",
"atm": "Si",
"activity": "Gasolineras",
"bank": "Banregio"
}
},
{
"transaction_number": "1017649418",
"reference_number": "74524226209001674681838",
"description": "REST SIRLOIN STOCKADE",
"amount": "-388.00",
"status": "A",
"date": "2016-07-27",
"business": {
"name": "REST SIRLOIN STOCKADE SN PEDRO",
"activity": {
"name": "Comida Rapida"
}
},
"details": {
"category": "Cuenta",
"product": "Tarjeta Platino",
"product_type": "1",
"service": "",
"brand": "Platino",
"atm": "Si",
"activity": "Gasolineras",
"bank": "Banregio"
}
},
]
}
Los movimientos de una cuenta ligada pueden ser consultados en la siguiente dirección:
El parámetro {{id}} corresponde al id interno de la cuenta ligada, mismo que puede ser obtenido en los objetos arrojados por el Listado de cuentas
Puedes realizar consultas filtradas por fechas usando los parámetros min_date y max_date en la url de la petición. El formato en que debes mandar tales parámetros es AAAA-MM-DD (año-mes-día).
Parámetros Query
Parámetro | Descripción |
---|---|
min_date (String) | Fecha para indicar la fecha mínima de los movimientos que se desean consultar. |
max_date (String) | Fecha para indicar la fecha máxima de los movimientos que se desean consultar. |
Ejemplo |
---|
https://api.banregio.com/v1/accounts/1/transactions/?min_date=2016-03-08&max_date=2016-04-08 |
La respuesta es en formato json y contiene un objeto con un atributo llamado transactions, el cual contiene una lista de objetos con los siguientes parámetros
Parámetro | Descripción |
---|---|
transaction_number (string) | Identificador de movimiento. |
reference_number (string) | Numero de referencia. |
description (string) | Información general del movimiento, ejemplo: banco origen, nombre del negocio, etc. |
amount (string) | Monto del movimeinto (negativo para cargos y positivos para abonos). |
status (string) | Estatus del movimiento, puede ser aplicado (A) o bloqueado (B). |
date (string) | Fecha de la transacción |
business (json) | Objeto que contiene la descrpipción del negocio del cambio. |
El objeto business contiene los siguientes parámetros
Parámetro | Descripción |
---|---|
name (string) | Nombre del comrecio asociado al cargo. |
activity (json) | Objeto que contiene el tipo de actividad realizada por el comercio. |
El objeto activity contiene el siguiente parámetro
Parámetro | Descripción |
---|---|
name (string) | Clasificación o giro del comercio. |
Consulta Empresarial
Codigo de ejemplo
GET /v1/accounts/{{id}}/enterprisetransactions/ HTTP/1.1
Accept: application/json
Authorization: Bearer {{access_token}}
Respuestas Json
{
"etransactions": [
{
"system_date": "2017-01-11T10:28:00.000",
"description": "AAAAAAAA",
"reference": "1103654166",
"amount": "133000.0000",
"transaction_type": "DEP",
"bank_reference": "",
"transaction_number": "1103654166",
"personal_reference": "",
"transaction_type_description": "Deposito en firme por ventanilla",
"date": "2017-01-11",
"business_name": "",
"business_activity": "",
"type": "2",
"external_reference": ""
},
{
"system_date": "2017-01-19T12:50:00.000",
"description": "AAAAAAAA",
"reference": "1107970751",
"amount": "76962.7500",
"transaction_type": "DEP",
"bank_reference": "",
"transaction_number": "1107970751",
"personal_reference": "",
"transaction_type_description": "Deposito en firme por ventanilla",
"date": "2017-01-19",
"business_name": "",
"business_activity": "",
"type": "2",
"external_reference": ""
},
{
"system_date": "2017-01-19T13:04:00.000",
"description": "AAAAAAAA",
"reference": "0000432-rfc",
"amount": "70000.0000",
"transaction_type": "ACH",
"bank_reference": "",
"transaction_number": "1107985389",
"personal_reference": "",
"transaction_type_description": "Cheques cobrados por ventanilla",
"date": "2017-01-19",
"business_name": "",
"business_activity": "",
"type": "1",
"external_reference": ""
},
{
"system_date": "2017-01-24T03:17:00.000",
"description": "AAAAAAAA",
"reference": "0000433-rfc",
"amount": "8000.0000",
"transaction_type": "CAA",
"bank_reference": "",
"transaction_number": "1109906338",
"personal_reference": "",
"transaction_type_description": "Cheques cobrados por camara de compensacion",
"date": "2017-01-24",
"business_name": "",
"business_activity": "",
"type": "1",
"external_reference": ""
},
{
"system_date": "2017-01-24T10:55:00.000",
"description": "AAAAAAAA",
"reference": "1110037707",
"amount": "3711130.0000",
"transaction_type": "DEP",
"bank_reference": "",
"transaction_number": "1110037707",
"personal_reference": "",
"transaction_type_description": "Deposito en firme por ventanilla",
"date": "2017-01-24",
"business_name": "",
"business_activity": "",
"type": "2",
"external_reference": ""
}
]
}
Respuestas Json - Utilizando el parametro query_type
{
"etransactions": [
{
"description": "Depósito en firme",
"counter_reference": "1103654166",
"amount": "133000.0000",
"transaction_number": "1103654166",
"counter_personal_reference": "RFC: IK |AAA",
"date": "2017-01-11T00:00:00.000",
"check_number": "0000000005491",
"counter_bank_reference": ""
},
{
"description": "Depósito en firme",
"counter_reference": "1107970751",
"amount": "76962.7500",
"transaction_number": "1107970751",
"counter_personal_reference": "RFC: IK |AAA",
"date": "2017-01-19T00:00:00.000",
"check_number": "0000000005543",
"counter_bank_reference": ""
},
{
"description": "Cheque BANREGIO en PESOS",
"counter_reference": "1237511180589",
"amount": "70000.0000",
"transaction_number": "1107985389",
"counter_personal_reference": "RFC: UE |AAA",
"date": "2017-01-19T00:00:00.000",
"check_number": "0000000000432",
"counter_bank_reference": ""
},
{
"description": "Depósito en firme",
"counter_reference": "1110037707",
"amount": "3711130.0000",
"transaction_number": "1110037707",
"counter_personal_reference": "RFC: P |AAA",
"date": "2017-01-24T00:00:00.000",
"check_number": "0000000002911",
"counter_bank_reference": ""
}
]
}
Permite consultar los saldos y movimientos de una cuenta empresarial que tiene banca electrónica y puede ser consultada en la siguiente dirección:
El parámetro {{id}} corresponde al id interno de la cuenta ligada, mismo que puede ser obtenido en los objetos arrojados por el Listado de cuentas
Puedes realizar consultas filtradas por fechas usando los parámetros min_date y max_date en la url de la petición. El formato en que debes mandar tales parámetros es AAAA-MM-DD (año-mes-día).
Parámetros Query
Parámetro | Descripción |
---|---|
min_date (String) | Fecha para indicar la fecha mínima de los movimientos que se desean consultar. |
max_date (String) | Fecha para indicar la fecha máxima de los movimientos que se desean consultar. |
query_type (String) | Pasar el valor “counter” para regresar las operaciones realizadas en ventanilla. |
Ejemplo |
---|
https://api.banregio.com/v1/accounts/1/enterprisetransactions/?min_date=2016-03-08&max_date=2016-04-08&query_type=counter |
La respuesta es en formato json y contiene un objeto con un atributo llamado etransactions, el cual contiene una lista de objetos con los siguientes parámetros(para esta respuesta no se utilizó el parametro query_type)
Parámetro | Descripción |
---|---|
transaction_number (string) | Identificador de movimiento. |
type (number) | Naturaleza de Movimiento (1-Cargo, 2-Abono) |
date (date) | Fecha en que el movimiento se hace válido. |
reference_number (string) | Numero de referencia. |
external reference (string) | Clave de rastreo. |
description (string) | Información general del movimiento, ejemplo: banco origen, nombre del negocio, etc. |
bank_reference (string) | Informacion del banco, ejmplo: cuenta del ordenante, nombre del banco, etc. |
personal_reference (string) | Información personal, ejemplo: RFC, nombre, etc. |
transaction_type (string) | Transacción que genero el movimiento. |
exclude (string) | Tipo de movimiento. |
businees_activity (string) | Giro del comercio. |
businees_name (string) | Nombre del comercio. |
system_date (date) | Fecha del sistema. |
amount (number) | Monto del movimiento. |
Al pasar el paramentro query_type la respuesta seria la siguiente de igual manera en formato json
Parámetro | Descripción |
---|---|
transaction_number (string) | Identificador de movimiento. |
type (number) | Naturaleza de Movimiento (1-Cargo, 2-Abono) |
date (date) | Fecha en que el movimiento se hace válido. |
account_number (string) | Numero de cuenta bancaria. |
check_number (string) | Numero de cheque. |
amount (number) | Monto del movimiento en ventanilla. |
description (string) | Información general del movimiento, ejemplo: banco origen, nombre del negocio, etc. |
counter_reference (string) | Referencia del movimiento en ventanilla. |
counter_bank_reference (string) | Nombre del banco. |
counter_personal_reference (string) | Datos de la persona que hace el movimiento. |
Acceso a producción
Pantalla de detalle de aplicación y formularios de acceso a producción
Para acceder a producción deberás ir a la página de listado de tus aplicaciones
https://api.banregio.com/oauth/applications/
y dar click a la aplicación que desees para acceder a su detalle:
https://api.banregio.com/oauth/applications/{{app_id}}/
Ahí encontrarás dos opciones para solicitar tu acceso a producción:
En la primera se te presentará un formulario donde tendrás que proporcionar un número de cliente BanRegio. Los datos de tu perfil en el portal APIBanRegio deben coincidir con los datos registrados de tu cliente BanRegio.
En la segunda tendrás que presentar tus credenciales de Banca Electrónica BanRegio.
Errores
El APIBanregio usa las siguientes excepciones:
Código | Significado |
---|---|
400 | Bad Request - Petición mal formada |
401 | Unauthorized - Sin autorización |
403 | Forbidden - Acceso prohibido |
404 | Not Found - Recurso no encontrado |
405 | Method Not Allowed - Método no permitido |
500 | Internal Server Error - Error en el servidor |
503 | Service Unavailable - Servicio no disponible |