NAV
http .Net PHP Java python

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:

  1. REST APIs Vínculo a Tutorial Sugerido
  2. JSON Vínculo a Tutorial Interactivo
  3. 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.

  1. curl
  2. Postman para Chrome
  3. HttpRequester para Firefox
  4. Fiddler para Windows
  5. 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:

  1. Usuario de APIBanRegio
  2. 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:

  1. 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.

  2. 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