BCI - Pymes (v1.0)

Download OpenAPI description
Overview
Languages
Servers
Production

https://api.khipu.com/

Account Link

Request

This method connects to the user's account in BCI-Empresarios and returns a token linked to that account that can be used in further operations, avoiding the need to send your credentials in plain text when calling the banking services.

Security
JWT or Api-Key
Bodyapplication/jsonRequerido
Usernamestring[ 1 .. 12 ] charactersrequerido

User identification with access to the bank's account (RUN, DNI).

Ejemplo: "11.111.111-1"
Passwordstring[ 1 .. 24 ] charactersrequerido

Account password for the website.

Ejemplo: "wxyz1234!@#$"
curl -i -X POST \
  https://api.khipu.com/v1/cl/banking/entrepreneur/bci.cl/token \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Username": "11.111.111-1",
    "Password": "wxyz1234!@#$"
  }'

Responses

Successful operation. Returns a JSON object with the token for the account in the Data field.

Bodyapplication/json
OperationIdstring<= 36 charactersrequerido

Unique identifier of the operation.

Ejemplo: "6baf6c19-e485-463b-ae24-a821b025c8a4"
Statusstringrequerido

Operation status, "OK" meaning that the credentials were correct and the account link was generated.

Value"OK"
Ejemplo: "OK"
Dataobject or nullrequerido

If the authentication challenge was successful, it includes the link for the account.

AccountLinkstringrequerido

Token generated to access the bank account.

Ejemplo: "dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB=="
AdditionalInformationstring or nullrequerido

This field can be used to display relevant information specific to the response, for instance indicating that the Data field is incomplete.

Ejemplo: null
Errorobject or nullrequerido

Object with the error details, used when Status=ERROR. If Status=OK this field will be null. You can read a complete explanation of this object visiting this link

Ejemplo: null
Codestring

Internal system code that identifies the error.

Ejemplo: "E201"
Typestring

Indicates how to treat this specific error code, based on the type of error.

Enum"RETRY_IMMEDIATELY""DO_NOT_RETRY""WAIT_4_HOURS_BEFORE_RETRY""RETRY_AFTER_NOTIFICATION"
Ejemplo: "RETRY_IMMEDIATELY"
Descriptionstring

Description associated with the error code.

Ejemplo: "El servicio destino utilizado para la extracción de datos no se encuentra disponible."
LifeSpanstring or nullrequerido

null in sync requests.

Ejemplo: null
Response
application/json
{ "OperationId": "6baf6c19-e485-463b-ae24-a821b025c8a4", "Status": "OK", "Data": { "AccountLink": "dFyRCVYNM0aGb1LSR/0B8e+eSVr1Zf1xj9YHmMVoiZWk28XtWEyIxEbGXnr1EdvS+QBPzjweau7tbf5QlDv97IQ2jwfUB==" }, "AdditionalInformation": null, "Error": null, "LifeSpan": null }

Pending Current Balances (ACY)

Request

This method connects to the user's specified account in BCI-Empresarios and returns the account's current balance (also known as "Saldo en la cartola provisoria").

Using the CallbackUrl field will trigger an asynchronous process and the resulting data will be sent later to the specified webhook. This is the preferred way to interact with our services, as it assures that all efforts will be made to extract the data to fulfill your request within a reasonable time frame. If you want the response immediately, skip the field CallbackUrl but bear in mind that it can result in timeouts depending on the data's result size and the network conditions.

Security
JWT or Api-Key
Bodyapplication/jsonRequerido
RequestDataobjectrequerido

Information needed to connect to the user's bank account and extract data. Mandatory fields indicates values that are necessary to identify the desired account.

AccountNumberstring<= 20 charactersrequerido

Bank account number.

Ejemplo: "000011887755"
Currencystring<= 3 characters^[A-Z]{3,3}$requerido

Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.

Ejemplo: "CLP"
AccountCredentialAccountLinkCredential (object) or AccountAuthCredential (object)Deprecado

Attention: The use of this field is mandatory when using Api Key authentication.

