Przejdź do głównej treści
Advanced Shipping Carrier

Advanced Shipping Carrier Integration: czego nikt Ci nie mówi przy uruchomieniu

Żeby uruchomić Advanced Shipping Carrier Integration, dodajesz każdego przewoźnika z Carrier Name, Carrier Type, Company i polem wyboru Enabled, razem z danymi dostępowymi do Twojego konta u tego przewoźnika: API Key, API Secret i Account Number. W pierwszym tygodniu warto obserwować Connection Status, Last Sync Time i Last API Response każdego przewoźnika, a gdy zapytanie się nie powiedzie, odczytać jego HTTP Status Code i Error Message. Poniżej znajdziesz praktyczne szczegóły, które warto znać przed startem.

FlexigoTech · Odpowiada: Víctor Gómez · Aktualizacja: 4 listopada 2026

Najważniejsze

Wersje
Odoo 17, 18, 19 i 20
Sprawdzone
w kodzie źródłowym konektora, wersja 20.0 · w źródłach podanych na końcu
Czas czytania
5 min

Zanim dodasz pierwszego przewoźnika

Uruchomienie rozstrzyga się w kilku miejscach: w karcie każdego przewoźnika, w rejestrze każdego zapytania i w polach statusu, które zobaczysz na listach. Oto szczegóły, które warto mieć jasne, zanim cokolwiek ruszysz. Jeśli szukasz ogólnego obrazu menu i przepływu, znajdziesz go w jak moduł działa od środka.

Dane dostępowe to dane Twojego konta u każdego przewoźnika

Dodanie przewoźnika obejmuje Carrier Name, Carrier Type (pole wyboru), Enabled i Company. Obok nich wpisujesz dane dostępowe. Sam moduł opisuje API Key jako «API key of the carrier account», a API Secret jako «API secret of the carrier account». Account Number to numer konta u danego przewoźnika, a pole podaje jako przykłady «FedEx account, UPS account, etc.».

Praktyczny wniosek: te trzy dane to dane Twojego konta u każdego przewoźnika, więc miej je pod ręką, zanim usiądziesz do konfiguracji. A ponieważ każdy wpis ma własne Company, jeśli pracujesz z kilkoma firmami w jednej bazie, sprawdź, do której przypisany jest każdy przewoźnik.

Custom Endpoint URL jest opcjonalny i dotyczy konkretnego przypadku

Wśród pól przewoźnika jest Custom Endpoint URL. Jego opis definiuje go jako własny, opcjonalny adres URL API dla «non-standard carriers». Jeśli Twój przewoźnik nie podpada pod ten przypadek, nie musisz go wypełniać.

Enabled i Connection Status sprawdzaj osobno

Enabled to pole wyboru, a Connection Status to osobne pole listy wyboru. To dwie różne informacje i warto je sprawdzać oddzielnie. Obok masz Last Sync Time, czyli datę i godzinę ostatniej synchronizacji, oraz Last API Response, czyli ostatnią odpowiedź API. W tej samej karcie zostają też Created i Created By, czyli data dodania i użytkownik, który go dodał.

Lista Hazmat Categories w module Shipping z sześcioma rekordami, każdy z kodem, nazwą kategorii i dopłatą równą zero, z paskiem wyszukiwania i paginacją
Kolejna lista modułu: Hazmat Categories, z sześcioma kategoriami i dopłatą równą zero.

Każde zapytanie jest zapisane pole po polu

Moduł zapisuje rekord z tymi polami: Carrier, Request Type, Status, Timestamp, HTTP Status Code, Response Snippet, Error Message, Request Payload i Company. Gdy coś się nie zgadza, to właśnie tam trzeba zajrzeć:

  • Request Type: jaki to był typ zapytania.
  • Request Payload: co zostało wysłane.
  • HTTP Status Code: kod HTTP odpowiedzi.
  • Response Snippet: fragment odpowiedzi.
  • Error Message: tekst błędu.
  • Timestamp: kiedy to się stało.

Dzięki Carrier i Timestamp szybko zawęzisz, o którego przewoźnika i o jaki moment chodzi. Do interpretacji konkretnych komunikatów masz przewodnik po błędach i ostrzeżeniach modułu.

Jest kilka pól statusu i nie znaczą tego samego

W module znajdziesz kilka pól o nazwie status lub state, każde z własnym zestawem wartości:

  • status z Success, Failed i Timeout.
  • status z Success, Error i Label Exists.
  • status z Draft, Generated, Printed i Failed.
  • status z Active, Degraded i Down.
  • status z Draft, In Progress, Completed, Failed i Paused.
  • status z Draft, Completed, Failed i Partial.
  • state z Open, Submitted, Approved, Rejected i Paid.
  • state z Draft i Done.
  • status_filter z Draft, Ready-to-Ship i All.

