pedro-teixeira / correios

Módulo de frete para Magento com tracking
https://pedroteixeira.io
MIT License
110 stars 72 forks source link

Email transacional #167

Open magnored opened 8 years ago

magnored commented 8 years ago

Eu tenho somente 2 status de entrega: um quando a mercadoria é postada e outro quando o cliente recebe a mercadoria e eu envio um email com o template de concluído e o cliente recebe a mensagem de que o produto foi entregue.

Acontece que após a ultima atualização (4.7.2), sempre quando ha uma alteração no status de movimentação dos correios, o template de email concluido é enviado ao cliente. Mas ficou ruim pq nesse status eu coloco a mensagem de que o cliente ja recebeu o produto e logo abaixo vai a mensagem do modulo informando que a mercadoria foi transferida de um CTCE para outro.

Como eu faço para alterar no modulo e escolher qual modelo de email transacional deve ser enviado ao cliente ?

rafaelpatro commented 8 years ago

olá @magnored O template padrão do monitoramento é o mesmo dos comentários da Entrega do Magento.

Não consegui entender seu método de acompanhamento. Mas vou explicar brevemente sobre o monitoramento automático das encomendas, e talvez lhe ajude em algo.

A versão mais recente desse projeto contém um módulo de monitoramento das encomendas. Para o monitoramento funcionar de forma automatizada, foram adicionados 2 novos status de pedido; Pedido em Transporte e Dificuldade de Entrega. Internamente esses status são classificados como Transação Concluída pelo Magento. O módulo de monitoramento rastreia regularmente todos os pedidos na situação Pedido em Transporte, e registra nos comentários da entrega, qualquer movimentação do objeto. O cliente só é notificado caso a encomenda se encontre em situação Saiu para entrega, ou Entregue, ou outra situação predefinida. Encomendas em situações predefinidas como problemáticas são classificadas como Dificuldade de Entrega, para que o lojista possa administrar o problema, antes do cliente.

Resumo:

  1. Pedido em Transporte: toda movimentação é registrada, sem notificação via e-mail.
  2. Pedido em Transporte (Entregue ou Saiu entregar): cliente é notificado.
  3. Dificuldade de Entrega: movimentação é registrada, sem notificação via e-mail.
  4. Transação Concluída: cliente acabou de ser notificado pelo item 2, e o novo status é concluído. Não é necessário notificá-lo novamente.
rafaelpatro commented 8 years ago

Se quiser desativar as notificações em alguns casos, basta alterar o arquivo /etc/config.xml.

    <sro_event_type_notify>BDE,BDI,BDR,FC,LDI,OEC</sro_event_type_notify>
    <sro_event_status_notify_bde>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bde>
    <sro_event_status_notify_bdi>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bdi>
    <sro_event_status_notify_bdr>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bdr>
    <sro_event_status_notify_fc>4,7</sro_event_status_notify_fc>
    <sro_event_status_notify_ldi>0,1,2,3,14</sro_event_status_notify_ldi>
    <sro_event_status_notify_oec>0,1</sro_event_status_notify_oec>

    <sro_event_type_warn>BDE,BDI,BDR,FC,LDI,OEC</sro_event_type_warn>
    <sro_event_status_warn_bde>3,4,5,6,7,8,9,10,12,19,21,22,23,26,28,33,34,35,36,37,38,40,41,42,43,48,49,50,51,52,54,55,56,57,58,59,69</sro_event_status_warn_bde>
    <sro_event_status_warn_bdi>3,4,5,6,7,8,9,10,12,19,21,22,23,26,28,33,34,35,36,37,38,40,41,42,43,48,49,50,51,52,54,55,56,57,58,59,69</sro_event_status_warn_bdi>
    <sro_event_status_warn_bdr>3,4,5,6,7,8,9,10,12,19,21,22,23,26,28,33,34,35,36,37,38,40,41,42,43,48,49,50,51,52,54,55,56,57,58,59,69</sro_event_status_warn_bdr>
    <sro_event_status_warn_blq>1</sro_event_status_warn_blq>
    <sro_event_status_warn_ldi>0,1,3,14</sro_event_status_warn_ldi>
    <sro_event_status_warn_fc>1,4,5</sro_event_status_warn_fc>
    <sro_event_status_warn_idc>1,2,3,4,5,6,7</sro_event_status_warn_idc>

    <sro_event_type_last>BDE,BDI,BDR</sro_event_type_last>
    <sro_event_status_last_bde>0,1</sro_event_status_last_bde>
    <sro_event_status_last_bdi>0,1</sro_event_status_last_bdi>
    <sro_event_status_last_bdr>0,1</sro_event_status_last_bdr>

