Introdução

Todas as APIs do Original Developers foram desenvolvidas baseadas na tecnologia REST, seguindo os atuais padrões técnicos de mercado. Tudo isso para que a experiência na hora da integração seja a mais fácil possível. Todas as URLs são amigáveis e orientadas a recursos, e utilizam os padrões do protocolo HTTP como autenticação, verbos e códigos de retorno. Isso permite que APIs possam ser utilizadas por clientes HTTP já existentes. Todas as respostas são retornadas no formato JSON.


Como pode ser visto abaixo, as APIs foram cuidadosamente trabalhadas para que os termos de negócios contidos sejam facilmente entendidos por desenvolvedores que não tenham conhecimento prévio do sistema bancário. Elas foram meticulosamente estudadas para que um nome de campo em um endpoint tenha rigorosamente o mesmo significado em outros recursos.

Connect

Para interagir com as APIs você utilizará o mecanismo de autenticação Original Connect, nosso OAuth2. Ele disponibiliza a única forma segura e aprovada pelos padrões de segurança do Banco Original para que aplicações de terceiros acessem os recursos das APIs.

O OAuth2 é um framework de autenticação e autorização comumente usado em APIs RESTful. Ele permite que uma aplicação desenvolvida por terceiros obtenha recursos limitados a um serviço HTTP, agindo em nome do dono do recurso ou em seu próprio nome, desde que a aplicação tenha acesso autorizado aos servidores onde o recurso está, e siga os passos de autenticação como descrito pelo OAuth2.

Termos de uso Original Connect.

Passo a passo

1. Redirecionamento do cliente para o login

Para iniciar o processo de connect do cliente, você deverá redirecionar o cliente para a URL do Original Connect informando os seguintes parâmetros:

NomeDescrição
scopesThis parameter tells which resources the application wants to have access. One scope can be a group of any resources from the same API or one only resource from an API. Check the full explanation at the Scopes menu item.

We suggest you start using the scopes: account: for all resources available in the Accounts API; investment: for all resources available in the Investments API; and transfer: for all available resources in the Payments API.
callback_urlThis is the URL to which you want to point the data sent by OAuth2.
callback_idYou can use this optional field to link a callback with your own id, we will send it back after a login be successful.
developer_keyThis is the access key to Sandbox. It is available in the Dashboard Developer to all users with login and password on the Original Devs website.

Os escopos podem ser consultados na seção de escopos no menu. O parâmetro callback_url é o seu servidor que receberá a chave de acesso às APIs. O parâmetro callback_id é opcional e serve para atrelar o retorno do access_token com um id interno seu. 

Um exemplo de chamada seria

https://sb-autenticacao-api.original.com.br/OriginalConnect?scopes=account&callback_url=http://meuservidor.com/myapp&callback_id=1&developer_key=123

2. Após o login do cliente

Após o preenchimento do login e senha do cliente em nossa página você receberá dois parâmetros através da sua URL de callback. São eles: uid e auth_code, veja abaixo um exemplo do retorno

http://meuservidor.com/myapp?auth_code=111111&uid=1

3. Obtendo um access_token

O recebimento do auth_code no passo anterior, significa que o cliente autorizou sua aplicação a utilizar os recursos solicitados e agora você pode obter um access_token.

O último passo, realizar uma chamada POST com payload no formato json para:

https://sb-autenticacao-api.original.com.br/OriginalConnect/AccessTokenController

Com o seguinte payload:

{"uid": "", "auth_code": "", "developer_key": "", "secret_key": ""}

O retorna será um json contendo o atributo access_token, essa é sua chave de Authorization para consumo das APIs.

ParâmetroDescrição
access_tokenAccess token generated by OAuth2.

4. O último passo é a chamada à API, lembre-se que em toda chamada você deverá informar dois parâmetros obrigatórios:

ParâmetroDescrição
developer-keyIt must be given in the request header.
AuthorizationThis parameter must be given in the request header.

Escopos

Escopos (Scopes)

Os escopos informam os recursos que uma aplicação deseja acessar. Eles devem ser informados no processo do OAuth. Um escopo pode ser um grupo de todos os recursos da mesma API ou apenas um recurso de uma API. 

Para enviar uma aplicação para Review do Banco Original é necessário informar os escopos utilizados na aplicação através do Dashboard Developer, acessível apenas a usuários com login e senha.

Escopos disponíveis em sandbox:

