FROM CACHE - pt-br_header
Esta comunidade agora é um espaço de suporte colaborativo. O Atendimento ao cliente da Shopify ficará indisponível para a comunidade, mas você pode se conectar com outros lojistas e parceiros para compartilhar dúvidas, dicas e experiências! Conteúdos que violam nosso Código de conduta ou que você deseja que sejam removidos ainda devem ser denunciados.

Re: API GraphQL.

API GraphQL.

MarcioAmorim
Shopify Partner
1 0 0

Estou integrando meu ERP através da API da, até ontem estava fluido normalmente.

 

hoje as minhas requisições API REST, continuam ok mas quando executo uma requisição API GraphQL ao invés de retornar um JSon retorna um html  como se tivesse problema de autenticação, apesar de o status retornar 200 OK

ja inclusive refiz o token achando qeu podia ser algum problema com ele, alguém consegue me ajudar?

2 RESPOSTAS 2

ScalaApps
Shopify Partner
66 2 11

Você provavelmente esqueceu de usar o método “POST”,

se você não botar nenhum método sua request é tratada como GET.

 

Tenta usar esse exemplo no terminal com sua chave e loja pra ver se funciona:

 

curl -X POST https://sua_loja.myshopify.com/admin/api/2024-10/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: chave' \
-d '{
  "query": "{\nproducts(first: 3) {\nedges {\nnode {\nid\ntitle\n}\n}\n}\n}"
}'

 

Scala Apps



- If you find my reply helpful, please hit Like and Mark as Solution

- Se você achar minha resposta útil, por favor clique em Curtir e Marcar como Solução

Parcelamento/Installments | Hide sold variants | Apps | Blog

AgenciaFY
Shopify Partner
47 6 8

Olá Marcio,

O comportamento que você está descrevendo — onde uma requisição à API GraphQL retorna HTML em vez de JSON, apesar de o status ser 200 OK — sugere que pode haver uma questão relacionada à autenticação ou à formatação da requisição. Aqui estão alguns pontos a considerar e verificar:

1. Verificar o Cabeçalho de Autenticação

Certifique-se de que o cabeçalho de autenticação está sendo enviado corretamente. A autenticação para GraphQL deve ser feita através do Bearer Token. Confira se você está enviando o cabeçalho corretamente:

 

Authorization: Bearer <seu_token_de_acesso>

Mesmo que o token tenha sido recriado, o cabeçalho precisa estar configurado corretamente para que a autenticação funcione.

2. Content-Type

Garanta que o Content-Type da requisição esteja configurado corretamente como application/json. A API GraphQL depende do formato JSON para processar as consultas:

 

Content-Type: application/json

Sem isso, o servidor pode interpretar erroneamente a requisição como HTML.

3. Estrutura da Requisição GraphQL

Confira se a estrutura da requisição GraphQL está formatada corretamente. Um exemplo de corpo de requisição seria:

 

 
{
  "query": "query { shop { name } }"
}

E a requisição completa (exemplo usando curl) seria algo assim:

 

 

 

curl -X POST https://your-shop.myshopify.com/admin/api/2024-01/graphql.json \
  -H "Content-Type: application/json" \
  -H "X-Shopify-Access-Token: <seu_token_de_acesso>" \
  -d '{"query": "{ shop { name } }"}'

4. Verificar se o Endereço da API está Correto

A URL para a API GraphQL deve ser algo como:

 

 
https://<your-shop-name>.myshopify.com/admin/api/2024-01/graphql.json

Garanta que você está usando o endpoint correto para a versão da API com a qual está trabalhando.

5. Limpeza de Cache e Autenticação

Se você tiver certeza de que tudo está correto, tente:

  • Limpar caches locais ou caches de autenticação na sua aplicação.
  • Verificar a validade e o escopo do token de autenticação.
  • Verificar se não há problemas temporários com o servidor ou possíveis alterações no ambiente da API que possam ter ocorrido recentemente.

6. Erros de Permissão

Se o token estiver com permissões inadequadas ou se o app associado não tiver as permissões corretas, o Shopify pode estar retornando um HTML com uma página de erro, mesmo com status 200. Verifique se o token tem permissões adequadas para a operação que você está tentando realizar.

7. Logs do Servidor

Se possível, verifique os logs de requisição da sua aplicação ou ERP. Eles podem conter mais informações sobre a resposta recebida.

8. Testar em uma Ferramenta de Teste

Você pode usar ferramentas como o Postman ou o próprio GraphiQL para verificar se a requisição está funcionando corretamente fora do ERP.

Se após essas verificações o problema persistir, vale a pena verificar com o suporte técnico do Shopify, pois pode ser uma questão temporária ou uma mudança recente na API.

Paolo Orlando
CEO - AgenciaFY
Shopify Partner no Brasil
CEO e Fundador da PLAYECOM