Quickstart

Introdução

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

1. Crie uma conta na Trio

Se ainda não possuir uma conta na Trio é muito simples, basta realizar o cadastro através deste link e confirmar a sua conta através do e-mail recebido.

2. Gere suas chaves de API

Ao acessar o dashboard 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ê terá acesso:

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. Fluxo de integração

5. 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": "itau",
          "estimated_sla": 120000,
          "id": "49f351d3-d41b-4276-bfbb-d1f06c8516cd",
          "mfa_code_needed": false,
          "name": "Itaú Unibanco S.A.",
          "status": "active",
          "type": "bank",
          "website": "https://itau.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": "49f351d3-d41b-4276-bfbb-d1f06c8516cd",
    "credential": { "branch_number": "3333", "account_number": "54321-0", "password": "090807", "person_type": "natural_person" }
  }' \ 
  -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 pode conter algumas informações 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.

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

{
  "data": {
      "company": {
          "id": "4d4db59e-4a79-45ca-8ea2-acdc8faebccc",
          "name": "Test Company",
      },
      "id": "9a483102-6966-482c-afdf-bfbbbfd781f6",
      "inserted_at": "2021-05-07T16:54:12",
      "institution": {
            "id": "49f351d3-d41b-4276-bfbb-d1f06c8516cd",
          "name": "Itaú Unibanco S.A.",
          "code": "itau",
      },
      "updated_at": "2021-05-07T16:54:12"
  }
}

6. 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=df079804-50fe-4f34-9ba6-a5665a0bf887 \ 
  -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": "54321-0",
            "account_type": "bank_account",
            "bank_account_type": "checking",
            "branch_number": "3333",
            "connection_id": "aa255471-49d7-4ac5-a2df-5caab15f9bba",
            "currency": "BRL",
            "id": "2011c3ca-3587-4655-8b8c-5ebbe4afbe5b",
            "inserted_at": "2021-05-07T16:58:39",
            "institution": {
                "code": "itau",
                "name": "Itaú Unibanco S.A.",
                "id": "49f351d3-d41b-4276-bfbb-d1f06c8516cd"
            },
            "updated_at": "2021-05-07T16:58:39",
            "variation_code": null
        },
        ...
    ]
}

7. 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/2011c3ca-3587-4655-8b8c-5ebbe4afbe5b/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": "2011c3ca-3587-4655-8b8c-5ebbe4afbe5b",
        "job_id": "e98ff699-3ad8-4d1d-9e6e-cbfb0ae8f2e0",
        "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/2011c3ca-3587-4655-8b8c-5ebbe4afbe5b/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": "54321-0",
                "account_type": "bank_account",
                "bank_account_type": "checking",
                "branch_number": "3333",
                "currency": "BRL",
                "id": "2011c3ca-3587-4655-8b8c-5ebbe4afbe5b",
                "institution": {
                    "code": "itau",
                    "name": "Itaú Unibanco S.A.",
                    "id": "49f351d3-d41b-4276-bfbb-d1f06c8516cd"
                },
                "variation_code": null
            },
            "amount": {
                "amount": 800000,
                "currency": "BRL"
            },
            "id": "72e9c719-238d-49b1-b7dd-744dc9afeeb7",
            "inserted_at": "2021-05-07T17:13:24",
            "description": "RECEBIMENTO SALARIO 1/12",
              "type": "RECEBIMENTO",
            "timestamp": "2021-01-05T19:44:44Z",
            "updated_at": "2021-05-07T17:13:24"
        },
        ...
    ]
}

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.


Did this page help you?