API: Accounts

Escopo: account 
permite acesso aos dados de balance; balance-history e transaction-history


API: Investments 

Escopo: investment
permite acesso aos dados de portfolio-summary; funds-transaction-history; fixed-income-transaction-history


API: Payments 

Escopo: transfer
permite realizar transferências entre contas do banco Original

Erros padrões

Há dois padrões de respostas de erro.

O primeiro padrão trata erros voltados ao recurso, como por exemplo: conta inválida, saldo insuficiente, token inválido...

{
   "message": "Account not found", 
    "errors":  [        
         {              
	"code": "7006",            
	"message": "Account not found"        
	  }    
    ] 
}

O segundo padrão trata erros não funcionais, como por exemplo: chave de developer inválida, requisição não autorizada, erro ao processar soliticação no servidor...

{
"statusCode": 403, 
"error": "Forbidden",
"message": "Application key is not allowed to call this resource method"
}

Em ambos os casos o HTTP Header responde com código de erro apropriado, como por exemplo 401 para uma requisição não autorizada.

CódigoMensagem
2000Não foi possível validar seu token
2001Token Inativo
2002Token Bloqueado
2003Token Inválido
2004Usuário não possui token
6000Código genérico para erros de campos que não podem ser mapeados em tempo de execução
6001Campo obrigatório não preenchido
6002Tipo de dado inválido (ex: preencher uma campo com números quando se esperava texto)
6003Formato da data informada é inválido
6004código do token obrigatório não preenchido
7000Código genérico para erros de negócio que não podem ser mapeados em tempo de execução
7001Saldo Insuficiente
7002Transação não permitida
7003Horário não permitido para essa operação
7004Pagamento não pode ser efetuado
7005Dados informados incorretos
7007He has no record of generated balance to date
8000erro desconhecido
Exemplo de response
{
   "message": "System unavailable",
   "errors": [
      {
         "code": 9000,
         "message": "System unavailable"
      }
   ]
}

Cartões

A API de Cartões permite o acesso aos dados do cartão de crédito, como: Lista de cartões físicos, Detalhes do cartão, Fatura aberta, Fatura fechada e Histórico de faturas.

_________________

The Card API allows access to credit card data, such as: card list, card details, open invoice, closed invoice and invoice history.

Lista de cartões físicos
Physical card list

O recurso Lista de cartões físicos permite listar os cartões de crédito que o cliente possui. Afim de manter o sigilo dos dados do cliente, os cartões listados apresentarão apenas os 4 últimos dígitos ao invés do número completo. 

_________________

The resource Physical card list allows you to list all customer's cards. To maintain our customer secrecy, only the four last numbers will be displayed instead of the whole card number.

Resource
GET /cards/v1/

Parâmetros de saída

Nome Descrição
number string This is the last four digits of the credit card number.
type string The type that the credit card belongs to. Examples of possible values: Mastercard Black, Mastercard Gold.
holder_name string The name of customer whose this credit card belongs to.
[
    {
        "number": 1001,
        "type": "Mastercard Black",
        "holder_name": "JOHN SMITH"
    },
    {
        "number": 2002,
        "type": "Mastercard Black",
        "holder_name": "ANA SMITH"
    }
]

Detalhe do cartão
Card detail

O recurso Detalhe do cartão fornece informações específicas de um cartão de crédito. É possível ver o limite do cartão, dia de pagamento da fatura, o total de crédito consumidos, dentre outras informações. 

_________________

The resource Card detail allows you to see specific information of a credit card. Here you can see credit limit, invoice payment day, total of spends and other informations.

Resource
GET /cards/v1/{card_number}

Parâmetros de saída

Nome Descrição
number string This is the last four digits of the credit card number.
expire_year string The expiration year of the credit card. Format YYYY
expire_month string The expiration month of the credit card. Format MM
holder_name string The name of customer whose this credit card belongs to.
type string The type that the credit card belongs to. Examples of possible values: Mastercard Black, Mastercard Gold.
direct_debit boolean Indicates if the credit card is in direct debit.
purchase_limit number Provides the total limit that the credit card has for purchases.
available_limit number Provides the available credit card limit has for purchases.
spent number Provides the amount used of the credit card total limit.
payment_day string This is the credit card invoice due day.
{
    "number": 1001,
    "expire_year": 2024,
    "expire_month": 04,
    "holder_name": "JOHN SMITH",
    "type": "Mastercard Black",
    "direct_debit": false,
    "purchase_limit": 0,
    "available_limit": 0,
    "spent": 348.15,
    "payment_day": 1
}