One of:
Deprecado

Attention: The use of this field is mandatory when using Api Key authentication.

CallbackUrlstring<= 255 characters

URL to send the response message using a POST verb.

Ejemplo: "https://my-api.my-business.com/api/open-data-response"
curl -i -X POST \
  https://api.khipu.com/v1/cl/banking/entrepreneur/bci.cl/pending/current/ACY/balances \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "RequestData": {
      "AccountNumber": "000011887755",
      "Currency": "CLP"
    }
  }'

Responses

Successful operation. Returns a JSON object with the pending current day balance for the specified account in the Data field.

Bodyapplication/json
OperationIdstring<= 36 charactersrequerido

Unique identifier of the operation.

Ejemplo: "6baf6c19-e485-463b-ae24-a821b025c8a4"
Statusstringrequerido

Operation status. OK means that the service was executed successfully even if it does not return Data. ERROR indicates that something happened that prevented the successful completion of the process.

Enum"OK""ERROR"
Ejemplo: "OK"
Dataobject or nullrequerido

Container for Balances. Can be an empty array.

BalanceArray of objects>= 0 items

Set of elements used to define the balance details.

AdditionalInformationstring or nullrequerido

This field can be used to display relevant information specific to the response, for instance indicating that the Data field is incomplete.

Ejemplo: null
Errorobject or nullrequerido

Object with the error details, used when Status=ERROR. If Status=OK this field will be null. You can read a complete explanation of this object visiting this link

Ejemplo: null
Codestring

Internal system code that identifies the error.

Ejemplo: "E201"
Typestring

Indicates how to treat this specific error code, based on the type of error.

Enum"RETRY_IMMEDIATELY""DO_NOT_RETRY""WAIT_4_HOURS_BEFORE_RETRY""RETRY_AFTER_NOTIFICATION"
Ejemplo: "RETRY_IMMEDIATELY"
Descriptionstring

Description associated with the error code.

Ejemplo: "El servicio destino utilizado para la extracción de datos no se encuentra disponible."
LifeSpanstring or nullrequerido

null in sync requests.

Ejemplo: null
Response
application/json
{ "OperationId": "6baf6c19-e485-463b-ae24-a821b025c8a4", "Status": "OK", "Data": { "Balance": [ { "AccountId": "873458", "CreditDebitIndicator": "Credit", "DateTime": "2017-07-21T17:32:28-0400", "Type": "ClosingAvailable", "Amount": [], "CreditLine": {} } ] }, "AdditionalInformation": null, "Error": null, "LifeSpan": null }

Booked Range Transactions (ACY)

Request

This method connects to the user's specified account in BCI-Empresarios and returns the booked transactions registered in the statements issued by the bank within the specified date range (also known as "Cartola histórica").

Using the CallbackUrl field will trigger an asynchronous process and the resulting data will be sent later to the specified webhook. This is the preferred way to interact with our services, as it assures that all efforts will be made to extract the data to fulfill your request within a reasonable time frame. If you want the response immediately, skip the field CallbackUrl but bear in mind that it can result in timeouts depending on the data's result size and the network conditions.

Security
JWT or Api-Key
Bodyapplication/jsonRequerido
RequestDataobjectrequerido

Information needed to connect to the user's bank account and extract data. Mandatory fields indicates values that are necessary to identify the desired account.

AccountNumberstring<= 20 charactersrequerido

Bank account number.

Ejemplo: "000011887755"
Currencystring<= 3 characters^[A-Z]{3,3}$requerido

Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.

