Quem: Mariusz Szatkowski, engenheiro de commerce com entregas exigentes em WooCommerce e Shopify, com a mesma exigência de integrações documentadas e números de desempenho que resistem a auditorias técnicas e financeiras.
O quê: Temas Liquid, Storefront API headless com Hydrogen e caminhos tipo Remix quando fazem sentido, extensões de checkout aderentes às políticas, ligações a ERP e logística, e resgate de lojas com apps concorrentes a corromper o INP.
Onde: Remoto a partir de Gdynia para marcas em Portugal, Espanha, restante UE e mercados lusófonos, com atenção a IVA, preços com impostos incluídos (comum no retalho português) e prazos de entrega realistas em cadeias de frio ou artesanal.
Investimento:
- Reconstrução de tema ou migração OS2: orçamento individual
- Headless ou Hydrogen: orçamento individual
- Camada de integração ERP/OMS: orçamento individual
- Intervenção de performance ou acompanhamento contínuo: orçamento individual
- Sessão de descoberta: sem custo para escopos qualificados
Desenvolvedor Shopify alinhado com operação, fiscalidade e canais móveis
A Shopify encurta o caminho entre ideia e checkout alojado, mas não elimina a necessidade de modelar catálogo, impostos e logística. Um desenvolvedor Shopify experiente evita que o Liquid vire cola de snippets, que os webhooks dupliquem encomendas no ERP e que o marketing adicione scripts que derrubam a interatividade no telemóvel de quem chega via Instagram.
Em Portugal, o e-commerce cresce com concorrência de marketplaces e de marcas com loja física. A Shopify funciona quando a equipa de operações e a de finanças reconhecem os mesmos preços, impostos e prazos que o site mostra. Se precisar de jornalismo ou conteúdos longos, costumamos acoplar WordPress de forma consciente, nunca a duplicar a verdade de catálogo em duas bases sem processo de sincronização.
Onde a plataforma brilha e o que desenhamos no arranque
A força da Shopify e a coerência entre produto, preço, envio e pagamento. A fraqueza surge quando o negócio tenta replicar toda a lógica de um ERP on-premise dentro de ficheiros de tema. Começamos por mercados, transportadoras, políticas de devolução e requisitos de faturação. Shopify Markets só e útil se a contabilidade concordar com as faixas de IVA e transporte apresentadas ao cliente.
Pagamentos e expectativas locais
Em Portugal, MB WAY e cartões são relevantes; as combinações mudam conforme o público e o ticket médio. Mapeamos métodos disponíveis na sua conta e evitamos empilhar apps de pagamento que disputam o mesmo checkout. Para empresas que exportam para a UE, os textos sobre direitos de consumo e prazos de devolução têm de coincidir com o que o ERP usa para notas de crédito, senão o suporte humano paga o preço em janeiro.
Inventário de scripts de marketing
Equipas de growth instalam pixels, testes A/B e widgets de reviews uns sobre os outros. Cada camada soma JavaScript e listeners que competem pelo tempo do thread principal. Fazemos inventário com dono claro: equipa, objetivo, cadência de revisão e impacto medido em INP antes e depois.
Funções de um desenvolvedor Shopify em equipas mistas
Não e apenas «instalar um tema bonito». Trabalhos frequentes:
- Metacampos e metaobjetos para fichas técnicas, compatibilidades e normativas de etiquetagem alimentar ou têxtil.
- Secções OS2 que merchandisers ajustam sem rebentar o LCP das páginas de coleção alimentadas por campanhas pagas.
- GraphQL Storefront resiliente a picos quando o tráfego salta após influenciadores ou televisão.
- Admin API e fulfiLLMent para postos logísticos diferentes (Madeira, Açores, armazém peninsular) com regras claras de SLA.
- Auditoria de apps para remover sobreposição entre upsell, reviews e programa de pontos.
- Observabilidade com filas visíveis quando webhooks falham antes do cliente ver ruturas de stock.
Liquid e Online Store 2.0
A migração para Online Store 2.0 liberta secções JSON, mas exige reorganizar conteúdos antigos presos a templates legacy. Executamos migrações como refactor: snippets duplicados são fundidos, imagens ganham proporções estáveis para reduzir CLS e o carrinho drawer mantém caminhos de teclado para acessibilidade.
Exemplos de código para revisão
Padrões típicos de produção: definições de secção OS2 editáveis em segurança, leitura GraphQL limitada para grelhas de coleção e worker de webhook tolerante a entregas duplicadas.
Schema de secção (Online Store 2.0)
{% schema %}
{
"name": "Featured collection",
"tag": "section",
"class": "section-featured-collection",
"settings": [
{
"type": "collection",
"id": "collection",
"label": "Collection"
},
{
"type": "range",
"id": "products_to_show",
"min": 2,
"max": 12,
"step": 1,
"default": 4,
"label": "Products to show"
}
],
"presets": [{ "name": "Featured collection" }]
}
{% endschema %}
Consulta Storefront API com paginação por cursor
Variáveis: handle (coleção), first (tamanho da página), after (cursor).
query CollectionProducts($handle: String!, $first: Int!, $after: String) {
collection(handle: $handle) {
id
title
products(first: $first, after: $after) {
pageInfo {
hasNextPage
endCursor
}
edges {
cursor
node {
id
handle
title
}
}
}
}
}
Consumidor de webhook idempotente (esboço)
A Shopify pode repetir webhooks; deduplicação por X-Shopify-Webhook-Id antes da fila ERP.
// Pseudocódigo: worker ao estilo Node com cache de deduplicação curta
async function handleOrderCreate(payload, headers) {
const webhookId = headers["x-shopify-webhook-id"];
const orderId = payload?.id?.toString();
if (!webhookId || !orderId) return { status: 400 };
const dedupeKey = `orders/create:${webhookId}`;
if (await cache.has(dedupeKey)) {
return { status: 200, body: "duplicate ignored" };
}
await enqueueErpExport(orderId);
await cache.set(dedupeKey, "1", { ttlSeconds: 86400 });
return { status: 200 };
}
Ciclo Liquid limitado para grelha de produtos
Um limit fixo e larguras explícitas em image_url evitam laços pesados e transferências de imagem excessivas em grelhas móveis.
{% assign cap = section.settings.products_to_show | default: 8 %}
{% assign collection = section.settings.collection %}
<ul class="product-grid" role="list">
{% for product in collection.products limit: cap %}
<li>
<a href="{{ product.url }}">
{{
product.featured_image
| image_url: width: 640
| image_tag: loading: 'lazy', widths: '320,640,960'
}}
</a>
</li>
{% endfor %}
</ul>
Storefront API: adicionar linhas ao carrinho (esboço de mutação)
Quando o modelo de risco o exige, execute mutações a partir de rota de servidor, worker de fila ou ação Remix no Hydrogen para o token Storefront não ir parar a bundles de browser opacos.
mutation cartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {
cartLinesAdd(cartId: $cartId, lines: $lines) {
cart {
id
totalQuantity
}
userErrors {
field
message
}
}
}
Variáveis de exemplo:
{
"cartId": "gid://shopify/Cart/YOUR_CART_ID",
"lines": [
{
"merchandiseId": "gid://shopify/ProductVariant/YOUR_VARIANT_ID",
"quantity": 1
}
]
}
Headless com Storefront API, Hydrogen, Remix e Oxygen
A Storefront API serve catálogo e carrinho via GraphQL para um frontend que gere grelhas de produto, mutações e fluxos de comprador sem depender de Liquid na camada de vitrine. Hydrogen compacta padrões React para streaming, estado do carrinho e carregamento de dados alinhados com URLs comerciais; as convenções aproximam-se do Remix, útil para equipas que já esperam loaders, actions e limites de erro explícitos.
Oxygen e o alojamento Shopify para Hydrogen e reduz cola manual em edge por cada release. Não torna Hydrogen obrigatório: equipas com Next.js ou Astro maduros chamam frequentemente a Storefront API diretamente e trocam boilerplate oficial por sistemas de design existentes.
GraphQL que aguenta picos
Planeamos operações com paginação por cursor para coleções grandes, tratamento defensivo de erros quando falhas temporárias coincidem com tráfego elevado e linhas de carrinho que mantêm promoções e selling plans inteligíveis para suporte. Contextos de conta e login alinham com o vosso programa de privacidade, não como fetch aleatório.
Quando Hydrogen, quando Liquid
Hydrogen encaixa com cultura React, componentes partilhados entre canais e implementação documentado. Liquid-first mantém-se forte quando o merchandising vive no editor de temas e o ganho mensurável vem de consolidar apps ou refatorar Liquid.
Headless não e «rápido por defeito». Medimos LCP comparável em URLs de coleção, peso de bundle e custo operacional de pré-visualização para equipas não técnicas. Se o tema Liquid melhor com menos apps vencer o teste, não empurramos headless pela moda.
Checkout, Functions e limites saudáveis
O checkout protegido e benefício de segurança e PCI. Implementamos regras com Functions e extensões UI suportadas. Evitamos prometer JavaScript livre que a política da Shopify já não cobre.
Webhooks, filas e ERP
Ordens e inventário precisam de endpoints idempotentes. Filas com DLQ e alertas evitam que uma falha temporária do ERP se transforme em divergência silenciosa até ao próximo inventário físico. Para operações que ligam loja física e online, os ajustes de stock precisam de disciplina horária para não conflituar com picos de caixa.
Desempenho e Core Web Vitals
A CDN ajuda, mas o tema e os tags determinam INP e CLS. Estabelecemos orçamentos por modelo de página, adiamos JS não crítico e tratamos tipografia para não provocar shifts quando chegam fontes variáveis. Não vendemos aumentos percentuais inventados de conversão; entregamos antes e depois com o mesmo perfil de teste.
Mercados, B2B e Plus
Shopify Plus faz sentido quando há verdadeiras empresas cliente, listas de preços e aprovações internas. Configuramos papéis e fluxos para não duplicar trabalho entre CRM manual e Admin.
Migração e SEO
Mapas 301, metacampos e dados estruturados precisam de consistência. Monitorizamos Search Console após o arranque e corrigimos ruturas antes que afetem receita orgânica.
AEO e consistência factual
Assistentes citam lojas quando políticas e especificações são iguais no HTML, no JSON-LD e nas FAQs internas. Evitamos páginas «para IA» sem suporte operacional.
Serviços que entregamos
- Temas OS2, auditorias Liquid e desempenho
- Frontends headless com Storefront API
- Regras de checkout dentro da política
- Integrações ERP/3PL com observabilidade
- Subscrições e catálogos complexos
- Migrações com SEO e qualidade de dados
Cenários ibéricos e europeus

