Przykład, który przeprowadzi nas przez przycisk krok po kroku
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Librería Faro to wymyślony sklep, który sprzedaje w Shopify, a zamówienia prowadzi w Odoo za pomocą tego modułu. Klient prosi o zwrot kwoty za całe zamówienie, a Ana z administracji otwiera to zamówienie sprzedaży w Odoo. Poniżej opisuję, co moduł robi w każdym punkcie, według jego kodu dla Odoo 20.
Po pierwsze: czy przycisk się pojawia?
Przycisk Refund in Shopify znajduje się w widoku zamówienia sprzedaży i jest ukryty, gdy pole Shopify Order Ref jest puste. Przy wartościach domyślnych to pole jest puste, więc w zamówieniu bez powiązania z Shopify przycisku nie zobaczysz. To pole oraz Shopify Instance znajdują się na karcie zamówienia, w grupie Shopify; są tylko do odczytu i są ukryte, dopóki referencja jest pusta. Ten sam warunek widoku obowiązuje w Odoo 17, 18, 19 i 20.

Po drugie: potwierdzenie
Po kliknięciu przycisku Odoo pyta Create a full refund of this order in Shopify?. Jeśli zaakceptujesz, Odoo wykonuje akcję przycisku.
Po trzecie: co sprawdza, w tej kolejności
- Uprawnienia. Pierwsze, co robi akcja, to sprawdzenie, czy Twój użytkownik ma dostęp Shopify Operator lub Manager. Jeśli go nie ma, zatrzymuje się z komunikatem
You need Shopify Operator (or Manager) access to push changes to Shopify.Komentarz w kodzie wyjaśnia powód: użytkownik ze zwykłym dostępem do Sprzedaży, bez żadnej roli Shopify, mógłby w przeciwnym razie wywołać prawdziwe zapytanie do Shopify z danymi dostępowymi sklepu. Dlatego sprawdzenie jest w samej akcji i nie zależy od tego, czy przycisk jest widoczny. - Powiązanie z Shopify. Dla każdego zamówienia akcja wymaga, aby miało wypełnioną referencję Shopify i instancję. Jeśli czegoś brakuje, zatrzymuje się z komunikatem
Sale order … is not linked to a Shopify order., z nazwą zamówienia w miejscu wielokropka. Ponieważ przycisk widać tylko przy wypełnionej referencji, jeśli klikniesz go z karty i pojawi się ten komunikat, sprawdź w grupieShopify, czyShopify Instancema wartość.
Gdy komunikat zatrzymuje akcję, proces kończy się w tym miejscu i nie dochodzi do zażądania zwrotu dla tego zamówienia.
Po czwarte: o co prosi Shopify
Jeśli zamówienie przejdzie te sprawdzenia, jego instancja Shopify otrzymuje polecenie utworzenia zwrotu. Według kodu:
- Pozycje. Zwracane są wszystkie zaimportowane pozycje: te, które nie są sekcjami ani notatkami, nie są pozycjami dostawy i mają identyfikator pozycji Shopify. Ilość to ilość z pozycji, zaokrąglona do liczby całkowitej.
- Dostawa. Pozycje dostawy są pomijane, a żądanie nie prosi o zwrot kosztów dostawy.
- Notatka. O ile nie wskazano innej, notatka przekazywana do Shopify to
Refunded from Odoo. - Powiadomienie klienta i saldo sklepu. Pochodzą z opcji instancji: powiadomienie klienta o zwrocie oraz zwrot jako saldo sklepu zamiast na pierwotny środek płatności.
- Waluta. Moduł pyta Shopify o sugerowany zwrot i, jeśli Shopify zwróci walutę, dołącza ją do żądania.
- Ponowienia. Żądanie zawiera klucz opisujący dokładnie ten zwrot (zamówienie, pozycje, ilości, dostawa i metoda). Jeśli zostanie powtórzone, z powodu zgubionej odpowiedzi lub drugiego niecierpliwego kliknięcia, ma ten sam klucz, a Shopify zwraca środki tylko raz, według komentarza w kodzie.
Jeśli Ana nie ma roli
Jeśli Ana zobaczy komunikat o uprawnieniach, zwrot nie został zażądany. Potrzebuje, aby osoba zarządzająca Odoo nadała jej dostęp Shopify Operator (lub Manager), tak jak mówi sam komunikat, i ponownie kliknąć przycisk.

Czego uczy ten przykład
- Przycisk nie jest dla każdego zamówienia: zależy od
Shopify Order Ref, a tej referencji nie wypełnia się ręcznie, bo pole jest tylko do odczytu. - Twoje uprawnienia i powiązanie zamówienia (referencja i instancja) są sprawdzane, zanim moduł skontaktuje się z Shopify, a jeśli którekolwiek zawiedzie, akcja się zatrzymuje.
- Zwrot, o który prosi, jest pełny w odniesieniu do zaimportowanych pozycji, bez pozycji dostawy i kosztów dostawy.
- Powiadomienie klienta i zwrot jako saldo sklepu nie są wybierane przy kliknięciu: wynikają z opcji instancji.
- Identyczne ponowienie nie zdubluje zwrotu w Shopify, dzięki kluczowi dołączonemu do żądania.
Zanim wypróbujesz to w swoim Odoo
Przycisk jest w gałęziach Odoo 17, 18, 19 i 20, czyli w wersjach modułu opublikowanych w Odoo Apps; opisany kod pochodzi z Odoo 20. W Odoo po polsku ten przycisk nazywa się Refund in Shopify, ponieważ moduł nie ma tłumaczenia na ten język; w innych językach etykieta się zmienia, jak pokazuje schemat.

Moduł kosztuje jednorazowo za wersję Odoo i wymaga subskrypcji FlexigoTech Cloud, plan Conector: 49 €/mies. lub 490 €/rok, netto (bez VAT). Połączenie przechodzi przez FlexigoTech Cloud, który przechowuje dane dostępowe w formie zaszyfrowanej, nadzoruje synchronizację i wysyła e-mail, jeśli coś zawiedzie. Wszystko znajdziesz w karcie w Odoo Apps oraz na stronie modułu.
Jeśli Twoja wątpliwość dotyczy innej strony zamówień, zobacz komunikat o danych Shopify potrzebnych do utworzenia zamówienia sprzedaży. A jeśli wdrażasz Odoo z Shopify i chcesz przejrzeć uprawnienia, instancje lub przepływ zwrotów na miarę, FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie.
Szybkie pytania
Dlaczego nie widzę przycisku w zamówieniu?
Ponieważ przycisk jest ukryty, gdy Shopify Order Ref jest puste, a przy wartościach domyślnych tak jest.
Czy prosi o potwierdzenie?
Tak: Create a full refund of this order in Shopify?.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): views/sale_order_views.xml
- Kod modułu: flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/sale_order.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
