Criar e atualizar token - OAuth - Mercado Pago Developers
Criar e atualizar token

POST

/oauth/token
Para criar ou atualizar o token necessário para operar seu aplicativo em nome de um vendedor.
Parâmetros de requisição
client_id

OBRIGATÓRIO

string
Localização: bodyID único que identifica sua aplicação/integração. Uma das chaves do par que compõe as credenciais que identifica uma aplicação/integração na sua conta.
client_secret

OBRIGATÓRIO

string
Localização: bodyChave privada para ser utilizada em alguns plugins para gerar pagamentos. Uma das chaves do par que compõe as credenciais que identifica uma aplicação/integração na sua conta.
code
string
Localização: bodyCódigo concedido pelo servidor de autenticação para que a aplicação possa obter um access token e um refresh token associado. Tem validade de 10 minutos contados a partir da sua geração. Requerido quando grant_type=authorization_code.
grant_type

OBRIGATÓRIO

string
Localização: bodyEspecifica o tipo de operação a ser executada para obter suas credenciais.
authorization_code: used to get the access token for the first time.
refresh_token: it is used to refresh an existing token.
Parâmetros de resposta
access_token
string
Localização: bodyCódigo de segurança que identifica o usuário, seus privilégios e uma aplicação utilizado nas diferentes requests de origem pública para ter acesso a recursos protegidos. Tem sua validade determinada pelo parâmetro expires_in e são semelhantes a APP_USR-1585551492-030918-25######3458-2880736 sendo compostos por
Access token type: APP_USR (application on behalf of a user), TEST (test, only valid in sandbox)
Client ID: 1585551492
Creation date (MMddHH): 030918
Security hash: 25######3458
User ID: 2880736
token_type
string
Localização: bodyinformações necessárias para que o token seja usado corretamente para acessar recursos protegidos. O token do tipo "bearer" é o único suportado pelo servidor de autorização e é usado quando o access token é incluído como texto simples na solicitação. Entende-se que o portador tem acesso direto ao token.
expires_in
number
Localização: bodyTempo fixo de expiração do access_token expresso em segundos. Por padrão o tempo de expiração é 180 dias (15552000 segundos).
scope
string
Localização: bodyScopes são utilizados no processo de autorização e consentimento das APIs e permitem determinar ao que o acesso está sendo solicitado por parte da aplicação e ao que se está concedendo acesso por parte do usuário. Por padrão, os scopes associados ao token são os que foram determinados no momento de criação do token original e configuração da aplicação.
Solicitação
curl
curl -X POST \
    'https://api.mercadopago.com/oauth/token' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    -d '{
  "client_secret": "client_secret",
  "client_id": "client_id",
  "grant_type": "authorization_code",
  "code": "TG-XXXXXXXX-241983636"
}'
Resposta
json
{
  "access_token": "APP_USR-4934588586838432-XXXXXXXX-241983636",
  "token_type": "bearer",
  "expires_in": 15552000,
  "scope": "offline_access read write",
  "user_id": 241983636,
  "refresh_token": "TG-XXXXXXXX-241983636",
  "public_key": "APP_USR-d0a26210-XXXXXXXX-479f0400869e",
  "live_mode": true
}
Erros
400bad_request
invalid_client invalid_client -- O client_id y/o client_secret de seu aplicativo fornecido é inválido.
invalid_grant invalid_grant -- Os motivos são vários, pode ser porque o authorization_code ou refresh_token são inválidos, expiraram ou foram revogados, foram enviados em um fluxo incorreto, pertencem a outro cliente, ou o redirect_uri usado no fluxo de autorização não corresponde ao que tem configurado seu aplicativo.
invalid_scope invalid_scope -- O alcance solicitado é inválido, desconhecido ou está formado na forma errada. Os valores permitidos para o parâmetro alcance são: “offline_access”, ”write”, ”read”.
invalid_request invalid_request -- A solicitação não inclui um parâmetro obrigatório, inclui um parâmetro ou valor de parâmetro não suportado, tem algum valor dobrado ou está mal formado de outra forma.
unsupported_grant_type unsupported_grant_type -- Os valores permitidos para grant_type son “authorization_code” ou “refresh_token”.
forbidden forbidden -- A chamada não autoriza o acesso, possivelmente esteja sendo utilizado o token de outro usuário.
unauthorized_client unauthorized_client -- A aplicação não tem grant com o usuário ou as permissões (scopes) que tem o aplicativo com esse usuário, não permitem criar um token.