Quickstart

Introdução

O objetivo deste quickstart é que você aprenda em apenas alguns passos acessar a API da Trio.

1. Crie uma conta na Trio

Se ainda não possuir as chaves de acesso da Trio é muito simples, basta entrar em contato com o time comercial através do e-mail [email protected].

2. Gere suas chaves de API

Ao acessar a Trio você terá acesso aos seguintes ambientes:

Ambientes

Sandbox

Ambiente de testes com dados experimentais para que você possa realizar o desenvolvimento com tranquilidade e sem custo

https://sandbox.trio.com.br

Production

Ambiente oficial que conectará em todas as instituições financeiras

https://production.trio.com.br

E estas são as chaves que você receberá para realizar a autenticação:

API Key

client_id

Identificação única da sua empresa

client_secret

Chave privada de acesso as APIs

❗️

Sobre a client_secret

Pensando sempre em segurança a client_secret, será mostrada uma única vez logo após a geração no dashboard. Tenha certeza que você guardou com segurança para reutilizar novamente.

Sempre que for gerada uma nova client_secret a antiga se tornará imediatamente obsoleta.

3. Conceitos importantes

Institution
É uma instituição financeira válida na infraestrutura da Trio.

Credential
São as informações de acesso (usuário, senha) a instituição financeira de seu cliente. As credenciais podem variar de acordo com a instituição.

Connection
É o modelo que representa na infraestrutura da Trio a conexão entre as credenciais do cliente e a instituição. É através da Connection que realizamos a consulta de informações na instituição financeira.

📘

Em todos os exemplos utilizaremos o sandbox

Para fazer as mesmas chamadas em production basta utilizar o endpoint https://production.trio.com.br.

4. Criando uma Connection

Busque a lista de instituições financeiras disponíveis:

curl -X GET https://sandbox.trio.com.br/institutions \ 
  -H "Content-Type: application/json" \ 
  -u {client_id}:{client_secret}

Se a secret_id estiver correta você recebera uma resposta 2xx como esta:

{
  "data": [
    {
      "code": "bradesco_business",
      "estimated_sla": 60000,
      "id": "17a1affd-9efb-49fa-aa6e-4840af0e9395",
      "mfa_code_needed": false,
      "name": "237 - Bradesco",
      "status": "active",
      "type": "bank",
      "website": "https://bradesco.com.br"
    },
    ...
  ]
}

Com a lista de instituições é possível solicitar para o usuário final as credenciais:

curl -X POST https://sandbox.trio.com.br/connections \ 
  -H "Content-Type: application/json" \
  -d '{
    "institution_id": "17a1affd-9efb-49fa-aa6e-4840af0e9395",
    "credential": { "username": "V4L1D_0N3", "password": "v4l1d_p4ssw0rd" }
  }' \ 
  -u {client_id}:{client_secret}

Apenas lembrando sobre os parâmetros necessários para criar uma connection:

  • institution_id: código da instituição financeira desejada para criação da conexão;
  • credential: este objeto contém informações de autenticação que varia de acordo com a instituição financeira.

📘

Credenciais

Os campos utilizados para realizar a criação de uma connection são opcionais e podem variar de acordo com a instituição financeira. Veja aqui quais são as credenciais necessárias para cada instituição.

Se todas as credenciais estiverem corretas você recebera uma resposta 2xx como esta:

{
  "data": {
    "company": {
      "id": "881319d0-c7c4-4dbf-8a5e-6dcc167b8cdd",
      "name": "Company name"
    },
    "id": "02fd2ff1-97b6-486d-9959-fb04942a4c76",
    "inserted_at": "2021-11-30T11:54:59",
    "institution": {
      "code": "bradesco_business",
      "id": "17a1affd-9efb-49fa-aa6e-4840af0e9395",
      "name": "237 - Bradesco"
    },
    "updated_at": "2021-11-30T11:54:59"
  }
}

5. Buscando a conta bancária