As notificações configuradas estão em <sro_event_type_notify>. Os eventos de entrega são os tipos BDE,BDI,BDR. Basta removê-los somente da tag <sro_event_type_notify>, e as entregas serão apenas registradas, sem notificação via e-mail.

    <sro_event_type_notify>FC,LDI,OEC</sro_event_type_notify>

Não esquece de atualizar a cache depois de editar o arquivo.

magnored commented 8 years ago

Entendi @rafaelpatro A confusão que eu tinha feito anteriormente era que: Eu sempre recebo uma copia de todos os emails transacionais, e sempre que há uma movimentação dos correios eu recebia um email, contudo, analisando os logs pelo SMTP PRO notei que somente são enviados os emails de quando eu posto a mercadoria e de quando ela sai para a entrega. Ja acertei meus templates de email para que trabalhem de forma mais coerente para o cliente.

Gostaria de deixar uma sugestão para que houvesse uma terceira notificação informando sobre o status da mercadoria, tipo: ATENCAO! HOUVE UMA MOVIMENTAÇÃO NA ENTREGA DA SUA MERCADORIA: _mensagem de movimentação do rastreio da mercadoria_

rafaelpatro commented 8 years ago

Sua sugestão já está implementada. Você pode cadastrar o evento que quiser apenas editando o config.xml. Só precisa conhecer os eventos descritos no manual dos Correios.

Os eventos a seguir foram configurados por padrão para gerar notificações via e-mail.

    <sro_event_type_notify>BDE,BDI,BDR,FC,LDI,OEC</sro_event_type_notify>
    <sro_event_status_notify_bde>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bde>
    <sro_event_status_notify_bdi>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bdi>
    <sro_event_status_notify_bdr>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bdr>
    <sro_event_status_notify_fc>4,7</sro_event_status_notify_fc>
    <sro_event_status_notify_ldi>0,1,2,3,14</sro_event_status_notify_ldi>
    <sro_event_status_notify_oec>0,1</sro_event_status_notify_oec>

Por exemplo, para cadastrar eventos de encaminhamento de objeto basta adicionar o evento RO:

    <sro_event_type_notify>BDE,BDI,BDR,FC,LDI,OEC,RO</sro_event_type_notify>
    <sro_event_status_notify_bde>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bde>
    <sro_event_status_notify_bdi>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bdi>
    <sro_event_status_notify_bdr>0,1,2,7,20,24,25,34,45,54,55</sro_event_status_notify_bdr>
    <sro_event_status_notify_fc>4,7</sro_event_status_notify_fc>
    <sro_event_status_notify_ldi>0,1,2,3,14</sro_event_status_notify_ldi>
    <sro_event_status_notify_oec>0,1</sro_event_status_notify_oec>
    <sro_event_status_notify_ro>0,1</sro_event_status_notify_ro>

Adicionada a sigla RO na primeira tag, e adicionada a tag _sro_event_status_notifyro. Dessa forma os eventos do tipo RO (encaminhamento de objeto) deverão gerar notificação por e-mail.

magnored commented 8 years ago

muito obrigado ... vou estudar melhor esses eventos... vlw @rafaelpatro