Por que o dev precisa desses dados antes de estimar

Imagine um pedido de orçamento para uma loja que já está no ar: "quero um campo de CPF no cadastro, quanto fica?". A resposta honesta depende de coisas que a frase não diz. Em que versão a loja está? O tema é Luma ou Hyvä? Já existe módulo de terceiros mexendo no cadastro? Tem ERP que precisa receber esse campo?

Sem essas respostas, o dev tem duas saídas ruins: estimar com margem larga para cobrir o que não sabe, ou pedir acesso à loja antes de existir contrato. Com elas, a estimativa fica mais estreita, e você compara propostas que partem do mesmo retrato da loja. Se ainda não sabe que tipo de profissional a demanda pede, veja antes o que faz um programador Magento e os quatro perfis.

Os 9 dados e onde encontrar cada um

Os comandos rodam na pasta raiz da loja, a mesma do bin/magento. Quem tem acesso ao servidor (a hospedagem ou o dev atual) consegue tirar tudo de uma vez.

DadoCom acesso ao servidorSó com o admin
1. Versãobin/magento --versionRodapé do admin: "Magento ver." e o número
2. Ediçãogrep -E 'magento/product-(community|enterprise)-edition' composer.jsonItem Dynamic Blocks em Content > Elements indica Adobe Commerce
3. PHPphp -vPainel da hospedagem
4. Modo de execuçãobin/magento deploy:mode:showPedir a quem tem acesso ao servidor
5. Módulos de terceirosbin/magento module:status --enabled | grep -v '^Magento_'Pedir a quem tem acesso ao servidor
6. TemaPasta app/design/frontend e o composer.jsonContent > Design > Configuration, campo Applied Theme
7. Lojas e idiomasbin/magento store:listStores > Settings > All Stores
8. IntegraçõesMódulos de ERP, frete, pagamento e marketplace na lista do item 5System > Extensions > Integrations
9. Hospedagem e cacheTipo de servidor e se existe ambiente de stagingStores > Settings > Configuration > Advanced > System > Full Page Cache: Built-in Cache ou Varnish Cache

Como descobrir a versão, a edição e listar os módulos instalados sem cair em armadilha

Três detalhes que fazem o inventário sair errado:

  • A versão não diz a edição. O bin/magento --version imprime Magento CLI seguido do número, e esse nome vem fixo no próprio arquivo bin/magento. Quem diz se a loja é Magento Open Source ou Adobe Commerce é o pacote no composer.json: product-community-edition é Open Source; product-enterprise-edition é Adobe Commerce.
  • O PHP do terminal pode não ser o do site. Um servidor pode ter mais de uma versão de PHP instalada, e o php -v mostra só a do terminal. Confirme no painel da hospedagem qual versão atende o site.
  • Nem todo módulo fora de Magento_ é de terceiro. Conferi a árvore de dependências do pacote padrão do Magento Open Source 2.4.8-p4: ele já traz sete módulos com nome começando por PayPal_Braintree, que podem aparecer no filtro. E não esqueça o --enabled: sem ele, o comando lista também os módulos desativados, em dois blocos com cabeçalho, e o filtro mistura tudo. O que interessa é o que sobra depois dos PayPal_Braintree.

O modo de execução merece uma linha à parte. O deploy:mode:show responde Current application mode: seguido de default, developer ou production. Loja no ar fora de production é informação que muda o orçamento, porque trocar o modo mexe no deploy e no desempenho.

E se eu não tiver acesso SSH?

Dá para começar pelo admin. Ele responde direto quatro dos nove dados: a versão no rodapé, o tema, as lojas e idiomas e as integrações cadastradas. Também mostra o cache de página, no caminho do item 9, e dá uma pista da edição pelo menu Content > Elements: a documentação da Adobe diz que Dynamic Blocks é recurso exclusivo do Adobe Commerce e não existe no Magento Open Source.

O resto você pede a quem tem acesso ao servidor. Mande a lista de comandos da tabela e peça a saída colada como texto, não como print. Você não precisa entender o resultado; o dev que vai orçar entende.

Uma ressalva sobre o item 8: a tela Integrations mostra só o que foi cadastrado ali, com token. Integração feita por módulo próprio não aparece nela. Por isso, liste também, com as suas palavras, quais sistemas conversam com a loja: ERP, emissor de nota, gateway, frete, marketplace.

Preciso dar acesso à loja para receber orçamento?

Não. Tudo neste inventário é informação, não credencial. Senha do admin, usuário do servidor, o arquivo app/etc/env.php e cópia do banco ficam fora do pedido de orçamento. Acesso entra depois, com contrato, usuário próprio para o dev e só nas áreas da tarefa.

Se o dev insistir em entrar na loja para dar qualquer número, peça que ele diga quais dados faltam. Com o inventário completo, muitas demandas já dão para estimar; o que não der pode virar uma etapa paga de diagnóstico, com escopo próprio.

Modelo de mensagem para pedir orçamento a programador Magento

Copie, preencha e mande junto com a descrição da demanda:

Assunto: Pedido de orçamento - loja Magento

O que eu preciso:
(descreva a mudança, com exemplo e print da tela atual)

Inventário da loja:
1. Versão:
2. Edição (Open Source ou Adobe Commerce):
3. PHP do site:
4. Modo (deploy:mode:show):
5. Módulos de terceiros ativos (lista em anexo):
6. Tema aplicado:
7. Lojas e idiomas:
8. Sistemas integrados (ERP, frete, pagamento, marketplace):
9. Hospedagem, staging e cache (Built-in ou Varnish):

Prazo desejado:
Quem aprova do meu lado:
Acesso: só depois do contrato, com usuário próprio.

A linha "quem aprova do meu lado" parece detalhe, mas evita que a proposta volte com perguntas que ninguém responde. Se a loja tiver algo fora do comum, como vários sites no mesmo admin ou um checkout de terceiros, escreva numa linha no fim.

Perguntas frequentes

Preciso dar acesso à minha loja Magento para receber orçamento?

Não. Junto com a descrição da demanda, versão, edição, módulos, tema, lojas e integrações bastam para uma estimativa inicial. Acesso ao admin ou ao servidor entra depois do contrato, com usuário próprio para o desenvolvedor e só nas áreas da tarefa.

E se eu não tiver acesso SSH à loja Magento?

Pegue pelo admin o que ele mostra (versão no rodapé, tema, lojas e integrações) e peça o resto à hospedagem ou ao dev atual, mandando a lista de comandos e pedindo a saída como texto.

Dá para ver a versão do Magento sem entrar no servidor?

Dá. O rodapé das telas do admin mostra Magento ver. seguido do número da versão. Ele não diz se a loja é Open Source ou Adobe Commerce; para isso vale o composer.json ou a presença de recursos exclusivos, como Dynamic Blocks.

Fontes oficiais

  1. Commerce on-premises: command-line reference (Adobe Experience League)
  2. Install using Composer (project-community-edition e project-enterprise-edition) (Adobe Experience League)
  3. Set operation mode (deploy:mode:show) (Adobe Experience League)
  4. Themes (Applied Theme) (Adobe Experience League)
  5. Integrations (Adobe Experience League)
  6. Dynamic Blocks (Adobe Experience League)

Outros artigos

Ver todos os artigos

Precisa de um orçamento? Ficarei feliz em ajudar. Clique aqui