Após a criação da Connection é possível realizar a consulta das contas bancárias vinculadas as credenciais que foram solicitadas. Antes de buscar as informações de extrato e saldo é necessário solicitar as contas:

curl -X GET https://sandbox.trio.com.br/accounts?connection_id=02fd2ff1-97b6-486d-9959-fb04942a4c76 \ 
  -H "Content-Type: application/json" \
  -u {client_id}:{client_secret}

Se todas as informações estiverem corretas você receberá uma resposta 2xx como esta:

{
  "data": [
    {
      "account_number": "76543-0",
      "account_type": "bank_account",
      "bank_account_type": "checking",
      "branch_number": "1234-5",
      "connection_id": "02fd2ff1-97b6-486d-9959-fb04942a4c76",
      "currency": "BRL",
      "id": "21af16cc-6d70-4702-adf0-9377b3612913",
      "inserted_at": "2021-11-30T11:54:59",
      "institution": {
        "code": "bradesco_business",
        "id": "17a1affd-9efb-49fa-aa6e-4840af0e9395",
        "name": "237 - Bradesco"
      },
      "updated_at": "2021-11-30T11:54:59",
      "variation_code": null
    }
  ],
  ...
}

6. Buscando o extrato

Com a identificação das contas em mãos é possível ter acesso aos endpoints vinculados a conta, como saldo, transações e informações cadastrais. Neste exemplo utilizaremos o endpoint de extrato, porém o processo será o mesmo para os outros endpoints.

Primeiro solicite uma atualização das informações na sua instituição, este processo pode levar até 30 segundos para ser concluído.

curl -X POST https://sandbox.trio.com.br/accounts/21af16cc-6d70-4702-adf0-9377b3612913/transactions \ 
  -H "Content-Type: application/json" \
  -u {client_id}:{client_secret}

Se todas as informações estiverem corretas você receberá uma resposta 2xx como esta:

{
  "data": {
    "account_id": "21af16cc-6d70-4702-adf0-9377b3612913",
    "job_id": "c7f58758-6a1a-46e6-9729-1720ac6f0da4",
    "status": "pending",
    "type": "fetch_transactions"
  }
}

📘

Chamadas assíncronas e Webhook

A comunicação com as instituições financeiras são realizadas de forma assíncrona, para que você possa oferecer uma experiência mais completa para o seu cliente. Para ser notificado sobre a conclusão de algum processo veja mais detalhes em Webhooks.

Com as informações financeiras processadas e normalizadas é possível realizar a consulta completa:

curl -X GET https://sandbox.trio.com.br/accounts/21af16cc-6d70-4702-adf0-9377b3612913/transactions \ 
  -H "Content-Type: application/json" \ 
  -u {client_id}:{client_secret}

Se todas as informações estiverem corretas você recebera uma resposta 2xx como esta:

{
  "data": [
    {
      "account": {
        "account_number": "76543-0",
        "account_type": "bank_account",
        "bank_account_type": "checking",
        "branch_number": "1234-5",
        "currency": "BRL",
        "id": "21af16cc-6d70-4702-adf0-9377b3612913",
        "institution": {
          "code": "bradesco_business",
          "id": "17a1affd-9efb-49fa-aa6e-4840af0e9395",
          "name": "237 - Bradesco"
        }
      },
      "amount": {
        "amount": 1200000,
        "currency": "BRL"
      },
      "description": "BONIFICACAO INICIO DE ANO",
      "id": "59629dd3-5267-411e-bfd1-cdaa1a139f9d",
      "inserted_at": "2021-11-30T11:58:56",
      "timestamp": "2021-01-01T20:20:00Z",
      "type": "SALARIO",
      "updated_at": "2021-11-30T11:58:56"
    },
    ...
  ]
}

Para visualizar a referência de todos os endpoints, basta acessar aqui. Se ainda assim possui alguma dúvida, entre em contato com a gente através do e-mail [email protected] e estaremos prontos para te ajudar.


Veja mais
Did this page help you?