Fatura aberta
Open invoice

O recurso Fatura aberta fornece os detalhes da fatura aberta de um cartão de crédito específico. É possível ver o valor parcial da fatura, taxas, data de pagamento e as transações. 

_________________

The resource Open invoice allows you to detail about the open invoice of a specific credit card. Here you can see partial amount, taxes, payment date and the transactions.

Resource
GET /cards/v1/{card_number}/invoices/open

Parâmetros de saída

Nome Descrição
amount number This is the partial value of the open invoice composed of the transactions that have been processed so far.
transactions array The transactions that were processed in this invoice.
transaction.card_number string This is the last four digits of the credit card number that generated this transaction.
transaction.date string The transaction date of the card. Format YYYYMMDD
transaction.type string The transaction type. The possible values are CREDIT and DEBIT.
transaction.description string This is the transaction description.
transaction.amount string This is the transaction value.
transaction.currency string This is the currency code on which the transaction was performed.
{
    "amount": 348.15,
    "transactions": [
        {
            "card_number": 1001,
            "date": 20170806,
            "type": "DEBIT",
            "description": "COMPRA REAL",
            "amount": 207.26,
            "currency": "BRL"
        },
        {
            "card_number": 1001,
            "date": 20170805,
            "type": "DEBIT",
            "description": "COMPRA DOLAR",
            "amount": 49.95,
            "currency": "USD"
        },
        {
            "card_number": 1001,
            "date": 20170808,
            "type": "CREDIT",
            "description": "CRED EM FATURA",
            "amount": 19.95,
            "currency": "BRL"
        }
    ]
}

Fatura fechada
Closed invoice

O recurso Fatura fechada fornece os detalhes da fatura fechada de um cartão de crédito específico. É possível ver o valor total da fatura, valor mínimo ou propostas de parcelamento, dólar, taxas, data de pagamento e as transações. 

_________________

The resource Closed invoice allows you to detail about the closed invoice of a specific credit card. Here you can see total amount, minimum amount to pay or proposal of installments, dollar, taxes, payment date and the transactions.

Resource
GET /cards/v1/{card_number}/invoices/closed

Parâmetros de saída

Nome Descrição
dollar number The dollar value on the date the invoice closed
amount number The total value of the closed invoice
previous_amount number The total amount from the previous invoice
total_credits number The total credits in this invoice
total_debits string The total debits in this invoice
minimum number The minimum amount that can be paid
payment_date number Invoice due date
rates object The rates applied on the invoice.
rates.effective_monthly number Monthly total effective cost.
rates.effective_yearly number Annual total effective cost.
rates.rotational number Credit card rotational credit interest rate
rates.rotational_cash number Interest rate for withdrawals
rates.fine number Late payment penalty
transactions array The transactions that were processed in this invoice.
transaction.card_number string This is the last four digits of the credit card number that generated this transaction.
transaction.date string The transaction date of the card. Format YYYYMMDD
transaction.type string The transaction type. The possible values are CREDIT and DEBIT.
transaction.description string This is the transaction description.
transaction.amount string This is the transaction value.
transaction.currency string This is the currency code on which the transaction was performed.
installment object The installment proposal
installment.installment_date string The expiration date of the financing.
installment.main_value number The principal amount to be financed. Does not include annual fee.
installment.proposals array The detail of each proposal.
proposal.value number The principal amount to be financed. Does not include annual fee.
proposal.quantity number Number of installments.
proposal.first_installment_value number Value of the first installment. Includes annual fee.
proposal.installment_value number Value of the other installments.
proposal.rates object The proposal rates
rates.interest_monthly number Monthly interest.
rates.interest_yearly number Annual interest.
{
    "dollar": 3.4863,
    "amount": 3043.13,
    "previous_amount": 1723.09,
    "total_credits": 0,
    "total_debits": 1320.04,
    "payment_date": 20170715,
    "rates": {
        "effective_monthly": 8.63,
        "effective_yearly": 169.87,
        "rotational": 7.9,
        "rotational_cash": 8.9,
        "fine": 2
    },
    "transactions": [
        {
            "card_number": 2012,
            "date": 20170705,
            "type": "DEBIT",
            "description": "ANUIDADE DIFER TIT 03-12",
            "amount": 31.25,
            "currency": "BRL"
        }
    ],
    "installment": {
        "installment_date": 20170715,
        "main_value": 3011.88,
        "proposals": [
            {
                "value": 3339.23,
                "quantity": 5,
                "first_installment_value": 699.1,
                "installment_value": 667.85,
                "rates": {
                    "interest_monthly": 4.95,
                    "interest_yearly": 78.5621,
                    "effective_monthly": 5.37,
                    "effective_yearly": 87.37
                }
            }
        ]
    }
}

Histórico de faturas
Invoice history

O recurso Histórico de faturas fornece os detalhes das faturas fechadas. Por questões de privacidade serão fornecidas apenas as 3 últimas faturas fechada do cliente. 

_________________

The resource Invoice History allows you to access the detail of closed invoices. For privacy reasons only the last 3 customer’s closed invoices will be provided.

Resource
GET /cards/v1/{card_number}/invoices/history

Parâmetros de saída

Nome Descrição
dollar number The dollar value on the date the invoice closed
amount number The total value of the closed invoice
previous_amount number The total amount from the previous invoice
total_credits number The total credits in this invoice
total_debits string The total debits in this invoice
minimum number The minimum amount that can be paid
payment_date number Invoice due date
rates object The rates applied on the invoice.
rates.effective_monthly number Monthly total effective cost.
rates.effective_yearly number Annual total effective cost.
rates.rotational number Credit card rotational credit interest rate
rates.rotational_cash number Interest rate for withdrawals
rates.fine number Late payment penalty
transactions array The transactions that were processed in this invoice.
transaction.card_number string This is the last four digits of the credit card number that generated this transaction.
transaction.date string The transaction date of the card. Format YYYYMMDD
transaction.type string The transaction type. The possible values are CREDIT and DEBIT.
transaction.description string This is the transaction description.
transaction.amount string This is the transaction value.
transaction.currency string This is the currency code on which the transaction was performed.
installment object The installment proposal
installment.installment_date string The expiration date of the financing.
installment.main_value number The principal amount to be financed. Does not include annual fee.
installment.proposals array The detail of each proposal.
proposal.value number The principal amount to be financed. Does not include annual fee.
proposal.quantity number Number of installments.
proposal.first_installment_value number Value of the first installment. Includes annual fee.
proposal.installment_value number Value of the other installments.
proposal.rates object The proposal rates
rates.interest_monthly number Monthly interest.
rates.interest_yearly number Annual interest.
[
  {
    "dollar":3.4863,
    "amount":3043.13,
    "previous_amount":1723.09,
    "total_credits":0,
    "total_debits":1320.04,
    "payment_date":20170715,
    "rates":{
      "effective_monthly":8.63,
      "effective_yearly":169.87,
      "rotational":7.9,
      "rotational_cash":8.9,
      "fine":2
    },
    "transactions":[
      {
        "card_number":2012,
        "date":20170705,
        "type":"DEBIT",
        "description":"ANUIDADE DIFER TIT 03-12",
        "amount":31.25,
        "currency":"BRL"
      }
    ]
  }
]

Contas Correntes

A API de Contas Correntes permite o acesso a dados de conta corrente como Saldo, Histórico de Saldos e Extrato. 

Termos de uso da API Contas Correntes

Saldo
Balance

O recurso de Saldo retorna o valor disponível em uma conta corrente no momento da chamada do recurso. Inclui também outros dois valores sendo eles o limite de crédito disponível para o cliente (cheque especial) e o total, a soma entre o dinheiro do cliente e o limite. 

_________________

Amount available on the bank account at the moment of the request. Also include two others values, the credit available to that customer and a total sum of current balance and credit amount. 

Resource
GET /accounts/v1/balance

Headers

Nome Descrição
developer-key string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

Nome Descrição
current_balance number Amount available on the bank account at the moment of the request. If the amount is positive, it will not include overdraft limits however It can be a negative number if the bank account is overdrawn. The value will be in double format. It will return: 5589.18 what means R$ 5.589,18
current_limit number Amount of limit (already summarized) with current_balance. If the current_balance is negative, it will include this negative amount plus the available_limit. If the current_balance is positive this amount will be the same of available_limit.
available_limit number Amount of limit the costumer contracted when their open it accounts.
{
  "current_balance": "1000.00"
}

Histórico de Saldos
Balance history

