API ( Consulta com API com retorno incorreto/Incompleto)

Topic summary

Um desenvolvedor está enfrentando inconsistências ao consultar dados de clientes via API da Shopify. Quando acessa a URL .json diretamente pelo navegador, recebe os dados completos corretamente. Porém, ao usar ferramentas como Postman ou Insomnia, obtém informações diferentes e incompletas.

Possíveis causas identificadas:

  • A rota admin.shopify.com/{loja}/customers/{id}.json parece ser interna e pode ser removida futuramente
  • Diferenças nas permissões configuradas no token de acesso utilizado nas requisições API
  • Versão desatualizada da API (2023) sendo utilizada, quando a mais recente é 2025-01

Recomendações fornecidas:

  • Migrar para GraphQL, já que a API REST será descontinuada pela Shopify
  • Usar a query customer do GraphQL para obter todas as informações necessárias em uma única busca
  • Atualizar para a versão mais recente da API
  • Ter cuidado com a exposição do Access Token devido aos dados sensíveis envolvidos

Status: Discussão permanece aberta, aguardando implementação das soluções sugeridas.

Summarized with AI on November 2. AI used: claude-sonnet-4-5-20250929.

Não consegui achar nenhuma documentação sobre a rota “admin.shopify.com/{loja}/customers/{id}.json

Me parece que essa é uma rota interna que provavelmente vai ser removida.

A outra rota usa o api REST que eles dizem que vai ser descontinuada e ser substituida pela api GraphQl, o id retornado é o “gid” do pedido, com esse “gid” você tem que fazer outra busca. Com GraphQL dá pra retornar essa informação com só uma busca.

Se usar a query no abaixo link com o id do usuário, ela consegue retornar todas as informações necessárias, o único problema é ter que se acostumar com GraphQL:

https://shopify.dev/docs/api/admin-graphql/2024-10/queries/customer

Pra achar o número do último pedido tem que retornar os campos customer → orders (last:1) → nodes → name

É um pouco confuso porque o numero “#1065” é apenas para o lojista, no sistema da Shopify eles usam o “gid”, por isso na query acima o número que você quer se chama “name” em vez de “id”.