> For the complete documentation index, see [llms.txt](https://aiblue.gitbook.io/aiblue/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aiblue.gitbook.io/aiblue/documentation/integracoes-intermediarias/para-donos-de-lojas-shopify.md).

# Para donos de lojas Shopify

## Como treinar seu chatbot com o catálogo de produtos da sua loja Shopify

Este guia ensina, passo a passo, a treinar um chatbot (por exemplo no **aiBlue** ou plataformas de chat semelhantes) usando os produtos de uma loja Shopify **sem fazer scraping** ou utilizar APIs complexas. Ele foi atualizado com as mudanças anunciadas pela Shopify até outubro de 2025, incluindo a limitação de variantes e a descontinuação de algumas APIs.

### 1. Entenda o que mudou em 2024–2025

* **API REST Admin é legado:** a Shopify declarou a API REST Admin como legado a partir de 1º de outubro de 2024. Apps e integrações devem migrar para a **GraphQL Admin API**[shopify.dev](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model#:~:text=The%20REST%20Admin%20API%20is,steps%2C%20visit%20our%20%2019). A API REST não retorna mais de 100 variantes por produto e deixa de funcionar para produtos com mais de 100 variantes[shopify.dev](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model#:~:text=The%20REST%20Admin%20API%20is,steps%2C%20visit%20our%20%2019).
* **Mais variantes por produto:** em 15 de outubro de 2025 a Shopify aumentou o limite de variantes de 100 para **2 048 variantes** por produto[shopify.dev](https://shopify.dev/changelog/the-product-variant-limit-is-now-2048-for-all-merchants#:~:text=It%20is%20now%20possible%20for,historical%20variant%20limit%20of%20100). Para lidar com produtos com mais de 100 variantes, é preciso usar as APIs GraphQL. Entretanto, para fins de treinamento de chatbot, é suficiente trabalhar com as informações públicas.
* **Ajax API (pública) permanece:** a Shopify disponibiliza uma API Ajax não autenticada, usada por temas. Ela permite buscar dados de produtos sem token de acesso, mas limita a resposta a **250 variantes** por produto[shopify.dev](https://shopify.dev/docs/api/ajax#:~:text=,order%20data%2C%20or%20update%20any).

### 2. Obtenha o catálogo JSON da sua loja

Como não vamos utilizar a API Admin (que requer token) nem fazer scraping, usaremos o endpoint público que retorna os produtos da loja em **JSON**:

1. Abra o navegador e digite:

   ```
   https://<nome-da-sua-loja>.myshopify.com/products.json?limit=250
   ```

   Substitua `<nome-da-sua-loja>` pelo domínio da sua loja. O sufixo `?limit=250` instrui o endpoint Ajax a retornar até 250 variantes por produto[shopify.dev](https://shopify.dev/docs/api/ajax#:~:text=,order%20data%2C%20or%20update%20any).
2. Aguarde a página carregar. Será exibido um bloco longo de texto entre chaves (JSON). Este arquivo contém campos como `title`, `body_html`, `variants`, `price` e `images`. Por exemplo, a estrutura de cada item segue o padrão Shopify:
   * `products[].title` — nome do produto;
   * `products[].body_html` — descrição (pode conter HTML);
   * `products[].variants[].title` — variação (cor, tamanho, grau, modelo etc.);
   * `products[].variants[].price` — preço;
   * `products[].images[].src` — URL de imagens.
3. Se sua loja tem muitos produtos, pode ser necessário obter páginas adicionais. Após o primeiro carregamento, busque um link `rel="next"` no cabeçalho de resposta. Essa URL contém um parâmetro `page_info` que leva à próxima página. Repita até capturar todos os produtos[inuko.net](https://www.inuko.net/blog/odoo_eshop/#:~:text=To%20query%20the%20current%20levels,10%2Fproducts.json%3Flimit%3D250%60%20api).
4. Selecione todo o conteúdo da página (Ctrl + A) e copie (Ctrl + C). **Não faça download ou conversão para CSV**. O objetivo é colar o JSON bruto no assistente.

> **Importante:** não use o endpoint `admin/api/2023-10/products.json?limit=250` a menos que tenha um token de acesso. Ele requer cabeçalho `X‑Shopify‑Access‑Token`[inuko.net](https://www.inuko.net/blog/odoo_eshop/#:~:text=To%20query%20the%20current%20levels,10%2Fproducts.json%3Flimit%3D250%60%20api) e está sujeito a migração obrigatória para GraphQL em 2025[shopify.dev](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model#:~:text=The%20REST%20Admin%20API%20is,steps%2C%20visit%20our%20%2019). O método descrito acima usa a API Ajax pública, que não exige autenticação[shopify.dev](https://shopify.dev/docs/api/ajax#:~:text=,order%20data%2C%20or%20update%20any).

### 3. Preparar o assistente (aiBlue ou outro)

1. **Abra a área de treinamento** do seu assistente. No aiBlue, vá para *Assistentes → Editar → Área de treinamento* e escolha a opção **Fonte → Texto**.
2. Apague qualquer conteúdo antigo e **cole todo o JSON que você copiou** no campo de texto. O assistente irá interpretar esse JSON como base de conhecimento.
3. Não use a opção de upload de arquivo nem converta para CSV. O método funciona porque o JSON segue um formato padrão e a plataforma consegue lê‑lo diretamente.

### 4. Forneça um metaprompt (instruções do sistema)

Para que o chatbot interprete corretamente o JSON e responda às perguntas dos clientes, forneça instruções claras na área de **instruções do sistema** (ou “prompt do assistente”). Copie e cole o texto abaixo e ajuste se necessário:

```
Você é um assistente especializado em responder perguntas sobre produtos de uma loja de e‑commerce.

A loja fornece um arquivo JSON no padrão Shopify, contendo:
- products[].title (nome do produto)
- products[].body_html (descrição em HTML)
- products[].variants[].title (variações como cor, tamanho, grau, modelo)
- products[].variants[].price (preço de cada variação)
- products[].variants[].available (disponibilidade: true/false)
- products[].images[].src (imagens)

Sua tarefa é:
1. Interpretar o JSON como uma base de dados relacional, sem exibir o JSON ao usuário.
2. Ao receber uma pergunta, localizar o produto pelo campo title e trazer as seguintes informações:
   - Nome e descrição (remover tags HTML).
   - Todas as variações disponíveis e seus preços.
   - Informar se a variação está disponível.
   - Oferecer link para a imagem ou URL do produto.
3. Se o usuário perguntar sobre uma variação específica (ex.: grau +1.50 ou cor “azul”), filtre a lista de variants e responda apenas com essa variação.
4. Não inventar informações que não existam no JSON. Se não houver certa informação, responda: “Não tenho essa informação neste momento.”
5. Responder sempre de maneira clara, natural e amigável, como um vendedor atencioso.
6. Quando pertinente, sugerir produtos similares baseados em palavras‑chave.

IMPORTANTE:
- Nunca mostre o JSON diretamente. Use-o apenas como fonte de dados.
- Não peça dados confidenciais do cliente.
```

### 5. Teste o chatbot

Após salvar o JSON e o metaprompt:

1. Faça perguntas simulando um cliente, por exemplo:
   * “Essa armação possui grau +2.00?”
   * “Quais tamanhos tem a Camiseta Básica?”
   * “Qual o preço do modelo *Classic* na cor preta?”
2. O chatbot deverá buscar as correspondências no JSON, filtrar as variantes e responder com detalhes. Caso não exista a variação, ele deve informar que não tem essa informação.
3. Se houver muitos produtos com nomes semelhantes, refine a pergunta com mais detalhes (cor, modelo, código) para auxiliar a busca.

### 6. Dicas e considerações finais

* **Atualize regularmente:** sempre que atualizar produtos ou variações na Shopify, gere o novo `products.json?limit=250` e substitua o conteúdo na área de treinamento. A API Ajax não tem limites rígidos de uso, mas respeite as políticas de uso da Shopify[shopify.dev](https://shopify.dev/docs/api/ajax#:~:text=,order%20data%2C%20or%20update%20any).
* **Limitações de variantes:** a API Ajax limita a resposta a 250 variantes por produto[shopify.dev](https://shopify.dev/docs/api/ajax#:~:text=,order%20data%2C%20or%20update%20any). Se seus produtos tiverem mais de 250 variantes (possível após a mudança para 2 048 variantes[shopify.dev](https://shopify.dev/changelog/the-product-variant-limit-is-now-2048-for-all-merchants#:~:text=It%20is%20now%20possible%20for,historical%20variant%20limit%20of%20100)), o JSON público pode não listar todas. Para catálogos muito complexos, considere utilizar a GraphQL Admin API, lembrando que a API REST foi descontinuada[shopify.dev](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model#:~:text=The%20REST%20Admin%20API%20is,steps%2C%20visit%20our%20%2019).
* **Dados sensíveis:** a API Ajax não retorna informações de clientes ou pedidos e não deve ser usada para isso[shopify.dev](https://shopify.dev/docs/api/ajax#:~:text=,the%20%2012%20GraphQL%20Admin). Limite-se ao catálogo público para fins de chatbot.

Seguindo essas etapas, qualquer lojista pode treinar um chatbot de forma rápida e legal, utilizando apenas o conteúdo público do catálogo de produtos. O resultado é um atendimento automático que responde dúvidas sobre produtos, tamanhos, preços e disponibilidade sem exigir scraping ou integração complexa.