O Histórico de Saldos lista os saldos disponíveis em uma conta bancária por dia em um período entre datas. O saldo não inclui valores disponíveis com limites de cheque especial. 

_________________

The Balance History lists the funds available in a bank account by day for a specific time range. The balance does not include overdraft limits.

Resource
GET /accounts/v1/balance-history

Parâmetros de entrada

Nome Descrição
dateFrom string requerido The earliest date to be retrived. The history will include all daily balances from this date to the last date with an available balance. The accepted date formar is YYYYMMDD
20160101

Headers

Nome Descrição
developer-key string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

Nome Descrição
balance string Funds that were available on the bank account in a specific day. This amount does not include overdraft limits. It can be a negative number if the bank account is overdrawn. The balance history of a specific day is created on the day after the date of the balance between 12am – 06 am. The value will be in double format. It will return: 5589.18 what means R$5.589,18.
date string The date of the balance retrieved. The date will be exhibited as YYYYMMDD.
[
  {
    "balance": "96000.00",
    "date": 20100609
  }
]

Extrato
Transaction history

O Histórico de Transações lista todas as transações ocorridas em uma conta bancária em um período entre datas. Esse recurso não exibe informações de Saldo. 

_________________

The Transaction History lists all the transactions occurred in a bank account in a specific time range. This resource does not show the balance.

Resource
GET /accounts/v1/transaction-history

Parâmetros de entrada

Nome Descrição
dateFrom string requerido Start date - Format YYYYMMDD
20160101
dateTo string requerido End date - Format YYYYMMDD
20160101

Headers

Nome Descrição
developer-key string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

Nome Descrição
transaction_amount string A positive or negative number depending on the transaction type. It represents how much the transaction added to or subtracted from the bank account. The value will be in double format. It will return: 5589.18 what means R$5.589,18.
description string It describes the transaction with more details. Example: National debit, Invoice payment.
date string Date on which the transaction was processed by the financial system. The date will be exhibited as YYYYMMDD.
transaction_type string There are two transactions types: credit and debit. This is the parameter that defines if the transaction_amount is a positive or negative number.
comments string Transactions as invoice payments and money transfers allow clients to add a personal description to it. This field exhibits those comments when they exist. And, transactions as debit payments don’t allow it. In those cases this field is used to show the business establishment name which received the payment or any other description available in the system.
[
  {
    "transaction_amount": "100000.00",
    "description": "DEPOSITO CHEQUE SUP MOBILE",
    "date": 20100609,
    "comments":"Teste 1",
    "transaction_type": "Crédito"
  },
  {
    "transaction_amount": "10000.00",
    "description": "IOF INICIO OPERACAO CC",
    "date": 20100609,
    "comments":"Teste 2",
    "transaction_type": "Débito"
  }
]

Contrato Cheque Especial
Credit Balance Agreement

O cheque especial funciona como um empréstimo vinculado a sua conta corrente. O recurso credit-balance-agreement apresenta o valor disponibilizado para o cliente, junto aos custos mensais e anuais. Não aprensenta o quanto já foi utilizado pelo cliente, e sim o o contrato do cheque especial. Para saber sobre o valor consumido pelo cliente, consulte o recurso balance da API accounts.
_________________

The credit balance agreement is a type of loan attached to your balance account. This resource shows the amount available as their monthly and yearly rates. Do not show how much money a costumer already consumed, to know that look for balance resource at accounts API.

Resource
GET /accounts/v1/credit-balance-agreement

Headers

Nome Descrição
developer-key string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Rewards

Saldo Programa de Pontos
Rewards Balance

O saldo do programa de pontos exibe o total de pontos acumulados pelo cliente. 

_________________

The Rewards Balance resource retrieves the total points available on the bank account.

Resource
GET /rewards/v1/balance

Headers

Nome Descrição
appKey string requerido Developer Key None

Parâmetros de saída

Nome Descrição
current_balance number Amount points available on the bank account at the moment of the request.
{
  "current_balance": 0
}

Extrato Programa de Pontos
Rewards Transaction History

O programa de pontos do original acumula pontos que se transformam em dinheiro, através do recurso /rewards-balance-history da API /rewards você poderá consultar todas as movimentações realizadas dentro do período informado, sejam elas de crédito ou débito. Um débito pode ser visto como uma operação de resgate, quando o cliente resgata seus pontos. E o crédito significa que ele recebeu pontos.


