Autenticação

Veja os principais conceitos que usamos para verificação de usuários no contexto da integração

A autenticação com a API do Melhor Envio utiliza o padrão OAuth 2.0. Para fazer uma requisição, é preciso criar um aplicativo que gerenciará os tokens de acesso para um ou mais usuários. Esses tokens são a forma de verificar se o usuário que está fazendo a requisição tem permissão para acessá-la.

Oauth 2.0

OAuth 2.0 é um padrão de segurança de acesso destinado a APIs, permitindo que terceiros consumam recursos de um usuário de uma aplicação de maneira segura.

Através deste padrão, serão registrados aplicativos e geradas as informações necessárias para solicitação de autorização de acesso. A etapa de autenticação ocorrerá por meio de um painel formulado pelo Melhor Envio que será acessado através de uma URL específica montada conforme as definições técnicas que serão detalhadas nesta documentação.

Ao final do fluxo de autenticação, será necessário realizar uma requisição server-to-server para solicitar o access_token, que servirá como uma chave de acesso temporária às funções da API.

No Melhor Envio o access_token possui validade de 30 dias, sendo obrigatório implementar uma rotina de renovação do token para manter a integração funcional. Para isso, sempre será retornado junto ao access_token seu respectivo refresh_token com validade de 45 dias.

Scopes

Scopes são as permissões de acesso que o token receberá para acessar as funções da API por meio da integração. Os Scopes devem ser incluídos na URL de autorização.
Os tokens gerados conterão exatamente as permissões solicitadas.

Caso seja necessário alterar as permissões já concedidas, realize uma nova solicitação de autorização.

É obrigatório que sejam solicitados apenas aqueles scopes necessários para a integração.

Token

Tokens representam a autorização de um aplicativo para acessar partes de dados de um usuário. São chaves criptografadas que devem permanecer acessíveis apenas ao servidor da aplicação, ao servidor de autorização e ao servidor responsável pelo recurso a ser acessado.

Os tokens do Melhor Envio são baseados no método JSON Web Tokens (JWT - https://jwt.io), padrão web de representação segura para tratar transferências entre duas partes distintas. Algumas informações podem ser extraídas do JWT facilmente, sendo simples verificar se os dados de token estão corretos.

$tokenParts = explode('.', $token);

$tokenHeader = json_decode(base64_decode($tokenParts[0]));
$tokenPayload = json_decode(base64_decode($tokenParts[1]));
$tokenSignature = $tokenParts[2];

print($tokenPayload);