# Autenticação

A Global API utiliza o protocolo OAuth 2.0 para gerenciar requisições. Para começar a realizar chamadas, você deve primeiro gerar um `access_token` temporário. Esse token, também conhecido como Bearer Token, deve ser incluído no header de todas as requisições subsequentes da API.

## Processo de autenticação

O processo de autenticação é um fluxo simples de duas etapas:

1. Solicitar um Access Token usando suas credenciais permanentes.
2. Utilizar o Access Token obtido para realizar chamadas na API.

### Suas credenciais

Para cada ambiente (Sandbox e Produção), você receberá um conjunto único de credenciais. É importante entender o papel de cada uma:

* **Client ID & Client Secret**: São suas credenciais permanentes utilizadas *apenas* para gerar um `access_token`.
* **Seller ID**: É o identificador do merchant, que deve ser enviado como header (`x-seller-id`) na maioria das chamadas da API para identificar sua conta.

As credenciais de Sandbox são utilizadas para testes e desenvolvimento e podem ser acessadas no portal de desenvolvedores. As credenciais de Produção são utilizadas para transações reais e serão fornecidas de forma segura pela equipe da Getnet após a conclusão do processo de homologação.

### Etapa 1: Gerar um Access Token

Seu primeiro passo é realizar uma requisição POST para o endpoint de token /auth/oauth/v2/token. Você deve autenticar essa requisição utilizando HTTP Basic Authentication, enviando seu `client_id` e `client_secret` codificados em Base64.

O bloco de código a seguir mostra como solicitar um `access_token` e um exemplo de resposta. O header Authorization é formado combinando seu `client_id` e `client_secret` com dois pontos (:), codificando o resultado em Base64 e adicionando o prefixo Basic.

```json
curl --request POST \
  --url https://api-sbx.globalgetnet.com/authentication/oauth2/access_token \
  --header 'authorization: Basic c2J4XzlmMzQzZWMzLTczNjItNGY2Yi05N2UyLTIzY2FiMjA1M2I3NDo1YTE3MDAyMC05YzMzLTQ1NTUtODM0NC1mZjNiOTY0ZDY0Mzb=' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data grant_type=client_credentials
```

A API retorna uma resposta com o seu access token:

```json
{
  "access_token": "eyJ0eXAiOiJKV1QiLCJraWQiOiI1amhLMy9xK0ZpK0tTRkIrRUwwN3VhMFYwdGM9IiwiYWxnIjoiUlMyNTYifQ...",
  "scope": "digital-platform-sbx:gateway-api",
  "token_type": "Bearer",
  "expires_in": 3599
}
```

### Etapa 2: Realizar chamadas à API

Todas as transações exigem um Bearer token gerado por meio do OAuth 2.0. Você deve incluir esse token no header Authorization de cada requisição da API para garantir acesso seguro e controlado.

Inclua o access token no header Authorization das suas requisições de API. Utilize o esquema de autenticação Bearer. Insira o access_token recebido no header Authorization, com o prefixo `Bearer`.

Formato do header Authorization:

`Authorization: Bearer {access_token}`

```json
curl https://api-sbx.globalgetnet.com/dpm/payments-gwproxy/v2/payments \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'x-seller-id: YOUR_SELLER_ID' \
  --header 'Authorization: Bearer a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8'
```

### Gerenciamento de tokens

Os Access Tokens são temporários e expiram após o tempo especificado no campo expires_in (uma hora). Sua aplicação deve ser projetada para solicitar um novo token após a expiração ou antecipadamente antes que ele expire, garantindo a continuidade do serviço.

### Próximos passos

Agora que você concluiu o processo de autenticação, siga para as próximas etapas:

* [Guia de início rápido](/pt/global-api/sep-api/first-steps-api/quickstart-api) - Crie sua primeira transação de pagamento em minutos.
* [Métodos de pagamento suportados](https://docs.globalgetnet.com/en/products/online-payments/regional-api) - Veja todas as opções de pagamento disponíveis
* [Endpoint de autenticação](https://docs.globalgetnet.com/en/products/online-payments/regional-api/swagger#tag/authentication/post/authentication/oauth2/access_token) - Autorize sua requisição