Integrazione Resi Shopify: - Alla conferma del recesso, crea un Reso nativo (returnCreate) per gli ordini evasi -> gestione nella UI Resi nativa. Ordini non evasi: skip (merchant gestisce annullo/rimborso). Query via order.fulfillments (returnableFulfillments non esiste nella API 2026-04). Campo WithdrawalRequest.shopifyReturnId. Notifiche al merchant (dietro toggle Settings): - Email di notifica a ogni recesso (sendMerchantNotification) + tag "Recesso" sull'ordine (tagsAdd, scope write_orders). Toggle notifyEnabled/notifyEmail/tagEnabled. A6 - completezza compliance (dietro toggle, default OFF, non tocca il flusso testato): - Finestra 14gg: computeDeadline/isWindowExpired (rif = data evasione o ordine + defaultWindowDays). Esclusioni Art. 59: checkExclusions su regole ExclusionRule (ALL/PRODUCT/TAG). lookupOrder esteso (fulfillments + lineItems product/tags). checkCompliance() aggancia lookup+confirm. Toggle enforceWindow/enforceExclusions. - Pagina admin Esclusioni (CRUD regole) + sezione Regole di recesso in Impostazioni. Dashboard: pagina Recessi (registro legale read-only). NavMenu: Recessi/Impostazioni/Esclusioni. Scope: +write_returns,+write_orders. Editor email vincolato (oggetto/intro/nota + anteprima). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mv83a29B4eFv5ixoj6PoE1
56 lines
1.9 KiB
TOML
56 lines
1.9 KiB
TOML
# Learn more about configuring your app at https://shopify.dev/docs/apps/tools/cli/configuration
|
|
|
|
client_id = "8d67c00a078a615037497ad056f7f99d"
|
|
name = "Legal Return PCRT "
|
|
# DEV: quick tunnel Cloudflare (no interstitial). Auto-update Dev Dashboard rotto → settato via deploy. Cambia se il tunnel riparte.
|
|
application_url = "https://miscellaneous-connections-harvest-chronicle.trycloudflare.com"
|
|
embedded = true
|
|
|
|
# App Proxy: lo storefront /apps/recesso viene proxato a <application_url>/proxy.
|
|
# NB: se il tunnel Cloudflare (application_url) cambia, aggiornare anche `url` qui.
|
|
# Richiede `shopify app deploy` perché la configurazione abbia effetto.
|
|
[app_proxy]
|
|
url = "https://miscellaneous-connections-harvest-chronicle.trycloudflare.com/proxy"
|
|
subpath = "recesso"
|
|
prefix = "apps"
|
|
|
|
[build]
|
|
automatically_update_urls_on_dev = false
|
|
dev_store_url = "pcrt-reso-test.myshopify.com"
|
|
|
|
[webhooks]
|
|
api_version = "2026-04"
|
|
|
|
[[webhooks.subscriptions]]
|
|
uri = "/webhooks/customers/data_request"
|
|
compliance_topics = [ "customers/data_request" ]
|
|
|
|
[[webhooks.subscriptions]]
|
|
uri = "/webhooks/customers/redact"
|
|
compliance_topics = [ "customers/redact" ]
|
|
|
|
[[webhooks.subscriptions]]
|
|
uri = "/webhooks/shop/redact"
|
|
compliance_topics = [ "shop/redact" ]
|
|
|
|
[[webhooks.subscriptions]]
|
|
uri = "/webhooks/app/scopes_update"
|
|
topics = [ "app/scopes_update" ]
|
|
|
|
[[webhooks.subscriptions]]
|
|
uri = "/webhooks/app/uninstalled"
|
|
topics = [ "app/uninstalled" ]
|
|
|
|
[access_scopes]
|
|
# Learn more at https://shopify.dev/docs/apps/tools/cli/configuration#access_scopes
|
|
scopes = "read_orders,read_products,write_returns,write_orders"
|
|
optional_scopes = [ ]
|
|
use_legacy_install_flow = false
|
|
|
|
[auth]
|
|
redirect_urls = [
|
|
"https://miscellaneous-connections-harvest-chronicle.trycloudflare.com/auth/callback",
|
|
"https://miscellaneous-connections-harvest-chronicle.trycloudflare.com/auth/shopify/callback",
|
|
"https://miscellaneous-connections-harvest-chronicle.trycloudflare.com/api/auth/callback"
|
|
]
|