Autenticação

Gerar Token de Acesso

🚧

Tempo de Expiração do token de acesso

O tempo para expiração do token de acesso é de 2 dias no ambiente de produção e de 5 minutos em nosso ambiente de homologação(sandbox).

O padrão de autenticação bearer-token foi utilizado para todas as requisições:

Para se obter o token de acesso no ambiente de homologação deve-se consumir a operação gerar_token no seguinte endereço:

[https://sandbox.grupocard.com.br/authorization/token]

No corpo da requisição deve se enviar duas informações grant_type e scope, no formato x-www-form-urlencoded, conforme exemplo abaixo:

POST /authorization/token
Host: 127.0.0.1
Authorization: Basic NmM2MTM5NDUtOGQ1YS00YTBkLWI2NjAtMDlkZTVmYmRiNzUzOjMxZTA5M2Y5OGVhZDIyZWZjMjFiMzhhODdhMmE1YmQ3MWZjMTJiZWRlMzM3OWY1ZWFlNmM2ZjdkYTlkYWJjNWY=
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&scope=Venda_Telecom, Venda_Egift...

Para identificar as credenciais do usuário que deseja obter o token se faz necessário o envio de um cabeçalho Authorization utilizando o basic auth:

KEYVALUEDescrição
AuthorizationBasic Base64(app-key+app-secret)Deve se enviar token em base 64 do app-key mais app-secret fornecido para seu usuário

Corpo da requisição da operação gerar_token:

KEYVALUEDescrição
grant_typeclient_credentialsA estrutura OAuth especifica vários tipos de concessão para diferentes casos de uso, bem como uma estrutura para criar novos tipos de concessão, ex: client_credentials.
scopeVenda_Egift Venda_FlexPark Venda_Guaicurus Venda_MSCAP Venda_SPTrans Venda_Telecom Venda_TeleSena Venda_TvPrePaga Venda_Voucher Envio_SMS PagamentoDeContasNome do escopo de produtos a ser utilizado nas operações, podem ser enviados vários escopos separados por um espaço, ex: MultiProdutos_Telecom

Resposta da requisição da operação gerar_token:

CampoTipoDescrição
access_tokenStringToken de acesso para ser utilizado no cabeçalho das requisições
token_typeStringTipo do token de acesso
expires_inLongTimestamp representando a data de expiração do token de autenticação
refresh_tokenStringPara estender um token existente, você pode usar a concessão de refresh_token
scopeStringEscopos do multiprodutos que estarão disponíveis para uso através do token de acesso gerado, caso haja mais de um escopo devem ser enviados separados por um espaço

Exemplo de resposta:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5ncnVwb2NhcmQuY29tLmJyIiwic3ViIjoiNzk3OGI0MzItYzdhYS01MzJhLTgyMjAtMDIxNzlkZWUyZmMwIiwiaWF0IjoxNjUxNDk5Njc5LCJleHAiOjE2NTE2NzI0NzksIm5hbWUiOiJhZG1pbiJ9.Z5DjhkjQPn4whOBctKXI9ZIvTUUNoR3GcIyEQZ9KmU4",
    "token_type": "bearer",
    "expires_in": 1651672479,
    "refresh_token": "b1ef83e36ba5db577940-1133662f0d58c0818f91ba01cf422e26aa5f9a6e09ac0e70-f2700f8e12",
    "scope": "MultiProdutos_Telecom,MultiProdutos_Voucher"
}

Exemplo de geração de token na ferramenta Postman:

1507 1496

Para estender um token existente, você pode usar a concessão de token de atualização, conforme exemplo abaixo:

POST /authorization/token
Host: 127.0.0.1
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&refresh_token=65e95c8da122a0a5522f-534b054a029019548036c8253d591309247d2899223a6a7b-907deae7ff

Corpo da requisição da operação atualizar_token :

KEYVALUEDescrição
grant_typerefresh_tokenA estrutura OAuth especifica vários tipos de concessão para diferentes casos de uso, bem como uma estrutura para criar novos tipos de concessão, ex: client_credentials.
refresh_tokenValor obtido na requisição anterior no campo "refresh_token"Token a ser utilizado para atualizar a concessão ao token de acesso anterior

Exemplo de reposta da operação atualizar_token:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5ncnVwb2NhcmQuY29tLmJyIiwic3ViIjoiNmQwZjQyYzQtMWNjOS01ODNmLWE3N2QtZDI0ZmI0NGFjYTdhIiwiaWF0IjoxNjUzMDU4ODE2LCJleHAiOjE2NTMyMzE2MTYsIm5hbWUiOiJBZG1pbmlzdHJhdG9yIn0.NlZaXUA9JzIjpwPoi3YYyyoFTeGBNHIZLR647TdfsZY",
    "token_type": "bearer",
    "expires_in": 1653231616,
    "refresh_token": "24bf79aa57de8d97ca87-6642a963aa964bce379e9372df50a455e58f4c65efbcb510-00c2cb834f",
    "scope": "Venda_Telecom"
}

Erros possíveis na geração de token

Credenciais não enviadas no header da requisição:

{
    "error": "invalid_request",
    "error_description": "Credentials not available"
}

Credenciais desconhecidas ou app-key+app-secret fornecido de forma incorreta:

{
    "error": "invalid_client",
    "error_description": "Unknown credentials"
}

Escopo inválido para o usuário fornecido:

{
    "error": "invalid_scope",
    "error_description": "No valid scope given"
}

URL do ambiente de produção para consumo

O ambiente de produção possui duas URLs distintas, que são utilizadas conforme o modelo de conectividade escolhido pelo parceiro.

Para acesso ao ambiente de produção, a URL a ser utilizada é:

[https://hub.grupocard.com.br]