Zwróć uwagę, że Failed i Draft występują w kilku z nich. Gdy filtrujesz albo ktoś z zespołu mówi Ci, że coś jest w Failed, zapytaj, na której liście to zobaczył, zanim zaczniesz szukać przyczyny.

Najdłuższe pole state biegnie od Draft do Cancelled

Jedno z pól state modułu przechodzi przez te wartości: Draft, Blocked, Cost Quoted, Ready to Ship, In Transit, Out for Delivery, Delivered, Attempted Delivery, Returned to Sender, Lost, Damaged i Cancelled. Są też dwa pola, status i current_status, z Pre-Label, In-Transit, Out-for-Delivery, Delivered, Exception i Returned.

Uważaj na zapis: w jednym przypadku jest Out for Delivery, a w drugim Out-for-Delivery; tak samo Ready to Ship i Ready-to-Ship z status_filter. Pamiętaj o tym przy wyszukiwaniu i tworzeniu zapisanych filtrów.

Kreator Export Intrastat z miesiącem i rokiem, tekstem objaśniającym plik CSV oraz przyciskami Export i Cancel, otwarty nad listą przesyłek DHL Express w statusach Ready to Ship i Delivered
Kreator Export Intrastat nad listą przesyłek (Shipping › Shipments), z przesyłkami DHL Express w statusach Ready to Ship i Delivered.
Kreator Bulk Print Labels otwarty nad listą przesyłek z dwiema zaznaczonymi przesyłkami DHL Express, przyciskami Download Labels i Cancel oraz tekstem o jednym pliku PDF lub ZIP
Bulk Print Labels z dwiema zaznaczonymi przesyłkami DHL Express; tekst kreatora mówi o jednym pliku PDF lub ZIP.
Sekwencja kreatora Bulk Print Labels z dwiema zaznaczonymi przesyłkami, okno Create Return dla przesyłki w statusie Delivered i okno Record Carrier Invoice z DHL Express
Od masowego drukowania etykiet do okna Create Return (z przesyłką pierwotną, przewoźnikiem, typem usługi, Email Customer i notatkami do zwrotu) oraz do rejestracji faktury przewoźnika przez Record Carrier Invoice.

last_health_check_status ma trzy wartości

Pole last_health_check_status przyjmuje Success, Failed lub Unknown. W pierwszym tygodniu notuj, którą z trzech wartości widzisz każdego dnia, i porównuj ją z Last Sync Time i Last API Response przewoźnika.

Co sprawdzić w pierwszym tygodniu

Z powyższym przegląd pierwszych dni sprowadza się do tego:

  • Każdy przewoźnik ma API Key, API Secret i Account Number ze swojego konta oraz właściwe Company.
  • Custom Endpoint URL jest wypełniony tylko tam, gdzie dotyczy przypadku «non-standard carriers».
  • Enabled i Connection Status każdego przewoźnika, sprawdzane osobno.
  • Last Sync Time i Last API Response, codziennie.
  • Wartość last_health_check_status.
  • Przy każdym nieudanym zapytaniu: HTTP Status Code, Error Message, Response Snippet i Request Payload.
  • Które rekordy są w Blocked, Exception lub Attempted Delivery.

Ile to kosztuje i jak pomaga FlexigoTech

Moduł kosztuje 9 € netto (bez VAT) za wersję Odoo, w płatności jednorazowej, dla 17, 18, 19 i 20; w Odoo 19 i 20 dodatkowo wymaga subskrypcji FlexigoTech Cloud, której plan Conector kosztuje 49 €/mies. lub 490 €/rok netto (bez VAT) (Pro: 98 €/mies. lub 980 €/rok), z maksymalnie 3 kontami platformy (Pro: 10). To połączenie przez FlexigoTech Cloud przechowuje dane dostępowe w formie zaszyfrowanej, pilnuje synchronizacji i wysyła e-mail, jeśli coś zawiedzie; bez subskrypcji lub przy zawieszonej usłudze zatrzymuje się to, co daje subskrypcja, a dane zostają w Twoim Odoo.

Szczegóły znajdziesz w karcie w Odoo Apps oraz na stronie modułu w flexigotech.com.

W FlexigoTech wdrażamy Odoo 17, 18, 19 i 20 oraz tworzymy konektory i integracje na zamówienie. Jeśli potrzebujesz pomocy w dodaniu przewoźników, analizie pierwszych błędów albo dopasowaniu przepływu wysyłek do Twojej operacji, opisz nam swój przypadek.

Czytaj dalej

Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach

Źródła