Entendi, mas nesse caso como que consigo um token por exemplo em sandbox, ja que os dados que estou usando é no sandbox e o mesmo esta retornando que não esta correto.
O erro acontece nessa chamada.
https://auth.nuvemfiscal.com.br/oauth/token
Pra conseguir um token para o sandbox, você precisa gerar as credenciais (client id e client secret) para sandbox, e aí solicitar um token chamando essa URL que você passou no domínio auth.nuvemfiscal.com.br
.
Se a chamada tem erro, cole aqui a requisição exata que você está tentando fazer, seja no curl ou no Postman, como solicitei acima (trocando o id e secret).
Segue conforme solicitado.
$url = "https://auth.nuvemfiscal.com.br/oauth/token";
$curl = curl_init();
$post = "grant_type=client_credentials&client_id=$client_id&client_secret=$client_secret&scope=cep%20cnpj%20nfse%20mdfe";
var_dump($post);
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $post,
CURLOPT_HTTPHEADER => array(
'Host: auth.nuvemfiscal.com.br',
'Content-Type: application/x-www-form-urlencoded',
'Content-Length: 91',
),
));
$response = curl_exec($curl);
A princípio parece certo. Tem certeza que o client_id
que você está colocando é exatamente o que foi fornecido nas credenciais? Consegue inspecionar a requisição HTTP pra ver se o client_id correto está lá?
Bom dia,
As informações do client estão corretas na chamada.
Não teria como saber o que está chegando na API de voces?
Qual é o e-mail da sua conta na Nuvem Fiscal?
Qual é o client id que você está usando (pode colocar o início dele aqui, não precisa colocar tudo).
Olá @antonio,
Segue um exemplo de requisição via curl
:
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=client_credentials&client_id=seu-client-id&client_secret=seu-client-secret&scope=cep%20cnpj%20nfse" https://auth.nuvemfiscal.com.br/oauth/token
Favor testar substituindo os parâmetros client_id
e client_secret
pelas suas credenciais obtidas no Console da Nuvem Fiscal. Caso continue recebendo um erro, favor adicionar o parâmetro -v
(ou --verbose
) ao curl
e postar aqui a saída do comando (ocultando suas credenciais, obviamente).
Bom dia,
Efetuei o teste e funcionou a chamada.
Vocês teriam um exemplo no postman para que eu possa importar, ou curl php?
Não tem muito segredo, é só usar os mesmos parâmetros que foram informados. No Postman precisa informar o método POST e a URL, o header de content-type e o conteúdo da mensagem.
Havia pedido detalhes de com você estava fazendo com o Postman, um print de tela, algo assim, para a gente tentar identificar o que você está fazendo de errado.
A imagem mostra que a URL que você está acessando está diferente. Parece que você inverteu a ordem dos nomes:
Aparentemente você colocou &<seu-client-id>=$client_id
, o que não faz muito sentido.
O certo é client_id=<seu-client-id>
, ou seja, o texto client_id
à esquerda (sem o cifrão), um igual (=
) e então o seu client id.
O método deve ser POST, não GET. Qual foi o erro que você recebeu na requisição acima? Coloque o erro também, facilita o suporte.
Alterei para post.
Apenas fica solicitando requisição e não retorna. Poderiam me mandar um print de uma requisição do postman de voces?
Segue a nossa requisição via Postman.
Note que usei seu próprio client_id e client_secret, acabou vazando na imagem acima. Recomendo que você apague essas credenciais imediatamente no Console da Nuvem Fiscal e crie outra.
o que tem na aba header?
Segue a imagem da aba Headers. É tudo automático, não foi mexido em nada nessa aba.
Suas credenciais ainda estão válidas.
Deu certo, muito obrigado.
Ok, obrigado pelo retorno. Só exclua suas credenciais, por favor.
Uma postagem foi dividida em um novo tópico: Problema com issuer no token (rejected due to invalid claims)
Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.