Our reward program accumulates points that is changed by money. Through this resource /rewards-balance-history from API /rewards you can obtain all transactions given a period, transactions are debt and credit. A debt means that a bank customer reclaims their point. And a credit occurs when they receive points.

Resource
GET /rewards/v1/transaction-history

Parâmetros de entrada

Nome Descrição
date_from string requerido Start date - Format YYYYMMDD
20160101
date_to string requerido End date - Format YYYYMMDD
20160101

Headers

Nome Descrição
appKey string requerido Developer Key None

Parâmetros de saída

Nome Descrição
amount number A positive or negative number depending on the transaction type. It represents how much the transaction added to or subtracted from rewards customer.
operation string It describes the transaction type. Example: debit or credit.
date string Date on which the transaction was processed by the financial system. The date will be exhibited as YYYYMMDD.
transaction string The description about the transaction.
[
    {
        "date": 20170302,
        "operation": "Crédito",
        "amount": 10,
        "transaction": "PONTOS CARTAO CREDITO"
    }
]

Investimentos

A API de Investimentos permite que a consulta da posição consolidada dos investimentos e os extratos de transações, investimentos e resgates vinculados ao uma conta bancária. 


Os extratos de investimentos são divididos em dois recursos:
•    Extrato de Renda Fixa: lista as transações realizadas pelo cliente em investimentos da categoria Renda Fixa.
•    Extrato de Fundos: lista as transações realizadas pelo cliente em investimentos da categoria Fundos. 


A funcionalidade dos recursos é bastante semelhante mas ambos possuem alguns campos que são exclusivos. 

Termos de uso da API de Investimentos

________

The Investment API allows the query to the investment portfolio summary and the transaction statements, investments and redemptions, linked to a bank account.


Investments extracts are split into two resources:
•    Fixed Income Statement: lists transactions by customer investments in the fixed income category.
•    Funds Extract: lists the transactions carried out by the client in investment funds category.


The resources functionalities are quite similar but both have some fields that are unique.

Carteira Consolidada
Portfolio Summary

A Carteira Consolidada de Investimentos lista o valor total de investimentos e o valor dos impostos de todos os investimentos da carteira separada pelo nome do ativo e categorizado pela classe do ativo.

A composição dos investimentos em uma carteira depende de uma série de fatores, entre os mais importantes estão a tolerância ao risco, a perspectiva do investidor e o valor investido.
________________

The Portfolio Summary lists the total investment value and taxes value of all the investment portfolio separated by asset name and categorized by asset class.

The composition of investments in a portfolio depends on a number of factors, among the most important being the investor’s risk tolerance, investment horizon and amount invested.

Resource
GET /investments/v1/portfolio-summary

Headers

Nome Descrição
appKey string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

Nome Descrição
asset_name string This is the name used to identify the asset.
benchmark_class string A benchmark class is a group of securities that behave similarly in the marketplace. The investments from the same class can be clustered to build asset allocation charts and consolidated analysis.
gross_value string The total investment value before taxes and management fee or performance fee charges. The value will be in double format. It will return: 5589.18 what means R$5.589,18.
net_value string The investment value after taxes, management fees and performance fees were charged. The value will be in double format.
income_tax_value string Income tax charged over the net investment income (income received from investments assets before taxes). The tax rates vary based on how long the money is invested and on asset class. The value will be in double format.
iof_tax_value string The Tax on Financial Operations (IOF) value. This tax is levied only on redemptions made in a period of less than 30 days from the investment date. If the investor leaves the money invested in a fund for at least 30 days, no IOF will be collected at redemption (partial or total). The IOF tax rate varies according to the number of days that the investor's money remained applied, from 96% to 0% of the income of the total investment. The value will be in double format.
[
  {
    "asset_name": "ORIGINAL BNP PARIBAS MATCH FIC DI",
    "benchmark_class": "Juros Pós Fixado",
    "gross_value":  "43462.6",
     "net_value": "43035.89",
    "income_tax_value": 0,
    "iof_tax_value": "426.71"
  }
]

Extrato de Fundos
Funds Transaction History

O recurso Funds – Transaction History lista todas as transações que ocorrerão em fundos de investimentos relativos a uma conta bancária em um período de tempo. Este recurso retorna aplicações e resgates. Ele não irá exibir a posição atual dos investimentos.

________________

The Funds-Transaction History lists all the transactions occurred in the funds investments related to a bank account in a specific time range. Using this resource you can retrieve investment contributions and redemptions. It won’t show the investments current position. 

