Pular para o conteúdo principal

Credenciais, Certificado e Autorização

Nesta página, você encontra informações sobre credenciais, certificado e autorização da API Open Finance Efí.


Através da API Open Finance, oferecemos serviços que possibilitam a comunicação com a iniciadora Efí (participante autorizado) e recebedor (e-commerce que pode ou não fazer parte dos participantes Open Finance). Com nossa API é possível iniciar o processo open finance de forma prática e facilitar o pagamento do cliente final.

Atenção!

Antes de ativar os escopos da API Open Finance, é essencial ler os Termos e Condições de Uso para entender como utilizar a API da melhor forma, sem problemas. Faça o download do PDF disponível a seguir ou aqui.




Para integrar a API Open Finance ao seu sistema ou sua plataforma, é necessário ter uma Conta Digital Efí. Uma vez com acesso, você poderá obter as credenciais e o certificado necessários para a comunicação com a API Open Finance.

Veja a seguir como obter as credenciais, certificados e detalhes sobre a autorização e segurança da sua integração com a Efí.

Segurança no gerenciamento de credenciais

Dentro dos sitemas integrados à nossa API, é importante que as operações de login e a alteração das chaves de integração sejam realizadas com segurança. Sugerimos a implementação de autenticação de dois fatores e outras práticas de segurança.


Obtendo as credenciais da aplicação

Uma pessoa integradora pode criar várias aplicações conforme necessário. Para cada aplicação, serão gerados dois pares de chaves,Client_Id e Client_Secret, um para o ambiente de Produção (?) e outro para Homologação (?).

Para usar a API Open Finance da Efí, é preciso ativar os escopos necessários na sua aplicação.

Entendendo os escopos de aplicação

Ao criar ou editar uma aplicação em sua Conta Efí, você precisará configurar os escopos que a aplicação terá acesso. Esses escopos definem as ações que uma aplicação poderá realizar através da API.

Confira, a seguir, os escopos disponíveis na API Open Finance, juntamente com suas descrições de permissões:

  • gn.opb.participants.read - consulta de participantes do Open Finance;
  • gn.opb.payment.pix.send - iniciar Pix via Open Finance;
  • gn.opb.payment.pix.read - listar as informações dos pagamentos efetuados;
  • gn.opb.payment.pix.refund - realizar a devolução de um pagamento;
  • gn.opb.payment.pix.cancel - realizar o cancelamento de um pagamento agendado;
  • gn.opb.config.write - escrever na configuração de URLs da conta;
  • gn.opb.config.read - ler a configuração de URLs da conta;

Criar uma aplicação ou configurar uma já existente

Veja como criar uma nova aplicação ou usar uma aplicação já existente para fazer integração com a API Open Finance Efí.

Para criar uma aplicação e usar a API Open Finance, siga os passos a seguir:

  1. Acesse sua conta e clique no item "API" na parte inferior do menu à esquerda da conta Efí;
  2. Clique em "Criar aplicação"
  3. Habilite a API Open Finance e escolha os escopos que deseja liberar em ambiente de Produção e Homologação (você pode editá-los no futuro);
  4. Com os escopos selecionados, clique em "Continuar".
banner

Ilustração dos passos para a criação de uma nova aplicação integrada à API Open Finance

Gerando e convertendo um certificado P12

Para gerar e converter um certificado, se necessário, você pode acessar aqui.

Rotas base

Para se comunicar com os ambientes de produção ou homologação da Efí, utilize as rotas base ou URLs base a seguir.

AmbienteRota base
Produçãohttps://openfinance.api.efipay.com.br
Homologaçãohttps://openfinance-h.api.efipay.com.br

As seguintes rotas ainda estão disponíveis para realizar a comunicação da sua aplicação, mas serão descontinuadas em breve. Recomendamos que você utilize as rotas mencionadas anteriormente.

AmbienteRota base
Produçãohttps://apis.gerencianet.com.br
Homologaçãohttps://apis-h.gerencianet.com.br

Autenticação com OAuth2

A API Open Finance Efí utiliza o o protocolo OAuth 2.0para autorizar as requisições feitas. O objetivo é obter um token de acesso (access_token), que permite à aplicação autorizada consumir os endpoints da API.

A autenticação das requisições é feita usando HTTP Basic Auth com as credenciais Client_Id e Client_Secret da aplicação criada na conta Efí.

Dessa forma, o OAuth responde com as autorizações concedidas à aplicação, permitindo ou negando as requisições com base nessas informações.

Atenção!

O Certificado P12/PEM gerado nos passos anteriores é obrigatório em todas as requisições feitas à API Open Finance, incluindo a solicitação de autorização.


Collection Postman API Open Finance


Configurando o Postman para testes

Antes de prosseguir com a configuração do Postman, certifique-se de ter:

  1. Um par de credenciais Client_Id e Client_Secret de uma aplicação cadastrada em sua Conta Efí;
  2. Um certificado P12/PEM gerado em sua conta Efí;
  3. O software Postman instalado em seu computador (Caso não tenha, baixe aqui);

1. Criando um Environment

A criação de um Environment no Postman é necessária para que algumas automações embutidas na collection funcionem. Essas automações foram projetadas para dar mais facilidade aos desenvolvedores durante os testes.

