Dirora
Voltar ao blog
Engineering

Comércio API-First: Construir Montras Headless

Dirora Team19 de março de 20268 min read

"Headless" é atirado ao ar como se separar a sua montra do backend de comércio fosse sempre a decisão certa. Não é. Mas quando é a decisão certa — uma aplicação móvel à medida, um site orientado por conteúdos onde o CMS conduz a experiência, um quiosque na loja física, ou uma montra com padrões de interação que nenhum modelo consegue exprimir — precisa de um backend que trate a sua API como um produto de primeira classe e não como um acessório colado a um monólito. A Dirora foi construída assim: as mesmas operações que dão vida ao painel de administração e à montra padrão estão expostas através de uma API REST limpa, para que possa compor comércio em qualquer superfície que esteja a construir.

Este guia foi escrito para o engenheiro que pondera essa decisão. Vamos abordar como a API está organizada, como funcionam a autenticação e a multitenancy, os blocos de construção práticos (catálogo, carrinho, checkout, webhooks) e — igualmente importante — quando não deve optar por headless e deve antes apoiar-se na montra integrada.

O que "API-first" significa realmente aqui

API-first é um compromisso arquitetónico, não um rótulo de marketing. Significa que cada funcionalidade é concebida primeiro como um endpoint de API, e as interfaces de utilizador são consumidoras desse mesmo contrato. Na prática, isto dá-lhe três propriedades que importam quando constrói em cima de uma plataforma:

  • Paridade. Se o administrador consegue fazê-lo, a sua integração também consegue. Nunca fica bloqueado por uma funcionalidade "só existir na interface".

  • Estabilidade. Como os próprios front ends da plataforma dependem da API, as alterações que quebram compatibilidade também são caras para nós — o que alinha os nossos incentivos com os seus.

  • Componibilidade. Pode adotar uma peça (por exemplo, dados de produtos só de leitura para um site de marketing) sem reconstruir o checkout, e crescer para mais partes da API ao longo do tempo.

Por baixo do capô, a Dirora corre um backend Go de alto desempenho por detrás dessa API, para que os endpoints com muita leitura — listagens de produtos, pesquisa, páginas de coleções — se mantenham rápidos sob carga. Se tem curiosidade sobre como a plataforma está estruturada internamente, escrevemos sobre como construímos a nossa arquitetura de microsserviços e como lidamos com a multitenancy.

Quando o headless vale a pena — e quando não vale

Optar por headless dá-lhe controlo total sobre a camada de apresentação. Mas também lhe entrega responsabilidades que a montra integrada trata de graça: renderização do lado do servidor para SEO, otimização de imagens, dados estruturados, cache, acessibilidade e a longa cauda de casos extremos no carrinho e no checkout. Seja honesto sobre a troca.

O headless costuma valer a pena quando: está a lançar uma aplicação móvel nativa; já opera uma plataforma de conteúdos e quer comércio incorporado nela; tem requisitos de design ou de interação que um tema genuinamente não consegue cumprir; ou está a integrar comércio num produto existente onde a montra é apenas uma superfície entre muitas.

O headless costuma ser a escolha errada quando: quer uma loja bonita, rápida e amiga do SEO e está a recorrer ao headless sobretudo por "flexibilidade". A montra padrão da Dirora já inclui renderização do lado do servidor, otimização automática de imagens e dados estruturados, e o Editor Visual de Temas permite-lhe personalizá-la em profundidade — disposição por arrastar e largar, pré-visualização em direto, histórico de anular/refazer e 41 widgets de montra — sem tocar de todo na API. Se não precisa de um front end personalizado, não o construa. Também pode misturar os dois: correr a montra padrão para a sua loja e usar a API apenas para superfícies satélite, como uma aplicação ou uma integração de parceiro.

Autenticação e multitenancy

Os pedidos autenticados usam tokens bearer, e cada pedido está circunscrito a um único inquilino, para que os dados de uma loja fiquem isolados dos de outra. Os endpoints públicos, só de leitura — listagens de produtos, páginas de coleções — foram concebidos para serem chamados sem autenticação, que é o que se pretende para uma montra que renderiza dados de catálogo a visitantes anónimos. As operações de escrita e tudo o que seja específico do cliente requerem um token.

Trate as credenciais como trataria qualquer segredo: mantenha os tokens do lado do servidor no servidor, nunca inclua chaves privilegiadas em pacotes do lado do cliente, e use os endpoints públicos de leitura para tudo o que corra no navegador. Se está a construir um front end que também precisa de escrever (adicionar ao carrinho, efetuar encomendas), encaminhe essas chamadas através do seu próprio backend-for-frontend, para que as credenciais sensíveis nunca saiam da sua infraestrutura.

O catálogo: produtos, coleções e pesquisa

O lado da leitura é onde a maioria dos projetos headless começa. Pode obter produtos com as suas variantes, imagens, preços e estado de inventário, e paginar por coleções com filtragem. Como estes endpoints são públicos e amigos da cache, encaixam bem em páginas geradas estaticamente ou renderizadas no servidor que precisam de ser rápidas e indexáveis.

Algumas notas práticas. Multimoeda e multilingue são de primeira classe — se a sua loja vende em vários mercados, peça a localização e a moeda de que precisa em vez de converter no cliente, para que os preços e os textos se mantenham consistentes com o que o checkout irá cobrar. Se está a popular um catálogo para desenvolver, o importador de produtos por CSV consegue importar um catálogo existente do Shopify, Etsy, Big Cartel, Gumroad ou Sellfy, que é uma forma mais rápida de obter dados realistas do que criar fixtures à mão. E se a pesquisa é central na sua experiência, use o endpoint de pesquisa em vez de obter tudo e filtrar no cliente.

