Gdzie jest przycisk i kiedy jest widoczny
Przycisk Refresh from Shopify znajduje się na ekranie Shopify Orders. Aby tam trafić, otwórz Sprzedaż, potem Shopify, następnie Operations i na końcu Orders. Warunek widoczności w jego widoku mówi, że jest widoczny zawsze, a istnieje w Odoo 17, 18, 19 i 20.

Nazwa zmienia się zależnie od języka Odoo. Przy Odoo po hiszpańsku jest to Refresh from Shopify; po niemiecku Von Shopify aktualisieren; po francusku Actualiser depuis Shopify; po włosku Aggiorna da Shopify; a po portugalsku Atualizar do Shopify.


Najpierw to, co konektor robi bez Twojego udziału
Normalna droga jest automatyczna. Zaplanowane zadanie Shopify Process Webhooks (co minutę, aktywne po instalacji) dochodzi do przetwarzania powiadomień webhook z Shopify. Gdy powiadomienie dotyczy zamówienia, a pole wyboru Webhook Sync Orders jest zaznaczone, moduł bierze identyfikator zamówienia z samego powiadomienia i uruchamia tę samą synchronizację zamówień, którą uruchamia przycisk.
To pole wyboru znajduje się w karcie Shopify Instances, na zakładce Webhooks, i jest domyślnie zaznaczone. Na tej samej zakładce jest Webhook Sync Products, domyślnie odznaczone, które dotyczy produktów, a nie zamówień.
Dlatego przycisk jest wyjątkiem: służy do ręcznego ponownego pobrania zamówienia. Co więcej, kod przycisku nie sprawdza pola Webhook Sync Orders: wywołuje synchronizację bezpośrednio dla instancji i zamówienia, które ma przed sobą.
Przykład poglądowy: zamówienie, które się nie zgadza
Przykład Przypadek poglądowy: firma i jej dane są zmyślone, żeby pokazać przebieg.
Wyobraź sobie Cerámicas Ribera, sklep wymyślony na potrzeby tego przykładu, który sprzedaje w Shopify, a resztę prowadzi w Odoo. Osoba z administracji otwiera zamówienie w Odoo i wątpi, czy odzwierciedla to, co Shopify ma teraz. Tak postępuje:
- Wchodzi do karty
Shopify Instances, na zakładkęWebhooks, i sprawdza, czyWebhook Sync Ordersjest zaznaczone. Jeśli tak, powiadomienia o zamówieniach same uruchamiają tę synchronizację; ona szuka drugiego, ręcznego odczytu. - Otwiera
Sprzedaż,Shopify,OperationsiOrders, i wchodzi w zamówienie. Zwraca uwagę na poleInstancei poleShopify Order, bo to dwie dane, na których pracuje przycisk. - Klika
Refresh from Shopify. - Moduł ponownie pobiera to zamówienie z Shopify i, jeśli Shopify je zwróci, przekazuje je do innego kroku modułu i zalicza jako zsynchronizowane.
- Ponownie ogląda zamówienie w Odoo i porównuje je z Shopify.
Czego uczy ten przykład: najpierw sprawdza się drogę automatyczną i jej pola wyboru, a dopiero potem używa przycisku na konkretnym zamówieniu, mając przed sobą jego instancję i identyfikator z Shopify.
Co przycisk robi w środku, po kolei
- Przechodzi po zamówieniach, dla których uruchomiono akcję.
- Z każdego zamówienia bierze jego instancję (
Instance) i identyfikator zShopify Orderi przekazuje je synchronizacji zamówień tej instancji. - Ta synchronizacja przygotowuje identyfikator zamówienia do zapytania; jeśli żadnego nie uzyska, pomija to zamówienie i przechodzi do następnego.
- Pyta Shopify o zamówienie.
- Jeśli Shopify nic nie zwróci, pomija to zamówienie i idzie dalej.
- Jeśli zwróci dane, przekazuje je do innego kroku modułu i zwiększa o jeden licznik zsynchronizowanych.
- Przycisk kończy, zwracając prawdę; z tego licznika nie korzysta.
Co może pójść nie tak i co sprawdzić
W kroku trzecim i piątym kod przechodzi do następnego zamówienia, niczego nie przekazując. Jeśli klikniesz przycisk i nie zobaczysz zmian, porównaj z Shopify: możliwe, że Shopify nic nie zwróciło dla tego zamówienia albo nie uzyskano prawidłowego identyfikatora.
Drogą automatyczną, jeśli synchronizacja się nie powiedzie, zdarzenie webhooka zostaje oznaczone jako nieudane z tekstem błędu i trafia do kolejki ponowień. Po przekroczeniu limitu ponowień przechodzi w stan wyczerpany i przestaje być ponawiane samo; wtedy moduł zostawia w instancji notatkę z komunikatem Shopify webhook … (event …) failed again after … retries and will not be retried any more: …. Once the cause is fixed, press Retry on the event.
Ile to kosztuje i jak pomaga FlexigoTech
Moduł kosztuje 9 € za wersję Odoo, dla 17, 18, 19 i 20, płatność jednorazowa netto (bez VAT) (karta w Odoo Apps), i wymaga subskrypcji FlexigoTech Cloud: plan Conector kosztuje 49 €/mies. lub 490 €/rok netto (bez VAT).
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Jeśli chcesz sprawdzić, jak zamówienia z Twojego sklepu trafiają do Odoo, pomożemy też w tym.
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_connector 20.0 (c7078cd8): views/shopify_order_views.xml
- Kod modułu: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_order.py
- Kod modułu: flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
