# InPost – Tale Commerce Documentation Language: Polski ## Instalacja i konfiguracja Poznaj wymagania techniczne aplikacji i dowiedz się więcej o dostępnych funkcjonalnościach. ### Wymagania sklepu #### Carrier Calculated Shipping (CCS) **Carrier Calculated Shipping (CCS)** to funkcja Shopify potrzebna do działania naszej aplikacji. Dzięki niej klient widzi w checkout listę najbliższych punktów odbioru InPost na podstawie wpisanego adresu. Bez włączonego CCS aplikacja nie może pokazywać metod dostawy w checkout. ## Jak włączyć CCS CCS nie jest domyślnie dostępne we wszystkich planach Shopify. Może wymagać włączenia przez Shopify Support lub może być włączone w ramach niektórych planów. Poniżej główne opcje: ### Opcja 1: Rozliczenie roczne (plan Grow) — Najpopularniejsza **Wymagania:** Plan Grow, opłacany rocznie **Koszt:** Bez opłat 1. Zaloguj się jako właściciel sklepu 2. Przejdź do **Ustawienia → Plan → Zmień plan → Płać rocznie**, aby przełączyć na rozliczenie roczne 3. Skontaktuj się z [Centrum Pomocy Shopify](https://help.shopify.com/search/Contact-Support), kliknij **Czat z człowiekiem** i upewnij się, że połączono Cię z konsultantem 4. Skorzystaj z gotowego szablonu wiadomości: > Dzień dobry, rozumiem, że Carrier-Calculated Shipping jest dostępne bez dodatkowych opłat w planie Grow z rozliczeniem rocznym. Czy moglibyście włączyć tę funkcję dla mojego sklepu? Z góry dziękuję! **Bonus:** Zaoszczędzisz 25% na subskrypcji Shopify przy rozliczeniu rocznym. ### Opcja 2: À la carte (plan Grow, miesięcznie) **Wymagania:** Plan Grow, opłacany miesięcznie **Koszt:** +20 USD miesięcznie 1. Zaloguj się jako właściciel sklepu 2. Przejdź do [Centrum Pomocy Shopify](https://help.shopify.com/search/Contact-Support) 3. Kliknij **Czat z człowiekiem** i upewnij się, że połączono Cię z konsultantem 4. Skorzystaj z gotowego szablonu wiadomości: > Dzień dobry, rozumiem, że włączenie Carrier-Calculated Shipping wiąże się z dodatkową opłatą 20 USD miesięcznie w planie Grow. Czy moglibyście dodać tę funkcję do mojego sklepu? Z góry dziękuję! ### Opcja 3: Plan Advanced **Wymagania:** Plan Advanced Shopify **Koszt:** Bez opłat (CCS jest włączone) 1. Zaloguj się jako właściciel sklepu 2. Przejdź do **Ustawienia → Plan → Zmień plan**, aby przejść na plan Advanced ## Uwaga: zmiana planu Shopify Przy zmianie planu (np. zmiana waluty rozliczenia, zmiana częstotliwości rozliczenia) Shopify może automatycznie wyłączyć CCS. W takiej sytuacji aplikacja przestanie wyświetlać punkty odbioru. Skontaktuj się z [centrum pomocy Shopify](https://help.shopify.com/search/Contact-Support), aby ponownie włączyć tę funkcję. #### Zalecane ustawienia sklepu Aby bezproblemowo przyjmować zamówienia z dostawą do punktów odbioru, zalecamy zmianę poniższych ustawień w sklepie: ### Wymagany email, imię i nazwisko oraz numer telefonu 1. Przejdź do [Ustawienia → Realizacja zakupu](shopify://admin/settings/checkout) 2. Przewiń do karty **Metoda kontaktu z klientem** 3. Wybierz **E-mail** 4. Przewiń do karty **Informacje o kliencie** 5. Przy ustawieniu **Imię i nazwisko** zaznacz **Wymagaj imienia i nazwiska** 6. Przy ustawieniu **Numer telefonu do wysyłki** zaznacz **Wymagane** 7. Zapisz ustawienia klikając przycisk **Zapisz** ### Jeśli oferujesz Apple Pay lub Google Pay przez Shopify Payments / Stripe Zalecamy wyłączenie ekspresowych opcji checkout Apple Pay i Google Pay. Należy upewnić się, że przyciski ekspresowego checkout nie są widoczne na: stronie produktu, stronie koszyka oraz stronie checkout. W przypadku Apple Pay - pozostanie ona dostępna jako standardowa metoda płatności w Shopify Checkout. ### Jeżeli Twój sklep posiada więcej niż jedną lokalizację Należy zmienić ustawienia wysyłki – tak, aby stawki były obliczane tylko z głównej lokalizacji. 1. Przejdź do [Ustawienia → Wysyłka i dostawa](shopify://admin/settings/shipping) 2. W sekcji **Wysyłka** kliknij na pole poniżej napisu **Ogólne stawki wysyłki** 3. Rozwiń sekcję **Lokalizacje realizacji** klikając na **Pokaż szczegóły** 4. Kliknij **Ikonę edycji**, wyświetli się okienko **Zarządzaj stawkami dla lokalizacji sklepu** 5. Wybierz opcję **Usuń stawki** i kliknij **Gotowe** – powtórz dla wszystkich z wyjątkiem domyślnej lokalizacji 6. Zapisz ustawienia klikając przycisk **Zapisz** ### Jeżeli korzystasz z aplikacji Google & YouTube Aplikacja Google & YouTube domyślnie synchronizuje metody dostawy określone w ustawieniach sklepu. Niestety pomija ona metody dostawy generowane przez aplikacje, takie jak nasza. Jedyne rozwiązanie, polega na wyłączeniu synchronizacji metod dostawy i dodaniu ich ręcznie w Google Merchant Center. **Uwaga:** Jeżeli nie wyłączysz synchronizacji, aplikacja Google & Youtube usunie ręcznie dodane metody dostawy podczas kolejnej synchronizacji. Zgłosiliśmy ten problem do Shopify, lecz najprawdopodobniej nie zostanie rozwiązany w najbliższym czasie. 1. Przejdź do [Sales channels → Google & YouTube](shopify://admin/apps/google) 2. Przejdź do zakładki **Ustawienia** 3. W sekcji **Ustawienia feedu produktów**, obok **Ustawienia wysyłki** kliknij **Zarządzaj** 4. Wybierz opcję **Ręcznie skonfiguruj ustawienia wysyłki w Google Merchant Center** 5. Kliknij **Zapisz** 6. Wejdź do [Google Merchant Center](https://merchants.google.com/mc) 7. Przejdź do zakładki **Dostawa i zwroty** 8. Dodaj swoje metody dostawy włącznie z dostawą do punktów odbioru ### Korzystanie z aplikacji #### Jak wykluczyć niektóre produkty z wysyłki do punktów odbioru? ### Opcja 1: Waga wariantu (zalecane) Jeśli nie korzystasz z atrybutu wagi w Shopify, do wybranych wariantów możesz przypisać wagę np. 1 kg, a następnie ustawić w aplikacji InPost ograniczenie wagi do 1 kg. Wysyłka do punktów odbioru będzie niedostępna, jeśli łączna waga wariantów w koszyku przekracza ustawiony limit. ### Opcja 2: Tag produktu Możesz przypisać produktom tag np. `bez-dostawy-do-punktu-odbioru`, a następnie w aplikacji InPost włączyć opcję **Włącz wykluczenia produktów** i wpisać ten tag. Wysyłka do punktów odbioru będzie niedostępna, jeśli którykolwiek z produktów w koszyku zawiera ten tag. **Uwaga**: opcja wykluczenia po tagu może w niewielkim stopniu spowalniać wyświetlanie punktów odbioru, zalecamy skorzystanie z opcji wykluczenia po wadze. #### Jak dodać informację przy wyborze metody wysyłki? Możesz wyświetlić dowolną informację przy wyborze metody dostawy w checkout: ![Powiadomienie o metodzie dostawy w checkout](./shipping-notice-checkout.png) Kroki: 1. Przejdź do kanału sprzedaży [Sklep online](shopify://admin/themes). 2. Obok nazwy bieżącego szablonu kliknij przycisk z trzema kropkami, a następnie **Edytuj domyślną zawartość motywu**. 3. Kliknij na ikonę lupy, a następnie w polu wyszukiwania wpisz `shipping_method_notice`. 4. W polu tekstowym **Shipping method notice** wprowadź swój tekst, na przykład: > Jeśli chcesz wybrać inny punkt odbioru, zmień adres dostawy na najbliższy docelowemu punktowi odbioru. 5. Kliknij przycisk **Zapisz**. ![Powiadomienie o metodzie dostawy w szablonie](./shipping-notice-theme.png) #### Jak dodać opcję dostawy kurierem? Nasza aplikacja obsługuje wyłącznie dostawę do punktów odbioru. Dostawę kurierską najlepiej skonfigurować bezpośrednio w ustawieniach Shopify - Shopify oferuje wbudowane narzędzia do zarządzania stawkami dostawy, więc nie ma potrzeby duplikowania tej funkcji w aplikacji. Poniżej znajdziesz instrukcję krok po kroku, jak dodać opcję dostawy kurierem InPost z opcją bezpłatnej dostawy: 1. Przejdź do [Ustawienia → Wysyłka i dostawa](shopify://admin/settings/shipping) 2. Kliknij na profil dostawy **Profil ogólny** 3. Przy strefie dostawy obejmującej Polskę, kliknij **Dodaj stawkę** 4. Wprowadź nazwę metody dostawy, np. **Kurier InPost** oraz jej koszt dla klienta, np. 9.90 zł 5. Kliknij **Dodaj ceny warunkowe** 6. Wybierz **Na podstawie ceny zamówienia** 7. Jeżeli chcesz oferować bezpłatną dostawę od np. 150.00 zł, w polu **Cena maksymalna** wprowadź kwotę o grosz mniejszą (np. 149.99 zł) 8. Kliknij **Gotowe** 9. Kliknij ponownie **Dodaj stawkę** 10. Wprowadź taką samą nazwę metody dostawy, jak poprzednio 11. Pole **Cena** pozostaw puste 12. Kliknij **Dodaj ceny warunkowe** 13. Wybierz **Na podstawie ceny zamówienia** 14. W polu **Cena minimalna** wprowadź kwotę (np. 150.00 zł) 15. Kliknij **Gotowe** 16. Zapisz zmiany klikając **Zapisz** Efekt końcowy: ![Metody dostawy kurierem](./shipping-rates.png) W taki sam sposób możesz dodać inne metody dostawy, takie jak Kurier DPD, DHL czy GLS. ## Częste pytania i problemy Oto zestawienie najczęściej zadawanych pytań i problemów, które mogą wystąpić. Jeśli nie znajdziesz na tej liście tego, czego szukasz, skontaktuj się z nami. ### Częste problemy #### Zmiany w ustawieniach nie są odzwierciedlone w checkout **Problem**: Podczas konfigurowania aplikacji InPost i jednoczesnego sprawdzania procesu checkout, wprowadzone zmiany w ustawieniach aplikacji mogą nie być od razu widoczne. **Przyczyna**: Shopify przechowuje proponowane metody dostawy dla danego koszyka przez 5 do 15 minut, co powoduje opóźnienie w aktualizacji. **Rozwiązanie**: Wróć do formularza adresu dostawy i wprowadź drobną zmianę, na przykład dodaj znak do nazwiska. Spowoduje to ponowne pobranie aktualnych metod dostawy. #### Punkty odbioru nie wyświetlają się przy płatności Apple Pay lub Google Pay W przypadku ekspresowego checkout Apple Pay oraz Google Pay opcja dostawy do punktów odbioru nie zostanie wyświetlona. Dzieje się tak, ponieważ Shopify nie przekazuje pełnego adresu dostawy do aplikacji InPost, który jest wymagany do wyszukania najbliższych punktów odbioru. Jeśli stanowi to problem, zalecamy wyłączenie ekspresowych opcji checkout Apple Pay i Google Pay. Należy upewnić się, że przyciski ekspresowego checkout nie są widoczne na: stronie produktu, stronie koszyka oraz stronie checkout. W przypadku Apple Pay - pozostanie ona dostępna jako standardowa metoda płatności w Shopify Checkout. ### Częste pytania #### Czy kupujący może wybrać inny punkt odbioru niż proponowane? Kupujący ma do wyboru jedynie najbliższe punkty odbioru wskazane na podstawie podanego adresu dostawy. Wiemy, że to nie jest idealne rozwiązanie, jednak jest satysfakcjonujące dla większości klientów. **Kiedy tylko Shopify pozwoli aplikacjom bardziej rozszerzać stronę składania zamówienia – na pewno wprowadzimy możliwość wyboru innego punktu odbioru.** Na ten moment, kupujący ma trzy opcje: 1. Zmiana adresu dostawy na taki bliski punktowi odbioru i wybranie tego punktu odbioru 2. Dodanie notatki do zamówienia 3. Kontakt po złożeniu zamówienia Przy wyborze metody wysyłki można dodać informację, np.: "Jeśli chcesz wybrać inny punkt odbioru, zmień adres dostawy na najbliższy docelowemu punktowi odbioru." - patrz: [Jak dodać informację przy wyborze metody wysyłki?](?article_id=122317718) Możesz również rozważyć skorzystanie z naszej drugiej aplikacji, [Atlas Pickup Points](https://apps.shopify.com/atlas-pickup-points). Działa ona na innej zasadzie i nie występuje w niej ten problem. #### Czy dane dotyczące punktów odbioru są aktualne? Tak, dane punktów odbioru są aktualizowane co godzinę, dzięki czemu Twoi klienci nie złożą zamówienia do chwilowo niedostępnego punktu. #### Co w sytuacji, jeśli sklep nie obsługuje waluty danego kraju? Shopify automatycznie przelicza koszt dostawy na walutę sklepu. Na przykład - jeśli sklep działa w PLN i nie obsługuje EUR, a dostawa do Francji kosztuje 5 EUR, kwota zostanie automatycznie przeliczona na PLN w checkoucie. #### Pod jakimi nazwami dostępna jest dostawa do punktów odbioru? Nazwy zależą od kraju i języka. W zależności od rynku, metody dostawy mogą być wyświetlane pod marką InPost, Mondial Relay lub lokalnych partnerów (np. Austrian Post, Express One). Aplikacja automatycznie dostosowuje nazwy metod dostawy do lokalnego języka i nomenklatury. #### Czy do działania aplikacji potrzebna jest umowa z InPost lub klucz API? Nasza aplikacja nie wymaga ani umowy z InPost, ani klucza API. #### Czy jest możliwość wysyłki do punktu odbioru za pobraniem? Tak, natomiast Shopify nie pozwala na doliczenie dodatkowej opłaty za pobranie do kosztu dostawy. Jeśli pobierasz opłatę za pobranie, musisz uwzględnić ją w cenie dostawy. #### Jak nadawać przesyłki InPost? Rolą aplikacji InPost – Tale Commerce jest pozwolenie klientom na wybór punktu odbioru. Przy każdym zamówieniu w Shopify widnieje identyfikator wybranego przez klienta punktu odbioru: ![Wybrany punkt odbioru](./selected-pickup-point.png) To, w jaki sposób przesyłki będą nadawane, zależy od Państwa. Dostępne opcje to: 1. [BaseLinker](https://baselinker.com/pl-PL/integracje/paczkomaty/) - jeżeli obsługują Państwo zamówienia za pomocą BaseLinker, aplikacja InPost automatycznie przekazuje identyfikator punktu odbioru do BaseLinkera. Dzięki BaseLinkerowi można nadawać przesyłki za pomocą brokerów lub bezpośredniej integracji z InPost. 2. [Apilo](https://apilo.com/) - jeżeli obsługują Państwo zamówienia za pomocą Apilo, aplikacja InPost automatycznie przekazuje identyfikator punktu odbioru do Apilo. Dzięki Apilo można nadawać przesyłki za pomocą brokerów lub bezpośredniej integracji z InPost. 3. Broker [Furgonetka](https://furgonetka.pl/) - jeżeli korzystają Państwo z brokera Furgonetka, ich [integracja z Shopify](https://furgonetka.pl/pomoc/272,integracja__shopify) umożliwia łatwe nadawanie przesyłek. Dane adresowe wraz z identyfikatorem punktu odbioru są przekazywane automatycznie. 4. W przypadku niewielkich sklepów przesyłki można nadawać ręcznie, wpisując adres i identyfikator punktu odbioru. Można korzystać z dowolnego brokera lub [Managera Paczek InPost](https://manager.paczkomaty.pl/). #### Integracja z aplikacją InPost - Tale Commerce Aplikacja **InPost - Tale Commerce** umożliwia klientom wybór punktu odbioru InPost bezpośrednio na etapie checkoutu w Shopify. Po złożeniu zamówienia dane wybranego punktu zapisywane są w obiekcie zamówienia - możesz je odczytać zarówno przez Shopify webhooks, jak i Admin GraphQL API. Ten artykuł opisuje, jak pobrać identyfikator wybranego punktu odbioru z zamówienia Shopify, rozpoznać typ przesyłki oraz znormalizować nazwy metod dostawy. ## Struktura danych w zamówieniu Informacja o wybranym punkcie odbioru jest przechowywana w tablicy `shipping_lines` (webhooks) lub `shippingLines` (GraphQL) na obiekcie zamówienia. Każdy element tej tablicy zawiera m.in.: - **name** (String) - nazwa metody dostawy widoczna dla klienta - **carrier_identifier** / **carrierIdentifier** (String) - identyfikator aplikacji - **code** (String) - kod metody dostawy z identyfikatorem punktu odbioru W przypadku aplikacji InPost - Tale Commerce, `carrier_identifier` to zawsze: ``` 817bcd956c0dec08763dd1d56479cc14 ``` ## Pobieranie danych z webhooka Dokumentacja webhooków Shopify: [https://shopify.dev/docs/api/webhooks/latest](https://shopify.dev/docs/api/webhooks/latest) Typowy payload zamówienia zawiera tablicę `shipping_lines`: ```json { "shipping_lines": [ { "carrier_identifier": "817bcd956c0dec08763dd1d56479cc14", "code": "INPOST-WAW77N", "name": "InPost Paczkomat 24/7 • 1.1 km • WAW77N" } ] } ``` ## Pobieranie danych z Admin GraphQL API Dokumentacja obiektu Order: [https://shopify.dev/docs/api/admin-graphql/latest/objects/Order](https://shopify.dev/docs/api/admin-graphql/latest/objects/Order) Przykładowe zapytanie GraphQL: ```graphql query GetOrder($id: ID!) { order(id: $id) { id name shippingLines(first: 5) { nodes { carrierIdentifier code title } } } } ``` ## Identyfikacja punktu odbioru Aby odczytać identyfikator punktu odbioru z zamówienia: 1. Sprawdź, czy `carrier_identifier` (webhook) lub `carrierIdentifier` (GraphQL) jest równy `817bcd956c0dec08763dd1d56479cc14`. 2. Jeśli tak - pobierz wartość `code`. 3. Usuń prefiks `INPOST-` z wartości `code`, aby uzyskać ID punktu. Przykład w JavaScript: ```javascript function getPickupPointId(shippingLine) { const INPOST_APP_CARRIER_ID = "817bcd956c0dec08763dd1d56479cc14" if (shippingLine.carrier_identifier !== INPOST_APP_CARRIER_ID) { return null } const code = shippingLine.code if (!code.startsWith("INPOST-")) { return null } return code.replace("INPOST-", "") } ``` ### Przykłady kodów punktów - Polska | Kod w `code` | ID punktu po usunięciu prefiksu | Typ | | ------------------- | ------------------------------- | ------------- | | `INPOST-CSZ17M` | `CSZ17M` | Paczkomat | | `INPOST-KRMA01BAPP` | `KRMA01BAPP` | Paczkomat | | `INPOST-POP-BIA114` | `POP-BIA114` | Punkt odbioru | ### Przykłady kodów punktów - inne kraje W przypadku przesyłek z innych krajów, identyfikator punktu zaczyna się od kodu kraju: | Kod w `code` | ID punktu po usunięciu prefiksu | | -------------------- | ------------------------------- | | `INPOST-AT981002P` | `AT981002P` | | `INPOST-BE041176` | `BE041176` | | `INPOST-ES059572` | `ES059572` | | `INPOST-FR033579` | `FR033579` | | `INPOST-ITAAQ02468P` | `ITAAQ02468P` | | `INPOST-ITBAT44063M` | `ITBAT44063M` | | `INPOST-LU010779` | `LU010779` | | `INPOST-NL022165` | `NL022165` | | `INPOST-PT002296` | `PT002296` | | `INPOST-UK00008334` | `UK00008334` | ## Rozpoznawanie typu przesyłki - Paczka w Weekend Opcja "Paczka w Weekend" nie zmienia kodu punktu odbioru w polu `code`. Aby wykryć ten typ dostawy, sprawdź atrybut `name` - jeśli zawiera słowo kluczowe **"weekend"**, masz do czynienia z dostawą w weekend. ```javascript function isWeekendDelivery(shippingLine) { return shippingLine.name.toLowerCase().includes("weekend") } ``` Przykładowe wartości `name`: - `InPost Paczkomat 24/7 • 1.1 km • WAW77N` - standardowa dostawa - `InPost Paczkomat 24/7 • 1.1 km • WAW77N • Paczka w Weekend` - Paczka w Weekend > **Uwaga:** Poza rozpoznawaniem Paczki w Weekend, nie należy polegać na atrybucie `name` do identyfikacji metod dostawy. Nazwa może zostać zmieniona w dowolnym momencie. Do identyfikacji punktu odbioru zawsze używaj pola `code`. ## Normalizacja nazw metod dostawy Nazwy metod dostawy generowane przez aplikację zawierają kod punktu odbioru oraz dystans, na przykład: ``` InPost Paczkomat 24/7 • 1.1 km • WAW77N InPost Paczkopunkt • 0.5 km • POP-WAW722 Locker Mondial Relay • 1.1 km • FR020947 Points Relais® • 0.6 km • FR019857 Abholstation • 0.5 km • AT981002B Postfiliale • 0.5 km • AT981002P InPost Locker • 0.5 mi • UK00192101 InPost Shop • 0.4 mi • UK00253499 ``` Jeżeli Twój system oferuje statystyki lub filtrowanie po nazwie metody dostawy, ujednolicenie nazw ułatwi raportowanie. Aby znormalizować nazwy, usuń część zawierającą dystans i kod punktu: ```javascript function normalizeShippingName(name) { return name.replace(/ • \d+\.?\d*\s*(km|mi) • [\w-]+/g, "") } ``` Wynik normalizacji: | Nazwa oryginalna | Po normalizacji | | ------------------------------------------------------------ | ------------------------------------------ | | `InPost Paczkomat 24/7 • 1.1 km • WAW77N` | `InPost Paczkomat 24/7` | | `InPost Paczkomat 24/7 • 1.1 km • WAW77N • Paczka w Weekend` | `InPost Paczkomat 24/7 • Paczka w Weekend` | | `InPost Paczkopunkt • 0.5 km • POP-WAW722` | `InPost Paczkopunkt` | | `Locker Mondial Relay • 1.1 km • FR020947` | `Locker Mondial Relay` | | `Points Relais® • 0.6 km • FR019857` | `Points Relais®` | | `InPost Locker • 0.5 mi • UK00192101` | `InPost Locker` | ## Kompletny przykład Poniżej znajdziesz kompletną funkcję, która przetwarza shipping line z zamówienia i zwraca wszystkie potrzebne informacje: ```javascript const INPOST_APP_CARRIER_ID = "817bcd956c0dec08763dd1d56479cc14" function parseShippingLine(shippingLine) { const carrierId = shippingLine.carrier_identifier ?? shippingLine.carrierIdentifier if (carrierId !== INPOST_APP_CARRIER_ID) { return null } const code = shippingLine.code if (!code || !code.startsWith("INPOST-")) { return null } const pickupPointId = code.replace("INPOST-", "") const name = shippingLine.name ?? shippingLine.title const isWeekend = name?.toLowerCase().includes("weekend") ?? false const normalizedName = name?.replace(/ • \d+\.?\d*\s*(km|mi) • [\w-]+/g, "") return { pickupPointId, isWeekend, originalName: name, normalizedName, } } ``` Przykład użycia z webhookiem: ```javascript app.post("/webhooks/orders/create", (req, res) => { const order = req.body for (const shippingLine of order.shipping_lines) { const result = parseShippingLine(shippingLine) if (result) { console.log(`Punkt odbioru: ${result.pickupPointId}`) console.log(`Paczka w Weekend: ${result.isWeekend}`) console.log(`Metoda dostawy: ${result.normalizedName}`) } } res.sendStatus(200) }) ``` Przykład użycia z odpowiedzią GraphQL: ```javascript const orderData = await shopifyGraphQL(GET_ORDER_QUERY, { id: orderId }) for (const shippingLine of orderData.order.shippingLines.nodes) { const result = parseShippingLine(shippingLine) if (result) { console.log(`Punkt odbioru: ${result.pickupPointId}`) console.log(`Paczka w Weekend: ${result.isWeekend}`) console.log(`Metoda dostawy: ${result.normalizedName}`) } } ```