Carrinho, checkout e pagamentos

O fluxo de carrinho e checkout pode ser conduzido programaticamente: criar um carrinho, adicionar e atualizar linhas, aplicar descontos e avançar até ao pagamento, tanto para clientes convidados como autenticados. Os pagamentos correm através do Stripe, pelo que uma construção headless herda as mesmas capacidades da montra padrão — cartões a taxas padrão sem margem adicional, Apple Pay, Google Pay e compre-agora-pague-depois via Klarna e Clearpay, com PayPal também disponível. Os pagamentos chegam em dois a sete dias.

Um número que vale a pena ter em mente ao desenhar: a Dirora não cobra quaisquer taxas de transação em nenhum plano. A única fatia é uma pequena taxa de plataforma que diminui à medida que cresce — 1,5 % no plano gratuito Starter, 0,75 % no Pro, 0,25 % no Business e 0 % no Enterprise. Numa construção headless em que já está a investir tempo de engenharia, vale a pena verificar exatamente o que uma plataforma retira de cada encomenda antes de se comprometer; analisamos as normas do setor em que percentagem as plataformas de e-commerce ficam.

Webhooks: reagir a eventos em tempo real

Sondar uma API para saber se algo aconteceu é dispendioso e lento. Os webhooks invertem isso: subscreve eventos — encomenda criada, pagamento concluído, inventário baixo e afins — e a Dirora envia para o seu endpoint quando ocorrem. É assim que mantém um sistema de armazém, CRM, ferramenta de contabilidade ou fornecedor logístico em sincronia, sem um fluxo constante de pedidos.

Construa o seu recetor de forma defensiva. Verifique a assinatura do payload para agir apenas sobre eventos genuínos, responda rapidamente (faça o trabalho pesado de forma assíncrona depois de confirmar) e torne os handlers idempotentes — as redes repetem, e não quer que uma entrega duplicada crie dois envios. Se preferir usar um conector existente a escrever o seu próprio recetor, o diretório de integrações e o crescente ecossistema de aplicações já cobrem muitas ferramentas comuns.

Limites de taxa, desempenho e entrar em produção

O acesso à API está incluído em todos os planos com limites de taxa sensatos; as integrações de grande volume no Enterprise podem negociar tetos mais altos. Desenhe como se os limites existissem mesmo quando está longe deles: coloque em cache as leituras do catálogo, recue e volte a tentar em erros transitórios, e agrupe onde a API o permite. Isto mantém-no bem-comportado agora e poupa-lhe uma reescrita quando o tráfego crescer.

Mais duas coisas que as equipas headless subestimam frequentemente. Primeiro, o desempenho passa a ser da sua responsabilidade assim que assume o front end — a montra padrão da plataforma está afinada de fábrica, mas os Core Web Vitals da sua aplicação personalizada dependem de si, pelo que as nossas notas sobre otimização do desempenho da loja aplicam-se diretamente. Segundo, os domínios e o SSL continuam a precisar de tratamento: a Dirora suporta domínios personalizados com SSL automático e, se estiver a apontar um front end headless para um subdomínio ou apex, o nosso guia de domínios personalizados e SSL percorre o lado do DNS.

Uma recomendação pragmática

A maioria das lojas não precisa de ser headless, e recorrer a isso por defeito troca semanas de engenharia por uma flexibilidade que talvez nunca use. O padrão mais forte que vemos é o híbrido: correr a montra padrão com SSR para a sua loja principal — rápida, indexável e mantida por si — e usar a API para as superfícies que genuinamente precisam dela, como uma aplicação móvel, um quiosque ou uma integração noutro produto. Assim, a API justifica o seu lugar exatamente onde o código personalizado acrescenta valor, e a plataforma trata das partes que são iguais para todos. Se ainda está a decidir onde construir, a nossa comparação honesta de plataformas é um bom sítio para ponderar.

Perguntas frequentes

Preciso de optar por headless para construir na API da Dirora?

Não. A API está disponível em todos os planos e pode usá-la a par da montra padrão — para uma aplicação móvel, uma integração ou uma sincronização de dados — sem substituir o seu front end. O headless completo (trazer a sua própria montra) é uma opção, não um requisito.

O que consegue a API da Dirora fazer na prática?

Como a Dirora é API-first, a API espelha a administração: ler dados de catálogo (produtos, variantes, coleções, pesquisa), conduzir carrinhos e checkout, e subscrever eventos de webhook para encomendas, pagamentos e inventário. Se uma capacidade existe no painel, foi concebida para ser alcançável através da API.

Uma montra headless continuará a ser boa para SEO?

Pode ser, mas o SEO passa a ser da sua responsabilidade. A montra integrada da Dirora inclui, por defeito, renderização do lado do servidor, dados estruturados e otimização de imagens; um front end personalizado tem de os implementar por si próprio. Se o SEO é uma prioridade e não tem uma razão específica para optar por headless, a montra padrão é normalmente a escolha mais segura.

Há taxas de transação nas encomendas conduzidas pela API?

Não. Não há taxas de transação em nenhum plano, quer uma encomenda seja efetuada através da montra padrão quer do seu próprio front end headless. A única fatia é uma pequena taxa de plataforma que desce de 1,5 % no plano gratuito para 0 % no Enterprise.

Como mantenho os sistemas externos em sincronia com a minha loja?

Use webhooks. Subscreva eventos como encomenda criada, pagamento concluído e inventário baixo, e envie-os para o seu armazém, CRM ou ferramenta de contabilidade. Verifique a assinatura, responda depressa e torne os seus handlers idempotentes, para que as entregas repetidas não causem ações duplicadas.

apiheadlessrestintegration

Pronto para criar a sua loja?

Comece gratuitamente — não é necessário cartão de crédito.

Começar