2.3.4. Migrando uma integração Shopify de Per market para Per language
A forma mais limpa de passar de Per market para Per language é atualizar os scopes do seu app Shopify e depois criar uma nova integração no Fozzels com o modo Per language. Se você já tem flows, entre em contato com o suporte do Fozzels em vez de fazer a troca por conta própria.
Antes de começar
Este guia é para clientes cuja integração Shopify usa o modo Per market e que não precisam de conteúdo específico por mercado dentro de um mesmo idioma. Com Per language, você sincroniza uma tradução por idioma e o Shopify a aplica a todos os mercados em que esse idioma está publicado. Isso significa menos operações de sincronização e um custo menor.
Primeiro, verifique duas coisas.
1. Seu app tem todos os scopes obrigatórios? Per language precisa de scopes que versões mais antigas do app podem não ter, na maioria das vezes read_publications. Abra seu app no Shopify Dev Dashboard, vá até Versions, abra a versão ativa e compare os Scopes dela com a lista do Passo 1. Se estiver faltando algum, faça o Passo 1. Se todos os scopes estiverem lá, pule para o Passo 2.
2. Você já tem flows no Fozzels? Isso define como você troca o modo.
| Sua situação | O que fazer |
|---|---|
| Nenhum flow ainda | Passo 1, se necessário, depois Passo 2, Opção A: arquive e recrie a integração |
| Flows já criados | Passo 1, se necessário, depois entre em contato com o suporte do Fozzels (Passo 2, Opção B) |
Por que não simplesmente trocar o modo na integração existente? A troca não remove os websites e stores antigos, baseados em mercados. Eles continuam na tabela como inativos, marcados com "Website is lost on integration", ao lado dos novos, baseados em idiomas. Os flows vinculados às stores antigas param de ser executados e fica difícil navegar pela tabela.

Passo 1. Shopify: adicione os scopes que faltam
Você não precisa de um novo app. Você cria uma nova versão do app existente com os scopes atualizados. O Client ID e o Secret continuam os mesmos.
1.1. Crie uma nova versão
- Faça login no Shopify Dev Dashboard: https://dev.shopify.com/dashboard.
- Abra Apps e selecione seu app do Fozzels.
- Vá até Versions e clique em Create version. A nova versão é baseada na sua versão ativa atual, então todas as configurações existentes são copiadas.


1.2. Atualize os scopes
Role até a seção Access. Em versões mais antigas do app, o campo Scopes muitas vezes não tem read_publications. Veja um exemplo de lista incompleta:

Substitua o conteúdo do campo Scopes pela lista completa:
read_locales,read_markets,write_markets,read_metaobject_definitions,read_metaobjects,read_product_feeds,read_product_listings,read_products,write_products,read_translations,write_translations,read_publications
Se você também quiser sincronizar dados de peso (a opção Inventory no Fozzels), adicione read_inventory e write_inventory ao final da lista.

Deixe todo o resto sem alterações: Optional scopes vazio e Use legacy install flow desmarcado.
1.3. Lance a versão
- Clique em Release (canto superior direito ou final da página).
- Se quiser, digite um nome para a versão, por exemplo
v2, e clique em Release para confirmar.
A nova versão passa a ser Active.

1.4. Aprove as novas permissões na sua loja
Lançar uma versão ainda não dá ao app as novas permissões. O proprietário da loja precisa aprová-las instalando o app novamente. Até lá, Per language não vai funcionar corretamente.
- Abra a página Overview do app e clique em Install app, ou abra o link de instalação em Distribution se você usa Custom distribution.
- Faça login com a conta do proprietário da loja, se for solicitado.
- Revise a lista de acessos e confirme a instalação.
Passo 2. Fozzels: troque para Per language
Opção A: nenhum flow ainda — arquive e recrie
Assim você fica com uma tabela Websites & Stores limpa, apenas com os novos websites baseados em idiomas.
- Antes de começar, copie a Api Key, o Api Secret e o App Host Name atuais do passo Configuration da integração, ou pegue o Client ID e o Secret em App settings → Credentials no Shopify Dev Dashboard.
- Abra a integração atual e desative a opção Active.
- Arquive a integração.
- Crie uma nova integração Shopify: Integrations → Shopify, método de conexão Custom App.
- Informe os mesmos URL, Api Key, Api Secret e App Host Name.
- Em Markets mode, escolha Per language.
- Defina as configurações opcionais, se você as usava antes (Inventory, Global Pull Schedule, delays), e clique em Save.
- Ative Active e clique em Pull Websites and Stores.
- Ative Status para cada website e sua store e depois clique em Pull products.

Para a descrição completa de cada campo, veja 2.3.2. Conectando lojas Shopify ao Fozzels pelo Shopify Dev Dashboard.
Opção B: flows já criados — entre em contato com o suporte
Entre em contato com o suporte do Fozzels antes de alterar o modo. Nós ajudamos você a fazer a troca mantendo seus flows funcionando e verificamos os códigos de locale do lado do Shopify, que podem mudar durante a troca.
Depois da migração
No modo Per language, cada idioma publicado é um website separado com uma store.

- A versão ativa do app no Shopify inclui
read_publicationse todos os outros scopes obrigatórios - O proprietário da loja aprovou as novas permissões (app instalado novamente)
- A integração usa Per language
- Authorized e REST API Connected estão verdes
- Os websites e stores estão ativos para os idiomas de que você precisa
- Os quatro pulls (Product Attribute, Category Attribute, Category, Product) terminaram em 100%
- Os flows foram recriados nas novas stores ou o suporte confirmou a troca (Opção B)