Dropshipping

Tracking z pliku CSV lub e-maila hurtowni: jak automatycznie dopasować numery do zamówień i wykryć braki oraz duplikaty

Tracking z CSV lub e-maila hurtowni powinien być importowany dopiero po jednoznacznym dopasowaniu do zamówienia oraz po kontroli formatu, duplikatów i braków. Najbezpieczniejszy klucz to stabilny identyfikator zamówienia przekazany wcześniej dostawcy. Dopasowanie wyłącznie po nazwisku klienta, kodzie pocztowym albo kwocie jest zbyt ryzykowne, bo te wartości mogą się powtarzać.

Najpierw zdefiniuj minimalny format danych

Plik nie musi mieć dwudziestu kolumn. Wystarczy kilka, ale ich znaczenie powinno być stałe. Jeżeli hurtownia raz wysyła numer zamówienia sklepu jako „order”, a innym razem własny numer magazynowy, automat zacznie zgadywać.

Pole Znaczenie Czy wymagane
store_order_id identyfikator zamówienia sklepu tak
supplier_order_id identyfikator po stronie hurtowni zalecane
tracking_number numer przesyłki tak
carrier przewoźnik lub kod usługi zalecane
shipped_at czas faktycznej wysyłki, jeśli dostępny zalecane
package_no numer paczki przy wielopaczkowości opcjonalne

Jeśli hurtownia wysyła tracking e-mailem, pierwszym krokiem powinno być ustandaryzowanie wiadomości do tego samego modelu danych. Parsowanie dowolnej treści naturalnego e-maila bez reguł jest podatne na błędy.

Dopasowanie trackingu do zamówienia: hierarchia kluczy

  1. Dokładny store_order_id. Najpewniejszy wariant, jeśli przekazujesz go dostawcy.
  2. Mapowanie supplier_order_id → store_order_id. Dobre, jeśli zapisujesz numer hurtowni po utworzeniu zamówienia.
  3. Złożony klucz awaryjny. Np. e-mail + kod pocztowy + data + SKU, ale tylko do kolejki ręcznej, nie do automatycznego zatwierdzenia.
  4. Nigdy samo nazwisko. Powtarzalne dane klienta nie są identyfikatorem technicznym.

Waliduj numer przed aktualizacją statusu

Numer trackingowy powinien zostać oczyszczony z przypadkowych spacji i znaków, ale nie wolno z góry zakładać, że składa się wyłącznie z cyfr. Różni przewoźnicy używają różnych formatów. Zamiast globalnej reguły warto mieć walidację zależną od przewoźnika lub przynajmniej kontrolę długości i niedozwolonych znaków.

Sam poprawny format nie dowodzi wysyłki. Jeżeli system przewoźnika udostępnia status, tracking może później przejść przez stan etykiety utworzonej i pierwszy skan. To odrębny problem opisany w procesie braku numeru śledzenia i eskalacji do hurtowni.

Jak wykrywać duplikaty?

Duplikat może mieć kilka znaczeń. Ten sam numer może przyjść drugi raz w kolejnym pliku — to zwykłe powtórzenie i import powinien być idempotentny. Gorzej, gdy ten sam tracking pojawia się dla dwóch różnych klientów albo dwa różne trackingi są podawane dla tej samej paczki.

  • ten sam order_id + ten sam tracking: zignoruj jako bezpieczne powtórzenie;
  • ten sam order_id + nowy tracking: sprawdź, czy to druga paczka czy korekta;
  • różne order_id + ten sam tracking: alarm, chyba że zamówienia zostały celowo skonsolidowane;
  • tracking pusty lub techniczna wartość typu „N/A”: nie zmieniaj statusu;
  • tracking zmieniony po wcześniejszym pierwszym skanie: wysoka ostrożność, potrzebna historia zmian.

Import nie powinien być jedną transakcją „wszystko albo nic”

Dobrze zaprojektowany importer przetwarza każdy wiersz osobno i na końcu zwraca raport. Poprawne rekordy mogą przejść, a błędne trafić do kolejki. Dzięki temu jedna literówka w wierszu 514 nie blokuje 513 poprawnych trackingów.

Wynik rekordu Co robi system
matched + valid zapisuje tracking i log zdarzenia
matched + duplicate identical pomija bez ponownego wysyłania maila
matched + conflicting tracking kolejka do weryfikacji
not matched kolejka „brak zamówienia”
invalid format kolejka „tracking do sprawdzenia”

Co zapisać w logu?

Po kilku tygodniach najważniejsze pytanie brzmi nie „jaki tracking mamy?”, lecz „skąd on się wziął?”. Zapisuj nazwę pliku lub identyfikator e-maila, czas importu, oryginalną wartość, wynik normalizacji i identyfikator użytkownika albo procesu, który zatwierdził wyjątek. Log pozwala odtworzyć błąd bez zgadywania.

Nie wysyłaj klientowi pięciu wiadomości po ponownym imporcie

Warstwa komunikacji powinna reagować na zmianę stanu, nie na sam fakt przetworzenia wiersza. Jeżeli tracking był już zapisany, ponowny import identycznego pliku nie może uruchomić drugiego e-maila „Twoja paczka została wysłana”. To ta sama zasada idempotencji, która chroni system przy powtarzających się webhookach.

Jeżeli importowane dane dotyczą części zamówienia, system powinien wiedzieć, które SKU obejmuje paczka. W przeciwnym razie klient może dostać informację sugerującą wysłanie całego koszyka. Przydatna jest tu procedura częściowej wysyłki i komunikacji o drugim produkcie.

Minimalny workflow automatyczny

  1. Odbierz plik lub e-mail do kontrolowanej skrzynki.
  2. Zamień dane na jeden wewnętrzny format.
  3. Dopasuj rekord po stabilnym identyfikatorze.
  4. Zweryfikuj tracking i przewoźnika.
  5. Sprawdź duplikat lub konflikt.
  6. Zapisz zmianę i log.
  7. Wyślij komunikat tylko, jeśli status faktycznie przeszedł do nowego stanu.
  8. Wygeneruj raport braków i konfliktów.

FAQ

Czy można dopasować tracking po adresie klienta?

Adres może być sygnałem pomocniczym, ale nie powinien samodzielnie zatwierdzać importu. Ten sam klient może mieć kilka zamówień, a adres bywa korygowany.

Co zrobić, gdy w jednej komórce są dwa numery?

Rozbij rekord zgodnie z udokumentowanym formatem i ustal, czy to dwie paczki tego samego zamówienia. Nie łącz numerów w jeden ciąg.

Jak uniknąć ponownego maila po imporcie tego samego CSV?

Nadaj zmianom idempotentną logikę: jeśli numer i stan są już zapisane, rekord nie tworzy nowego zdarzenia klienta.

Informacja: publikacja może zawierać linki afiliacyjne. Zakup dokonany po przejściu przez taki link może przynieść autorowi prowizję, bez dodatkowego kosztu dla czytelnika. Nie wpływa to na treść ani ocenę opisywanych rozwiązań.

admin

Autor praktycznych materiałów o dropshippingu, e-commerce, automatyzacji i rozwijaniu sprzedaży internetowej.