Stone OpenBank

Escreva o Banco do futuro. Uma linha de código por vez.

Quickstart

Faça a sua primeira movimentação financeira de teste seguindo esses três passos:
1 - Cadastre-se no Stone Open Bank API;
2 - Escolha a sua linguagem/ferramenta preferida;
3 - Crie uma transação.

1 - Cadastre-se no Stone Open Bank

ClientID

Obtenha o seu Access Token, enviando um e-mail para nosso time de Parcerias através de [email protected]
Somente com o Access Token em mãos você consegue realizar as autenticações necessárias para realizar as chamadas na Stone Open Bank API.

O time de Parcerias do Stone Open Bank irá te enviar um formulário para preenchimento com os dados sobre seu projeto e posteriormente irá gerar um ClientID. Uma vez cadastrado e com o seu ClientID em mãos, você poderá realizar o processo de autenticação da aplicação, que permitirá que obtenha-se o Access Token. Este processo de autenticação consiste nas seguintes etapas:

Geração de um token que contenha

Obtenção de access e refresh tokens

Uma vez obtido o token, deve-se configurar os seguintes parâmetros e realizar a seguinte chamada:

**POST** https://sandbox-accounts.openbank.stone.com.br/auth/realms/stone_bank/protocol/openid-connect/token
content-type x-www-form-urlencoded
  • client_id: identificador enviado pelo time de suporte OpenBank;
  • grant_type: sempre será client_credentials;
  • client_assertion: token obtido na etapa de geração do token;
  • client_assertion_type: sempre será "urn:ietf:params:oauth:client-assertion-type:jwt-bearer".

Obtido sucesso, o servidor retornará o access_token e o refresh_token da conta da Aplicação.

🚧

O fluxo acima é um exemplo de como iniciar a sua integração com a Stone Open Bank API.

Para detalhes sobre o processo de integração, consultar a página Como Integrar com a API.

2 - Escolha a sua linguagem

A Stone Open Bank disponibiliza sua infraestrutura por meio de uma API RESTful e respostas em JSON.

👍

Todas as requisições são feitas no endpoint base:

https://sandbox-api.openbank.stone.com.br/api/v1

3 - Crie uma TED

Depois de se cadastrar, pegar o seu token de teste e escolher a sua linguagem já é possível começar a movimentar a sua conta de teste! Para realizar uma movimentação de TED teste, por exemplo, você pode fazer uma chamada na Stone Open Bank API. Pode-se observar um exemplo de chamada teste abaixo:

curl --request POST \
  --url https://sandbox-api.openbank.stone.com.br/api/v1/external_transfers \
  --header 'Content-Type: application/json' \
  --header 'authorization: Bearer {token}' \
  --data '{"amount":3000,"target":{"account":{"account_code":"654321","branch_code":"1234","institution_code":"260"},"entity":{"cpf":"05971627007","name":"Nome do destinatário"}},"account_id":"f49a9d13-18dc-4811-b286-edd168a428b2"}'
require 'uri'
require 'net/http'

url = URI("https://sandbox-api.openbank.stone.com.br/api/v1/external_transfers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer {token}'
request.body = "{\"amount\":10050,\"target\":{\"account\":{\"account_code\":\"1456879\",\"branch_code\":\"0633\",\"institution_code\":\"379\"},\"entity\":{\"cpf\":\"67385417752\",\"name\":\"Vitoria Silva Correia\"}},\"account_id\":\"200568\"}"

response = http.request(request)
puts response.read_body
var data = JSON.stringify({
  "amount": 10050,
  "target": {
    "account": {
      "account_code": "1456879",
      "branch_code": "0633",
      "institution_code": "379"
    },
    "entity": {
      "cpf": "67385417752",
      "name": "Vitoria Silva Correia"
    }
  },
  "account_id": "200568"
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://sandbox-api.openbank.stone.com.br/api/v1/external_transfers");
xhr.setRequestHeader("authorization", "Bearer {token}");

xhr.send(data);
import requests

url = "https://sandbox-api.openbank.stone.com.br/api/v1/external_transfers"

payload = "{\"amount\":10050,\"target\":{\"account\":{\"account_code\":\"1456879\",\"branch_code\":\"0633\",\"institution_code\":\"379\"},\"entity\":{\"cpf\":\"67385417752\",\"name\":\"Vitoria Silva Correia\"}},\"account_id\":\"200568\"}"
headers = {'authorization': 'Bearer {token}'}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
var client = new RestClient("https://sandbox-api.openbank.stone.com.br/api/v1/external_transfers");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Bearer {token}");
request.AddParameter("undefined", "{\"amount\":10050,\"target\":{\"account\":{\"account_code\":\"1456879\",\"branch_code\":\"0633\",\"institution_code\":\"379\"},\"entity\":{\"cpf\":\"67385417752\",\"name\":\"Vitoria Silva Correia\"}},\"account_id\":\"200568\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

Caso queira saber mais sobre as chamadas disponíveis na nossa API, consulte nossos endpoints em API Reference.

4 - Construindo o seu App

Com a resposta gerada pela requisição da TED acima, você poderá elaborar uma tela exibindo as informações da transferência realizada. Por exemplo, para construir a tela abaixo:

É utilizada a requisição citada 3º passo, tendo como resposta o seguinte JSON:

{
  "amount": 10050,
  "approved_at": "2018-10-08T22:13:51Z",
  "approved_by": "user:380f9968-8946-4f88-a781-be8b7efc1f90",
  "created_at": "2018-10-08T22:13:51Z",
  "created_by": "user:380f9968-8946-4f88-a781-be8b7efc1f90",
  "failed_at": null,
  "fee": 0,
  "id": "79573d4a-613a-4ac7-8970-39c39fc18e5a",
  "refunded_at": null,
  "rejected_at": null,
  "rejected_by": null,
  "settled_at": null,
  "target": {
    "account": {
      "account_code": "1456879",
      "branch_code": "0633",
      "institution_code": "379"
    },
    "entity": {
      "cpf": "67385417752",
      "name": "Vitoria Silva Correia"
    }
  }
}

📘

Entenda mais sobre a Transfers API e a sua requisição de TED

Detalhes sobre a Transfers API se encontram na página Transferir para Outros Bancos.

Updated about a year ago

Quickstart


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.