Sou o Roger Takemiya, desenvolvedor de e-commerce desde 2010, e atendo lojas Shopify como freelancer: tema Liquid, seções do Online Store 2.0, apps custom pela Admin API e integrações com Pix, frete e ERP. Você fala comigo, eu escrevo o código, testo num tema não publicado e só publico depois que você aprova.
Atualizado em · por Roger Takemiya
Um cenário que eu vejo bastante: o lojista pede uma mudança pequena na página de produto, o pedido passa por duas pessoas até chegar em quem programa, e a alteração vai direto para o tema publicado numa sexta à tarde. No sábado o botão de comprar some no celular, e ninguém sabe dizer o que foi mexido.
Como freelancer Shopify, eu cuido da ponta inteira do código. Você explica o problema para mim, eu leio o tema, faço a alteração, testo e publico. Não tem telefone sem fio, e a pessoa que responde a sua dúvida é a mesma que escreveu a linha que está em produção.
Trabalho com e-commerce desde 2010 (Magento desde 2011, WooCommerce, PHP) e escrevo um blog técnico desde 2016. A Shopify tira de você a parte de servidor, SSL, CDN e checkout. O que sobra para um dev é tema, apps, integrações e o que a loja faz diferente das outras, e é nessa parte que eu entro.
shopify theme pull) e versiono num repositório. Cada tarefa vira uma branch, e dá para ver exatamente o que mudou em cada arquivo.shopify theme dev eu vejo a loja com os seus produtos reais, sem tocar no tema que está no ar. Antes de subir, rodo o shopify theme check para pegar Liquid quebrado e problema de performance.shopify theme push --unpublished) e mando o link de pré-visualização. Você testa no seu celular, com calma.Seções e blocos que a sua equipe edita pelo editor do tema, templates JSON diferentes por tipo de produto e metafields e metaobjects para tirar da descrição o conteúdo que hoje está colado lá (tabela de medidas, ficha técnica, modo de uso).
Quando nenhum app da loja resolve a regra da sua operação, escrevo um app instalado só na sua loja, usando a Admin GraphQL API e webhooks de pedido, pagamento e estoque. O webhook é validado pela assinatura HMAC e processado em fila, para a loja nunca esperar o meu código.
Pix e boleto pelo app do gateway, frete com Melhor Envio ou Correios, nota fiscal e ERP (Bling, Tiny). O Shopify Payments não está disponível no Brasil, então o pagamento sempre passa por um terceiro, e a Shopify cobra uma taxa adicional por transação que depende do plano. Eu coloco isso na conta antes de você escolher o gateway.
Auditoria dos apps que injetam script em todas as páginas, imagens servidas com image_url e srcset no tamanho certo, carregamento sob demanda e limpeza de código que sobrou de app desinstalado.
Nas páginas de Obrigado e Status do pedido dá para usar extensões em qualquer plano. Mexer nas etapas de informação, frete e pagamento é recurso do Shopify Plus, com Checkout Extensibility e Shopify Functions. Eu digo antes qual é o seu caso.
Catálogo, clientes e conteúdo vindos de Magento ou WooCommerce, com mapa de redirecionamentos 301. A Shopify usa prefixos fixos como /products/ e /collections/, então quase toda URL antiga muda, e cada uma precisa de destino.
Pedido comum: uma barra de frete grátis que a equipe da loja consiga ajustar sozinha quando a meta mudar. Em vez de deixar o valor fixo no código, ele vira uma configuração da seção, editável no editor do tema:
{%- assign meta = section.settings.meta_frete | times: 100 -%}
{%- assign falta = meta | minus: cart.total_price -%}
{%- if falta > 0 -%}
<p class="barra-frete">Faltam {{ falta | money }} para o frete grátis</p>
{%- else -%}
<p class="barra-frete">Frete grátis liberado neste pedido</p>
{%- endif -%}
{% schema %}
{
"name": "Barra de frete grátis",
"settings": [{ "type": "number", "id": "meta_frete", "label": "Meta em reais", "default": 299 }],
"presets": [{ "name": "Barra de frete grátis" }]
}
{% endschema %}Dois detalhes que fazem diferença. O cart.total_price vem em centavos, por isso a meta em reais é multiplicada por 100 antes da conta. E essa barra é montada no servidor: se o seu tema usa carrinho em gaveta, que adiciona produto sem recarregar a página, entra também um trecho de JavaScript para atualizar o valor. Eu aviso isso no orçamento, e não depois.
Os três modelos têm lugar. A diferença está em quem fala com você, em quem fica com o código e em quantas frentes o projeto tem ao mesmo tempo.
| Critério | Eu, freelancer direto | Freela de marketplace | Agência |
|---|---|---|---|
| Com quem você fala | Comigo, que escrevo o código | Com quem pegou o pedido, que pode mudar a cada tarefa | Com atendimento ou gerente de projeto |
| Contrato e nota fiscal | Sim | Depende do perfil | Sim |
| Código versionado e entregue a você | Sempre, no Git | Raramente combinado | Depende da agência, pergunte |
| Design, tráfego e QA juntos | Não, eu faço a parte técnica | Não | Sim, é o ponto forte |
| Férias e picos | Agenda de uma pessoa, prazo combinado antes | Varia muito | A equipe cobre |
| Melhor para | Ajuste técnico, app, integração, suporte contínuo | Tarefa pequena e isolada | Lançamento ou redesign com várias frentes |
Se o seu caso é um desses, prefiro dizer na primeira conversa do que descobrir no meio do projeto.
Depende do escopo, por isso não trabalho com tabela fixa. Ajuste de tema eu orço por tarefa, depois de olhar o código. Demanda contínua vira pacote de horas por mês. Antes de começar você recebe por escrito o que está dentro e o que está fora.
Sim. Toda contratação tem escopo escrito e nota fiscal. A loja, o tema e as assinaturas de apps continuam no seu nome, e eu entro como colaborador só com as permissões da tarefa.
Não. Eu peço acesso de colaborador: você gera o código em Configurações, Usuários e permissões, e aprova o pedido que chega. Dá para limitar as permissões e remover o acesso quando o trabalho termina.
Não. Trabalho numa cópia não publicada, mando o link de pré-visualização e só publico depois da sua aprovação. O tema anterior fica guardado para voltar em poucos cliques se algo der errado.
Dá. Na maioria dos casos o caminho é o app oficial ou um hub de integração, e não código do zero. Eu configuro, testo com pedidos reais de baixo valor e só escrevo um app custom quando a regra da sua operação não cabe no que os apps oferecem.
Atendo o Brasil inteiro, de forma remota. A conversa acontece por WhatsApp, vídeo e e-mail, e o código fica num repositório que você também acessa.
Me conte o que está acontecendo. Respondo pessoalmente, em horário comercial.