Isso permitirá que você solicite a autorização apenas uma vez, gravando o access_token como uma variável de ambiente (environment) do Postman, disponível para uso em outras requisições subsequentes.

Para criar um Environment siga os passos a seguir:

  1. Pressione Ctrl+N para acionar o atalho e selecione "Environment";
  2. Atribua um nome preferencialmente especificando se esse Environment será apontado para o ambiente de Produção ou Homologação;
  3. Crie a variável efi-of-api e como valor inicial (Initial value) insira a URL da API Open Finance de Produção ou Homologação;
  4. Salve o seu Environment;
  5. Selecione o Environment desejadopara que o Postman entenda a variável criada.

As imagens a seguir mostram os passos ilustrados acima. Neste exemplo, foi criado um Environment para o ambiente de Produção da API Open Finance da Efí.

Dica

Repita os passos acima criar Environment apontado para o ambiente de Produção. Assim, você pode alternar facilmente entre os Environments, garantindo que suas requisições estejam sempre direcionadas corretamente.


banner

Criando um novo environment

banner

Configurações do environment


2. Configurando o certificado no Postman

Todas as requisições feitas à API Open Finance Efí precisam do certificado gerado em sua conta Efí. Portanto, para facilitar seus testes utilizando o Postman, siga os passos abaixo para configurar o uso do certificado durante as requisições de maneira automática:

  1. Clique no ícone de engrenagem no canto superior direito do Postman;
  2. Em seguida, clique em "Settings" para abrir as configurações;
  3. Na aba superior, clique em "Certificates";
  4. Em seguida, clique em "Add Certificate";
  5. Na janela de configuração do novo certificado, preencha o campo "Host" com a Rota base do ambiente ao qual o certificado pertence (Produção ou Homologação);
  6. Utilize o campo "PFX File" para informar ao Postman onde o arquivo do seu certificado P12/PEM está localizado;
  7. Finalize clicando em "Add" para salvar suas configurações.

Ao seguir esses passos, o Postman utilizará automaticamente o certificado em todas as requisições feitas ao ambiente configurado.

Dica

É ideal que você configure o certificado do ambiente de homologação, mas você também pode repetir os passos acima para configurar o Postman com um certificado para o ambiente de Produção.


As imagens abaixo ilustram o passo a passo da configuração do certificado.

banner

Acessando as configurações do Postman

banner

Adicionando um novo certificado no Postman

banner

Configurações do certificado


3. Atribuindo o Client_Id e Client_Secret no Postman

Para finalizar a configuração do seu Postman é necessário configurar as credenciais de uma aplicação da sua conta Efí. Essas credenciais são usadas para o Basic Auth e para obter o access_token junto ao OAuth.

Siga os passos a seguir para incluir as credenciais e realizar o seu primeiro teste na API Open Finance Efí.

  1. Na collection importada, navegue até a rota /v1/oauth/token e clique duas vezes para abrir;
  2. Acesse o menu "Authorization" e verifique o "Type" (tipo de autorização) está selecionado como "Basic Auth";
  3. Preencha os campos "username" e "password" com as credenciais da sua aplicação, ou seja, o Client_Id e o Client_Secret, respectivamente;
  4. Para testar, clique no botão "Send" para enviar a requisição.

A imagem abaixo ilustra os passos acima. Se tudo foi seguido corretamente, você deve obter uma resposta em formato JSON, contendo o access_token, token_type, expires_in e scope (como na imagem abaixo).

banner

Uso das credenciais de uma aplicação para autorização de requisições


Obter autorização

POST /v1/oauth/token

Este endpoint é utilizado para autorizar as credenciais de uma aplicação e obter os escopos de acesso à API Open Finance Efí. Para garantir a segurança na comunicação entre cliente e servidor, é essencial que o certificado P12/PEM esteja presente na requisição de autorização.


Exemplos de autorização utilizando o certificado .P12

Para usar a API Open Finance Efí, o cliente e o servidor devem se comunicar por uma conexão verificada. Isso é feito através do certificado bidirecional (.PEM ou .P12), onde servidor e cliente possuem um certificado de chave privada e um de chave pública para garantir suas identidades.

Portanto, ao fazer qualquer requisição HTTP à API Open Finance, incluindo a solicitação de autorização pelo OAuth2, é fundamental que o certificado .P12 ou .PEM esteja presente nos cabeçalhos da requisição.

A seguir, apresentamos exemplos de como obter a autorização na API Open Finance Efí, incorporando esse certificado na requisição.

//Desenvolvido pela Consultoria Técnica da Efí
<?php
$config = [
"certificado" => "./certificado.pem",
"client_id" => "YOUR-CLIENT-ID",
"client_secret" => "YOUR-CLIENT-SECRET"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://openfinance-h.api.efipay.com.br/v1/oauth/token", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "<pre>";
echo $response;
echo "</pre>";
?>

Exemplo de resposta da autorização

O trecho de código abaixo representa um exemplo de resposta do OAuth à sua requisição de autorização.

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "gn.opb.participants.read gn.opb.payment.pix.send gn.opb.payment.pix.read..."
}