Ejemplo: "CLP"
BookingDateStartstring^((19[7-9][0-9])|(20[0-1][0-9])|(202[0-3]))-(...requerido

Start date used for fetch the transactions, in ISO 8601 format (yyyy-mm)

Ejemplo: "2022-07"
BookingDateEndstring^((19[7-9][0-9])|(20[0-1][0-9])|(202[0-3]))-(...requerido

Start date used for fetch the transactions, in ISO 8601 format (yyyy-mm)

Ejemplo: "2022-07"
AccountCredentialAccountLinkCredential (object) or AccountAuthCredential (object)Deprecado

Attention: The use of this field is mandatory when using Api Key authentication.

One of:
Deprecado

Attention: The use of this field is mandatory when using Api Key authentication.

CallbackUrlstring<= 255 characters

URL to send the response message using a POST verb.

Ejemplo: "https://my-api.my-business.com/api/open-data-response"
curl -i -X POST \
  https://api.khipu.com/v1/cl/banking/entrepreneur/bci.cl/booked/range/ACY/transactions \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "RequestData": {
      "AccountNumber": "000011887755",
      "Currency": "CLP",
      "BookingDateStart": "2022-07",
      "BookingDateEnd": "2022-07"
    }
  }'

Responses

Successful operation. Returns a JSON object with the booked transactions for the specified account in a given date range.

Bodyapplication/json
OperationIdstring<= 36 charactersrequerido

Unique identifier of the operation.

Ejemplo: "6baf6c19-e485-463b-ae24-a821b025c8a4"
Statusstringrequerido

Operation status. OK means that the service was executed successfully even if it does not return Data. ERROR indicates that something happened that prevented the successful completion of the process.

Enum"OK""ERROR"
Ejemplo: "OK"
Dataobject or nullrequerido

Container for Transactions. Can be an empty array.

TransactionArray of objects>= 0 items

Provides further details on an entry in the report.

AdditionalInformationstring or nullrequerido

This field can be used to display relevant information specific to the response, for instance indicating that the Data field is incomplete.

Ejemplo: null
Errorobject or nullrequerido

Object with the error details, used when Status=ERROR. If Status=OK this field will be null. You can read a complete explanation of this object visiting this link

Ejemplo: null
Codestring

Internal system code that identifies the error.

Ejemplo: "E201"
Typestring

Indicates how to treat this specific error code, based on the type of error.

Enum"RETRY_IMMEDIATELY""DO_NOT_RETRY""WAIT_4_HOURS_BEFORE_RETRY""RETRY_AFTER_NOTIFICATION"
Ejemplo: "RETRY_IMMEDIATELY"
Descriptionstring

Description associated with the error code.

Ejemplo: "El servicio destino utilizado para la extracción de datos no se encuentra disponible."
LifeSpanstring or nullrequerido

null in sync requests.

Ejemplo: null
Response
application/json
{ "OperationId": "6baf6c19-e485-463b-ae24-a821b025c8a4", "Status": "OK", "Data": { "Transaction": [ { "AccountId": "873458", "AddressLine": "SUCURSAL SANTIAGO CENTRO", "BookingDateTime": "2017-07-22T00:00:00-0400", "CreditDebitIndicator": "Credit", "StatementReference": [], "Status": "Booked", "TransactionId": "c830d0c9a0904ea6badbaf8e25ff6e87", "TransactionInformation": "PAGO DE CUENTAS", "TransactionMutability": "Immutable", "TransactionReference": "09cce92d-494b-4f29-8584-6a0409a052c7", "ValueDateTime": "2017-07-21T17:32:28-0400", "Amount": {}, "Balance": {}, "BankTransactionCode": {}, "CardInstrument": {}, "ChargeAmount": {}, "CreditorAccount": {}, "CreditorAgent": {}, "CurrencyExchange": {}, "DebtorAccount": {}, "DebtorAgent": {}, "MerchantDetails": {}, "ProprietaryBankTransactionCode": {}, "SupplementaryData": [] } ] }, "AdditionalInformation": null, "Error": null, "LifeSpan": null }

Pending Current Transactions (ACY)

Request

This method connects to the user's specified account in BCI-Empresarios and returns the transactions with the limit being determined by the bank (also known as "Últimos movimientos").

Using the CallbackUrl field will trigger an asynchronous process and the resulting data will be sent later to the specified webhook. This is the preferred way to interact with our services, as it assures that all efforts will be made to extract the data to fulfill your request within a reasonable time frame. If you want the response immediately, skip the field CallbackUrl but bear in mind that it can result in timeouts depending on the data's result size and the network conditions.