Resource
GET /investments/v1/funds/transaction-history

Parâmetros de entrada

Nome Descrição
dateFrom string requerido The earliest date to be retrieved. The transactions list returned by this request will be bounded by this parameter and date_to, both inclusive. The accepted date format is YYYYMMDD.
20160101
dateTo string requerido The most recent date for which we want to obtain the client transactions history. The accepted date format is YYYYMMDD.
20160101

Headers

Nome Descrição
appKey string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

Nome Descrição
transaction_type string There are two transactions types: contributions and redemptions. Both types can exhibit further information.
asset_name string This is the name used to identify the asset.
transaction_date string Date on which occurs the debit or credit in the customer bank account.
quota_conversion_date string Date of quota conversion. It is the date on which the financial system converts an investment contribution in quotas or quotas in credit to a bank account.
gross_value string The total investment contribution value or the total redemption value before taxes and management fee or performance fee charges. The value will be in double format.
net_value string The investment contribution value ou redemption value after taxes, management fees and performance fees were charged. If the transaction_type is a 'contribution' this field will exhibit the same value as the gross_value field. The value will be in double format.
quota_quantity string The gross value invested is converted into quotas that have a unit value relative to quota_conversion_date. This field exhibit the quota quantity. The value will be in double format.
quota_value string This field exhibit the quota unit value. If you multiple this unit value by the quota_quantity you will find the gross_value. The value will be in double format.
income_tax_value string Income tax charged over net investment income (income received from investments assets before taxes. If the transaction_type is “Resgate IR Lei 10892” this field will be identical with gross_value (It is an automatic income tax redemption approved by a brazilian law numer 10892). The value will be in double format.
iof_tax_value string The Tax on Financial Operations (IOF) value. This tax is levied only on redemptions made in a period of less than 30 days from the investment date. The value will be in double format.
[
	{
		"transaction_type": "Resgate IR Lei 10892",
		"asset_name": "ORIGINAL JPM REAL RATES FIC RF",
		"transaction_date": "20150602",
		"quota_conversion_date": "20101001",
		"gross_value": "15.57",
		"net_value": "0",
		"quota_quantity": "2.37",
		"quota_value": "6.56",
		"income_tax_value": "15.57",
		"iof_tax_value": "0"
	}
]

Extrato de Renda Fixa
Fixed Income Transaction History

O recurso Fixed Income – Transaction History lista todas as transações que ocorreram em investimentos de renda fixa relativos a uma conta bancária em um período de tempo. Este recurso retorna aplicações e resgates. Ele não irá exibir a posição atual dos investimentos.

________________

The Fixed Income-Transaction History lists all the transactions occurred in fixed income assets related to a bank account in a specific time range. Using this resource you can retrieve investment contributions and redemptions. It won’t show the investments current position. 

Resource
GET /investments/v1/fixed-income/transaction-history

Parâmetros de entrada

Nome Descrição
dateFrom string requerido The earliest date to be retrieved. The transactions list returned by this request will be bounded by date_from and date_to parameters. The accepted date format is YYYYMMDD.
20160101
dateTo string requerido The most recent date for which we want to obtain the client transactions history. The accepted date format is YYYYMMDD.
20160101

Headers

Nome Descrição
appKey string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

[
	{
		"transaction_type": "Resgate no Vencimento",
		"asset_name": "CDB",
		"certificate_number": "105256",
		"transaction_date": "20160128",
		"investment_date": "20140128",
		"gross_value": "6120.35",
		"net_value": "6102.30",
		"iof_tax_value": "0.00",
		"income_tax_value": "18.05",
		"lock_up_period": "0",
		"liquidity": "Com Liquidez",
		"maturity_date": "20160128",
		"contracts_quantity": "600000",
		"fixed_income_index": "PRE"
	}
]

Pagamentos

A API de Pagamentos permite realizar transferências entre contas Originais. Estamos trabalhando para disponibilizar outros recursos para a API de Pagamentos. 

Termos de uso da API de Pagamentos

Transferência entre contas Original

O recurso Money Transfer – Between Accounts da API de Pagamentos permite realizar transferências de valores entre contas do Banco Original. Esse recurso é composto de dois métodos: POST e PUT.

A primeira chamada deverá ser realizada pelo método POST, indicando a criação da transferência. Como resposta você receberá o no campo security_request, o tipo de dispositivo de segurança necessário para concluir a transação, normalmente o número do token. Peça ao cliente que digite o número do token para confirmar a transação, dessa vez utilizando o método PUT.

É importante destacar que os valores informados no POST e no PUT devem ser idênticos, caso haja alteração no valor ou na conta de destino, a transação será invalidada. Repare também que na segunda chamada é adicionado um novo campo no header, contendo o valor do dispositivo de segurança solicitado (normalmente, o número do token).

_______________

The resource Money Transfer - Between Accounts from the Payments API allows money transfers between Original bank accounts. This feature consists of two methods: POST and PUT.

The first call must be made using the POST method, indicating the creation of the transfer. In the response you will receive the type of security device needed to complete the transaction, usually the token number. Ask the customer to enter the token number to confirm the transaction, this time using the PUT method.

It is important to note that the values entered in the POST and PUT must be identical, if there is any change in the value or account account, the transaction will be invalidated. Also notice that in the second call a new field is added in the header, it must contain the value of the requested on the security_response field device (usually the token number).

Resource
POST /payments/v1/money-transfer/between-accounts

Parâmetros de entrada

Nome Descrição
account_number string The account number from Original Bank that will receive the amount from money transfer.
amount string A positive number that represents how much will be transferred. The value will be in double format. It will return: 1500.20 what means R$1.500,20.
comments string Transactions as transfers between accounts allow customers to add a personal description to it. This field displays these comments when they exist. If you are also using the resource accounts/v1/ transaction-history you will see these comments in some transactions. If the customer leaves this field empty it may be filled with any standard description by the bank system.
{"account_number":999999,"amount":"0.00","comments":"XXXXXXXXXX"}

Headers

Nome Descrição
developer-key string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

Nome Descrição
recipient_name string The recipient name which is the client that will receive the amount transferred
security_request string To complete the transaction the customer will have to provide some additional information such as the token number. This field describes what information must be provided.
security_message string This field contains safety messages linked to the security_request parameter, which must be displayed to the customer who is transferring money. Check the table below.
{
  "recipient_name": "GABRIELLY SOUZA CARDOSO",
  "security_request": [
    {
      "security_request": "Token"
    },
    {
      "security_request": "Callback"
    }
  ],
  "security_message": "Para sua segurança esta operação ficará pendente de confirmação. Aguarde o contato de um Consultor Original. Se você deseja continuar, efetue a validação necessária."
}

Atualizar transferência

Resource
PUT /payments/v1/money-transfer/between-accounts

Parâmetros de entrada

Nome Descrição
account_number string The account number from Original Bank that will receive the amount from money transfer.
amount string A positive number that represents how much will be transferred. The value will be in double format. It will return: 1500.20 what means R$1.500,20.
comments string Transactions as transfers between accounts allow customers to add a personal description to it. This field displays these comments when they exist. If you are also using the resource accounts/v1/ transaction-history you will see these comments in some transactions. If the customer leaves this field empty it may be filled with any standard description by the bank system.
security_response string This field must contain safety information provided by the customer referring to the field security_request.
{"account_number":999999,"amount":"0.00","comments":"XXXXX","security_response":"5676d65d7d"}

Headers

Nome Descrição
developer-key string requerido Chave do desenvolvedor 99z99999z999999999zz999999zz9999

Parâmetros de saída

Nome Descrição
recipient_name string The recipient name which is the client that will receive the amount transferred.
amount string A positive number that represents how much was transferred. The value will be in double format. It will return: 1500.20 what means R$ 1.500,20.
date string Date on which the transaction was processed by the financial system. The date will be exhibited as YYYYMMDD.
comments string Transactions as transfers between accounts allow customers to add a personal description to it. This field displays these comments when they exist. If you are also using the resource accounts/v1/transaction-history you will see these comments in some transactions. If the customer leaves this field empty it may be filled with any standard description by the bank system.
confirmation_code string Identification and confirmation code.
security_message string This field contains safety messages linked to the security_request parameter, which must be displayed to the customer who is transferring money. Check the table below.
{
  "recipient_name": "GABRIELLY SOUZA CARDOSO",
  "amount": "80000.00",
  "date": 20160608,
  "comments": "teste transfer homologacao - 729",
  "confirmation_code": 81388,
  "security_message": "Lembre-se: esta operação está pendente de confirmação. Em breve um Consultor Original entrará em contato para que ela seja concluída."
}