Retalho com sazonalidade e canais múltiplos
Marcas de moda e lifestyle em Lisboa e Porto precisam de coleções rápidas sem ruturas de stock entre armazém e loja. Co-desenhamos secções promocionais com métricas de INP e sincronizações que não dependerão de planilhas humanas em vésperas de saldos.
O que otimizamos versus o que não garantimos
Otimizamos arquitetura, integrações e instrumentação. Não garantimos saltos de receita; estes dependem de tráfego, margens e posicionamento de marca.

Cartões de cenários
Produtos gourmet e exportação UE
Metacampos legais, lotes e prazos de consumo com envios refrigerados.
Textos de checkout alinhados com transportadoras
Mobiliário e made-to-order
Lead times, confirmações de medidas e integração com produção.
Menos erros entre pagamento e OF
Distribuidores B2B
Plus com empresas, listas e exportações para contabilidade.
Reconciliação mensal simplificada
Stack técnica
The Autonomous Future: UCP Agent Mesh
Experience the next generation of decentralized commerce protocols through a high-fidelity tactile interface.
Agentes de IA transacionam de forma autónoma sem intermediários, com latência abaixo de 1ms.
Cada site WordPress torna-se um nó na rede comercial global do UCP.
Liquidações automáticas e escrow - zero trabalho manual, zero risco de acesso não autorizado.
Exemplos de uso
Agente de IA escolhe o gateway de pagamento mais barato por transação, em tempo real.
IA negocia preços e condições de entrega com grossistas com base no stock atual.
Venda artigos, cursos ou PDFs por frações de cêntimo - sem subscrição.
Fundos retidos em contrato inteligente - liberados automaticamente após confirmação da entrega.
Preços de produtos atualizados a cada minuto com base na procura e concorrência.
Contrato inteligente paga comissão ao afiliado em milissegundos após a compra.
Nó UCP v4.0
Vitalidade do Núcleo
Sincronização da Rede
> A inicializar UCP Mesh...
> Ligação à Rede Global de Agentes [OK]
> A verificar Smart Contract v2.1... [VERIFICADO]
> À escuta de eventos comerciais...
> Transação recebida: TX-828-A1-Z [EM PROCESSAMENTO]
_
Controlos do Protocolo
"O UCP permite que agentes de IA realizem transações de forma autónoma, eliminando a fricção da economia global."
CI para temas, segredos fora do Liquid e documentação que o seu IT interno consegue manter.
Mapa de integrações
Pagamentos
Shopify Payments quando disponível, métodos locais e carteiras suportadas pela sua configuração.
Logística
CTT, DPD, DHL, MRW ou APIs custom para armazém próprio.
ERP
Admin API, filas, reconciliação de inventário diária ou horária.
Analytics
GA4 e variantes server-side quando consentimento e política interna permitem.
Marketing
Klaviyo e similares com controlo de volume de webhooks.
Conteúdo
CMS headless ou WordPress sem duplicar produto como fonte paralela.
Expectativas transparentes
Respeito pela plataforma
Construímos dentro das superfícies suportadas para upgrades previsíveis.
Métricas honestas
Relatórios antes e depois sem percentagens mágicas de conversão.
Segurança operacional
Tokens com menor privilégio possível e rotação quando equipas mudam.
Mesmo especialista ponta a ponta
Quem escreve o plano de integração também revisa GraphQL e webhooks.
Próximo passo
Envie URL da loja, lista de integrações e janelas de tráfego elevado. Devolvemos roadmap com riscos e marcos, não apenas horas soltas.
Última atualização: 3 de maio de 2026