Security
JWT or Api-Key
Bodyapplication/jsonRequerido
RequestDataobjectrequerido

Information needed to connect to the user's bank account and extract data. Mandatory fields indicates values that are necessary to identify the desired account.

AccountNumberstring<= 20 charactersrequerido

Bank account number.

Ejemplo: "000011887755"
Currencystring<= 3 characters^[A-Z]{3,3}$requerido

Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.

Ejemplo: "CLP"
AccountCredentialAccountLinkCredential (object) or AccountAuthCredential (object)Deprecado

Attention: The use of this field is mandatory when using Api Key authentication.

One of:
Deprecado

Attention: The use of this field is mandatory when using Api Key authentication.

CallbackUrlstring<= 255 characters

URL to send the response message using a POST verb.

Ejemplo: "https://my-api.my-business.com/api/open-data-response"
curl -i -X POST \
  https://api.khipu.com/v1/cl/banking/entrepreneur/bci.cl/pending/current/ACY/transactions \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "RequestData": {
      "AccountNumber": "000011887755",
      "Currency": "CLP"
    }
  }'

Responses

Successful operation. Returns a JSON object with the transactions for the specified account in the Data field.

Bodyapplication/json
OperationIdstring<= 36 charactersrequerido

Unique identifier of the operation.

Ejemplo: "6baf6c19-e485-463b-ae24-a821b025c8a4"
Statusstringrequerido

Operation status. OK means that the service was executed successfully even if it does not return Data. ERROR indicates that something happened that prevented the successful completion of the process.

Enum"OK""ERROR"
Ejemplo: "OK"
Dataobject or nullrequerido

Container for Transactions. Can be an empty array.

TransactionArray of objects>= 0 items

Provides further details on an entry in the report.

AdditionalInformationstring or nullrequerido

This field can be used to display relevant information specific to the response, for instance indicating that the Data field is incomplete.

Ejemplo: null
Errorobject or nullrequerido

Object with the error details, used when Status=ERROR. If Status=OK this field will be null. You can read a complete explanation of this object visiting this link

Ejemplo: null
Codestring

Internal system code that identifies the error.

Ejemplo: "E201"
Typestring

Indicates how to treat this specific error code, based on the type of error.

Enum"RETRY_IMMEDIATELY""DO_NOT_RETRY""WAIT_4_HOURS_BEFORE_RETRY""RETRY_AFTER_NOTIFICATION"
Ejemplo: "RETRY_IMMEDIATELY"
Descriptionstring

Description associated with the error code.

Ejemplo: "El servicio destino utilizado para la extracción de datos no se encuentra disponible."
LifeSpanstring or nullrequerido

null in sync requests.

Ejemplo: null
Response
application/json
{ "OperationId": "6baf6c19-e485-463b-ae24-a821b025c8a4", "Status": "OK", "Data": { "Transaction": [ { "AccountId": "873458", "AddressLine": "SUCURSAL SANTIAGO CENTRO", "BookingDateTime": "2017-07-22T00:00:00-0400", "CreditDebitIndicator": "Credit", "StatementReference": [], "Status": "Booked", "TransactionId": "c830d0c9a0904ea6badbaf8e25ff6e87", "TransactionInformation": "PAGO DE CUENTAS", "TransactionMutability": "Immutable", "TransactionReference": "09cce92d-494b-4f29-8584-6a0409a052c7", "ValueDateTime": "2017-07-21T17:32:28-0400", "Amount": {}, "Balance": {}, "BankTransactionCode": {}, "CardInstrument": {}, "ChargeAmount": {}, "CreditorAccount": {}, "CreditorAgent": {}, "CurrencyExchange": {}, "DebtorAccount": {}, "DebtorAgent": {}, "MerchantDetails": {}, "ProprietaryBankTransactionCode": {}, "SupplementaryData": [] } ] }, "AdditionalInformation": null, "Error": null, "LifeSpan": null }