myparcelnl / magento

The Magento 2 MyParcel plugin
https://developer.myparcel.nl/nl/documentatie/13.magento2.html
MIT License
19 stars 26 forks source link

Email sturen na zending ontvangst #162

Open Kroellie opened 6 years ago

Kroellie commented 6 years ago

Graag zien wij een mogelijkheid om een transactionele email te laten sturen als de zending is afgeleverd.

gvdhoven commented 5 years ago

Als ik feature #162 wil implementeren (Email sturen na zending ontvangst) en daarnaast mijn eigen request wil implementeren (pas e-mail sturen als zending status 3 “Aangeboden aan PostNL” of hoger heeft) lijkt het erop dat ik de volgende files moet gaan aanpassen:

Het verschil tussen de 2 is me nog niet duidelijk, maar ik zal uitleggen waarom je deze hier zou willen verwijderen. In de files:

  1. magento/Model/Sales/MagentoOrderCollection.php
  2. magento/Model/Sales/MagentoShipmentCollection.php

Zit beide de method updateMagentoTrack(). Mij lijkt het logisch om hier een switch in te zetten die checkt of een status (myparcel_status) wijzigt van bijv. 1 naar 3 (zending onderweg) en dan pas de email verstuurt, of dit zelfs dmv een admin optie configurabel maakt bij welke status hij dit doet. (meteen bij 1 of pas bij 3). Dit zet volgens mij de $shipment->setEmailSent(true) value.

Je zou dan een andere email kunnen sturen als de zending de status afgeleverd heeft gekregen (7) of is opgehaald (9). Volgens mij zou je hier zelfs de ‘is bij de buren afgeleverd’ optie moeten kunnen inbouwen maar ik heb onvoldoende kennis van Magento 2 op dit moment om hier antwoord op te geven. Logica zou zeker wel in de “updateMagentoTrack()” method kunnen.

Kroellie commented 5 years ago

Als eerste zal MyParcel ervoor moeten zorgen dat de status van zendingen courant is in hun eigen database. Het komt te vaak voor dat een paar uur na aflevering de zending nog "in distrubutie" staat in hun eigen backoffice. Als je de zending vervolgens traceert, wijzigt de status in "afgeleverd" als dat ook echt zo is. Het scherm ververst, en vervolgens is de status ook opeens "afgeleverd". Zolang deze 'vertraging' erin zit, heeft mijn feature request ook geen zin.

Hoe cool zou het zijn om je klant een mailtje te kunnen sturen "Snel, race naar de buren, je bestelling ligt te wachten op je!" of "Fijn, we zien dat je je pakje hebt ontvangen... veel uitpak plezier!"... Dat onderscheid sommige webwinkels zich van anderen... ;-)

gvdhoven commented 5 years ago

"Wij" doen dat al in onze eigen (niet-magento) webshop. We sturen pas een e-mail dat de zending onderweg is zodra hij ook echt traceerbaar is en updaten de status via een cron-job zodra de website 'internationalparceltracking.com' (via de JSON calls) aangeeft dat een zending afgeleverd is. Ook als hij bij de buren afgeleverd is weten we dat en kunnen we meestal het huisnummer doorgeven. Is wel een must dat dit komt dus kans is aanwezig dat ik dit zelf ga bouwen als een soort pull-request, maar dan niet via de MyParcel API (als die inderdaad niet up-to-date tracking heeft).

gvdhoven commented 5 years ago

@reindert-vetter this isn't closed, the #202 and #201 should be closed instead.

Kroellie commented 4 years ago

"Wij" doen dat al in onze eigen (niet-magento) webshop. We sturen pas een e-mail dat de zending onderweg is zodra hij ook echt traceerbaar is en updaten de status via een cron-job zodra de website 'internationalparceltracking.com' (via de JSON calls) aangeeft dat een zending afgeleverd is. Ook als hij bij de buren afgeleverd is weten we dat en kunnen we meestal het huisnummer doorgeven. Is wel een must dat dit komt dus kans is aanwezig dat ik dit zelf ga bouwen als een soort pull-request, maar dan niet via de MyParcel API (als die inderdaad niet up-to-date tracking heeft).

Het wachten hierop duurt mij te lang. Heb je iets wat je kan delen misschien (mits je daartoe bereid bent natuurlijk)? Met name de cron statusupdate en de mail-routine?

Kroellie commented 2 years ago

Het is best treurig dat deze feature vandaag de dag nog steeds niet bestaat 😕