Para desenvolver aplicativos para a Yampi, é obrigatório o uso de autenticação com OAuth 2.0. Você pode localizar suas credenciais de acesso para OAuth ao criar seu aplicativo no Painel de Parceiros Yampi.
URLs de instalação
A instalação do seu aplicativo usa duas URLs, configuradas no bloco URLs de instalação em Configurar o aplicativo, no Painel de Parceiros:
Exemplo de configuração:
Regras das URLs
- As duas URLs são obrigatórias.
- As duas precisam usar HTTPS ao enviar para análise. Para versões em desenvolvimento, endereços
localhosttambém são aceitos, por exemplohttp://localhost:3000/oauth/callback. - As duas URLs podem ser iguais. Nesse caso, o mesmo endpoint recebe o lojista sem parâmetros, no início da instalação, e com
codeouerror, no retorno da autorização, e precisa tratar os dois casos. - Em um aplicativo publicado, alterar qualquer uma das URLs cria uma nova versão major. Essa versão passa por análise e exige um novo teste de instalação em loja teste. Veja Atualizando aplicativos publicados.
- As URLs valem apenas para novas autorizações. Instalações existentes e tokens já emitidos não são afetados.
Aplicativos criados antes da separação tinham um único campo, URL de redirecionamento. O valor desse campo foi copiado para a URL de entrada e para a URL de callback, e o seu aplicativo continua funcionando sem nenhuma alteração. Se o seu painel ainda exibe o campo único, ele vale como URL de entrada e como URL de callback.
Fluxo de autorização
Para integrar seu aplicativo a uma loja Yampi, é necessário implementar um fluxo de autorização. Esse fluxo redireciona os lojistas Yampi para uma página onde seu aplicativo será integrado à loja.1. Obtenha as credenciais de autorização no Painel de Parceiros
Acesse o Painel de Parceiros Yampi, crie sua conta, habilite seu Perfil de Parceiro Tech e registre um novo aplicativo. Em Configurar o aplicativo, preencha a URL de entrada e a URL de callback, descritas em URLs de instalação. OClient ID da sua integração é gerado depois que você salva essas configurações.
2. Redirecionamento para autorização utilizando PKCE
Quando o lojista clica em Instalar na Loja de Aplicativos, a Yampi abre a sua URL de entrada, sem parâmetros. A partir dela, seu aplicativo inicia a autorização. Como essa concessão de autorização não utiliza um Client Secret, é necessário gerar o Code Verifier (verificador de código) e o Code Challenge (desafio de código) para solicitar um token.Code Verifier
Uma string aleatória de 128 caracteres usada para gerar oCode Challenge, que será enviado no redirecionamento para autorização e na solicitação do Access Token.
O Code Challenge deve ser uma sequência aleatória de 43 a 128 caracteres contendo letras, números e os caracteres ”-”, ”.”, ”_”, ”~”. Ele deve ser codificado em Base64 com caracteres seguros para URL e nomes de arquivos. Os caracteres ’=’ finais devem ser removidos, e não devem haver quebras de linha, espaços em branco ou outros caracteres adicionais, conforme definido na especificação RFC 7636.
Code Challenge usando o Code Verifier:
Redirecionando para autorização
Ao receber o lojista na URL de entrada, seu aplicativo deve redirecioná-lo para a rotahttps://auth.yampi.com.br/oauth/authorize.
Você usará o Client ID gerado no passo 1, o Code Verifier e o Code Challenge para solicitar um Authorization Code ao Authorization Server da Yampi. No parâmetro redirect_uri, envie a URL de callback configurada no Painel de Parceiros.
O Authorization Server retornará o Authorization Code, que será usado pelo seu aplicativo para requisitar o Access Token, o Refresh Token e o alias da loja integrada.
Recebendo o retorno na URL de callback
Depois que o lojista responde à tela de consentimento, a Yampi o redireciona para a sua URL de callback:
Exemplo de retorno com autorização:
code, confira se o state recebido é o mesmo que seu aplicativo salvou na sessão ao redirecionar para /oauth/authorize. Se for diferente, descarte o retorno.
Erros comuns
3. Obtenha um token de acesso do Authorization Server da Yampi
Com oAuthorization Code gerado, seu aplicativo deve obter um Access Token antes de acessar dados de uma loja pela API Yampi.
O Access Token pode conceder uma ou mais permissões de acesso, configuradas no painel de parceiros por meio do scope (escopo). O scope define quais rotas da API podem ser acessadas.
Durante a instalação do aplicativo, o usuário será solicitado a conceder as permissões solicitadas. Esse processo é chamado de consentimento do usuário.
Se o usuário conceder permissão, o Authorization Server da Yampi redirecionará o usuário à sua URL de callback com um Authorization Code e o merchant da loja integrada.
Formato da requisição para obter o Access Token. O redirect_uri deve ser a URL de callback, idêntica à enviada em /oauth/authorize:
Erros comuns
4. Use o Access Token para acessar a API Yampi
Após obter oAccess Token, ele deve ser incluído no cabeçalho das chamadas HTTP do seu aplicativo.
Formato da requisição com os cabeçalhos obrigatórios: access_token e X-Partner-Client-ID:
Erros comuns
5. Atualize os tokens
OAccess Token tem um tempo de vida limitado. Tokens gerados pelo fluxo PKCE Authorization Code permanecem válidos por 10 minutos, enquanto o Refresh Token é válido por 30 dias.
Seu aplicativo deve obter novos tokens antes que o Refresh Token expire.
Formato da requisição para gerar um novo Access Token: