Obter Token de Acesso
Obtém um token de acesso (JWT) via OAuth 2.0 Client Credentials. As credenciais api_key e api_secret devem ser enviadas no header Authorization: Basic, com o valor em base64 da string api_key:api_secret.
As credenciais são gerenciadas pelo Internet Banking da Conta Simples.
Importante:
- O token expira em 30 minutos (
expires_in: 1800). - Renove o token antes da expiração para evitar interrupções.
- Use
Content-Type: application/x-www-form-urlencodedno body (apenasgrant_type=client_credentials).
curl -X POST "https://api-sandbox.contasimples.com/oauth/v1/access-token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Basic YOUR_CREDENTIALS" \
--data-urlencode grant_type=client_credentials
import requests
import json
url = "https://api-sandbox.contasimples.com/oauth/v1/access-token"
headers = {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic YOUR_CREDENTIALS"
}
data = {
"grant_type": "client_credentials"
}
response = requests.post(url, headers=headers, data=data)
print(response.json())
const params = new URLSearchParams();
params.append("grant_type", "client_credentials");
const response = await fetch("https://api-sandbox.contasimples.com/oauth/v1/access-token", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic YOUR_CREDENTIALS"
},
body: params
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"net/url"
"strings"
)
func main() {
data := url.Values{}
data.Set("grant_type", "client_credentials")
req, err := http.NewRequest("POST", "https://api-sandbox.contasimples.com/oauth/v1/access-token", strings.NewReader(data.Encode()))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.Header.Set("Authorization", "Basic YOUR_CREDENTIALS")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api-sandbox.contasimples.com/oauth/v1/access-token')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/x-www-form-urlencoded'
request['Authorization'] = 'Basic YOUR_CREDENTIALS'
request.set_form([
["grant_type", "client_credentials"]
], 'application/x-www-form-urlencoded')
response = http.request(request)
puts response.body
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 1800
}
{
"error": "Bad Request",
"message": "Um ou mais parâmetros da requisição são inválidos.",
"code": 400,
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"details": [
"O campo exemplo deve ter um valor entre 5 e 100.",
"datas devem estar no formato YYYY-MM-DD."
]
}
{
"error": "Unauthorized",
"message": "Token de acesso inválido ou expirado.",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 401
}
{
"error": "Not Found",
"message": "O recurso solicitado não foi encontrado.",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 404
}
{
"error": "Internal Server Error",
"message": "Ocorreu um erro inesperado ao processar a solicitação.",
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"code": 500
}
/oauth/v1/access-token
Username for basic authentication
Password for basic authentication
The media type of the request body
Tipo de concessão OAuth 2.0. Sempre client_credentials.
Request Preview
Response
Response will appear here after sending the request
Authentication
Basic authentication credentials. API Key e API Secret no formato api_key:api_secret, encodados em base64. Header: Authorization: Basic {base64(api_key:api_secret)}
Body
Tipo de concessão OAuth 2.0. Sempre client_credentials.
client_credentialsResponses
Token JWT para autenticação nas chamadas à API. Inclua no header Authorization: Bearer {token}.
Tipo do token. Sempre Bearer.
BearerTempo de vida do token em segundos. Padrão: 1800 (30 minutos).
Breve identificação do tipo de erro (ex.: Bad Request, Not Found).
Descrição breve do erro para o cliente da API.
Código HTTP do erro (corresponde ao status da resposta).
Opcional. Em erros 400, pode ser uma string com um único detalhe ou um array de strings com cada falha de validação.
Breve identificação do tipo de erro (ex.: Bad Request, Not Found).
Descrição breve do erro para o cliente da API.
Código HTTP do erro (corresponde ao status da resposta).
Opcional. Em erros 400, pode ser uma string com um único detalhe ou um array de strings com cada falha de validação.
Breve identificação do tipo de erro (ex.: Bad Request, Not Found).
Descrição breve do erro para o cliente da API.
Código HTTP do erro (corresponde ao status da resposta).
Opcional. Em erros 400, pode ser uma string com um único detalhe ou um array de strings com cada falha de validação.
Breve identificação do tipo de erro (ex.: Bad Request, Not Found).
Descrição breve do erro para o cliente da API.
Código HTTP do erro (corresponde ao status da resposta).
Opcional. Em erros 400, pode ser uma string com um único detalhe ou um array de strings com cada falha de validação.
Last updated today
Built with Documentation.AI