Se tem uma coisa no Magento que nos deixa realmente com dúvida é o fluxo de Status de pedidos no Magento.
Primeiramente, para conseguirmos entender como tudo funciona no Magento, precisaremos compreender por que existem dois campos: Status e State. Qual a diferença? O que significam? Estou ferrado?
Calma, tentarei explicar e deixar isso claro de uma vez por todas.
State:
Os States no Magento são basicamente os status do processo de cada pedido, porém ele é utilizado apenas pelo sistema interno do Magento, ou seja, esta informação não fica disponível para o cliente no front-end da loja. Serve para indicar ao Magento qual o real Status do pedido. No Magento existem 8 (oito) States que não podem ser modificados e não é possível criar novos sem modularização:
- New (new): Este state é aplicado para todos os pedidos que entram na loja e ainda não foram revisados, ou seja, pedidos que acabaram de entrar;
- Pending Payment (pending_payment): Quando utilizamos um gateway como forma de pagamento, o pedido passa de new para pending_payment;
- Processing (processing): Este state é aplicado para qualquer pedido que venha a ter uma fatura ou um envio gerado. Todo pedido que seja faturado ou seja criado uma nota de entrega fica com este state no Magento;
- Complete (complete): Quando um pedido é faturado e também entregue ele passa a ficar com o state complete, que significa que o pedido está completo e não há mais o que fazer com ele;
- Closed (closed): O pedido entra com o state closed quando uma nota de crédito é criada no valor integral do pedido. Basicamente quando o pedido for estornado;
- Canceled (canceled): Como o próprio nome diz os pedidos cancelados passam a ter o state canceled no Magento;
- On Hold (holded): Pedidos que devem ser segurados (congelados) por um tempo ficam com este state. Um exemplo prático é quando o mesmo é pago com boleto bancário.
- Payment Review (payment_review): O pagamento do pedido está sendo revisado.
Bom, após entender o que é e qual o fluxo dos States no Magento, precisamos entender o por que existem também os Status:
Os Status dos pedidos no Magento, nada mais são do que as labels ou etiquetas dos States dos pedidos no Magento, ou seja, é o que será mostrado para o cliente no front-end da loja.
Vamos tomar como exemplo o State New. Por padrão no Magento o State New tem o Status Pending associado á ele, ou seja, para o Magento o importante é saber que o state do pedido está como New, mas o cliente vai visualizar o status do pedido, neste caso Pending (Pendente).
Basicamente os Status são filhos dos States os quais podemos ter vários Status associados á um mesmo State. Vamos supor que você não queira que quando um pedido entre em sua loja Magento o cliente visualize Pending (Pendente) no painel de cliente, mas sim Recebido e Sendo Analisado. Bastaria você criar um novo Status no Magento chamado Recebido e Sendo Analisado e associar ele ao State New. Feito isso, você pode ir no método de pagamentos que você utiliza em sua loja e configurar que o Status de novos pedidos seja este novo que acaba de ser criado e não mais Pending (Pendente).
Abaixo coloquei uma imagem retirada do site do próprio Magento para vocês entenderem melhor o fluxo de States de um pedido no Magento. Pra mim foi auto-explicativo, espero que também ajudem vocês á entender definitivamente o fluxo e a diferença entre os dois.
Bom galera, espero que este artigo tenha sido de bom proveito para vocês. Ao menos de minha parte tentei deixar o mais claro possível.
Qualquer dúvida que pairem sobre suas mentes, não hesitem em comentar, ok?
Um abraço e até a próxima!
Tiago Sampaio
Olá,
tem como eu fazer esse status com imagens?
tipo ao invés de aparecer a mensagem lá “em andamento”,
aparece uma imagem qualquer que eu queira?
LikeLike
Olá Nany,
Sim, existe como fazer essa implementação, porém você tem um ponto negativo nesta implementação:
Você perderia a flexibilidade dos status;
Abraços,
Tiago Sampaio
LikeLike
melhor dizendo, é algo como o andamento de pedido do submarino
LikeLike
Fiz uma validação com a resposta do status enviado pelo Magento (pending_payment, processing, complete, etc), com essa resposta, altero o ID da div, que contem imagem de background referente ao status do pedido.
LikeLike
Olá Kauê, você faz esse tipo de serviço como freelancer? se sim tenho interesse em contratar
LikeLike
Exatamente Nany! You got it! 🙂
LikeLike
Boa tarde Tiago, muito esclarecedor o artigo parabéns!
Gostaria de tirar uma dúvida, em que State é dado baixa do produto no estoque do magento?
Para te explicar melhor, se o cliente escolher pagar por boleto, é dado baixa no estoque desse produto em quanto fica aguardando a confirmação do pagamento?
É uma faca de dois gomes mas já imaginou se isso não é feito e outras pessoas compram e acaba o estoque deste produto e o boleto é pago? Acredito que os órgãos de defesa do consumidor deve sair em defesa do consumidor neste caso.. Tens algo a acrescentar nisto?
Abraços!
LikeLike
Tiago, como posso verificar quanto eu vendi no dia e o acumulado do mês pelo Magento? Eu tenho dois relatórios e os dois me dão resultados distintos.
Vou agradecer muito a sua ajuda.
LikeLike
Olá Tiago, tenho com configurar um e-mail para cada status filho que é criado?
LikeLike
Como eu faço pra deixar configurado a alteração de status em massa disparar automaticamente e-mail para o cliente?
LikeLike
Como eu faço para alterar este status via soap V1?
LikeLike
Estou com uma enorme dúvida sobre a qual não encontrei nenhuma referência na internet, nem em fóruns gringos. Uso o módulo dos Correios desenvolvido pelo Pedro Teixeira, e o que acontece: não existe um status no Magento para “pedido entregue” ou “shipped” por exemplo. Quando um pedido é tido como entregue pelos correios (isto é, quando vemos no rastreamento que a remessa já foi entregue ao destinatário), precisaríamos “dar baixa” nesse pedido no magento marcando-o como “entregue” ou “Entrega efetuada” etc. Haveria a possibilidade de implementar isso? Seria muito complexo? É fundamental na rotina de vendas que se saiba quais foram entregues ou não, porque aí temos um parâmetro pra investigar o motivo que bloqueou a entrega.
LikeLike
Olá João,
Sim, é possível fazer isso simplesmente criando um novo Status de Pedido no Magento. No momento que você receber a notificação que o pedido foi entregue, basta alterar o status do pedido para o status que você criou.
Abraços,
Tiago
LikeLike
Olá Tiago, estou trabalhando no marketing para um ecommerce: amadeusautopecas.com.br. Tenho uma dúvida. O status dos pedidos devem ser feitos manualmente? Digo, pelo funcionário da loja que vai conferir os pedidos entregues ou não e alterar no sistema da loja (admin)?
LikeLike
Olá Valdir, tudo bem?
O status de pedido no Magento pode ser alterado tanto manual quanto automaticamente. Isso vai depender das integrações que existem entre a loja e outros serviços ou módulos personalizados para a mesma.
Abraços,
– Tiago
LikeLike
Olá Tiago, então se o state do pedido esteja igual processing, posso considerar que ele está com pagamento confirmado?
LikeLike
Olá Douglas,
Normalmente sim. Por configuração padrão do Magento, quando uma fatura é criada para um pedido, significa que ele foi pago, mas é preciso ver se a regra de negócio da loja na qual está trabalhando está utilizando dessa prática.
Abraços,
– Tiago
LikeLike