Skip to main content

11 ottobre 2026

Carrello

  • All’accesso il carrello ospite si unisce a quello dell’account, anche al checkout: niente più articoli persi quando il negozio chiede di accedere per pagare. Dettagli.

10 ottobre 2026

Un grande rilascio dell’area admin e della vetrina. Le modifiche sono pensate per non rompere i client esistenti, ma alcune richiedono un intervento. La voce comprende anche le modifiche del 9 ottobre non ancora descritte qui: «esci da tutti i dispositivi», 2FA attivata con la password attuale, errori di validazione nella busta standard (validation.failed).
Da fare nei tuoi client
  • Salva sempre il refresh token nuovo restituito da ogni POST /auth/refresh.
  • Nel carrello mostra unit_price, non variant.price o variant.sale_price.
  • Prendi i metodi di pagamento da GET /settings/payment-methods e manda sempre payment_method: il checkout rifiuta i metodi spenti.
  • Tratta lo stato refunded (Admin API e MCP) come un movimento di denaro.
  • Traduci i nuovi error_code elencati qui sotto.

Sicurezza e autenticazione

  • Refresh token a rotazione con rilevamento del riuso: ogni rinnovo restituisce un refresh token nuovo. Tolleranza di 60 secondi per schede e richieste concorrenti; per un account staff il riuso di un token superato chiude la sessione (401 auth.refresh_token_reused). I token emessi prima del rilascio valgono una volta e passano al nuovo schema. Dettagli.
  • POST /auth/logout chiude la sessione del refresh token presentato; ?all=true chiude tutte le sessioni dell’account (401 auth.session_revoked sui token di prima).
  • Codici TOTP monouso e 10 codici di recupero alla prima attivazione della 2FA, rigenerabili con POST /auth/2fa/recovery-codes. GET /auth/me espone recovery_codes_remaining e is_owner.
  • Negozio eliminato: 403 auth.tenant_unavailable al login e al refresh.

Carrello, checkout e buoni regalo

  • Il carrello espone items[].unit_price (il prezzo applicato), min_order_total e guest_checkout_enabled; variant.sale_price è null fuori dalla finestra del saldo.
  • Il checkout applica le regole del negozio: 422 checkout.min_order_not_met, 401 checkout.login_required, 422 checkout.payment_method_disabled.
  • Buono regalo al checkout con voucher_code: saldo prenotato e rilasciato se il pagamento non va a buon fine, ordine pagato direttamente (payment_method: "voucher") se il buono copre tutto, errori voucher.*.
  • Lo sconto di un coupon non supera il subtotale; il coupon «spedizione gratuita» azzera la spedizione.
  • «Paga ora» (POST /orders/{order_id}/pay, riapre il pagamento di un ordine online) è ora documentato; la cattura PayPal di un ordine annullato risponde 400 order.not_payable. Dettagli.
  • Carrello e checkout applicano i prezzi speciali e la regola dei gruppi clienti: ciò che il carrello mostra è ciò che il checkout addebita.
  • Il dettaglio prodotto ha special_price e stock_status_name; i filtri in_stock, di prezzo e l’ordinamento per prezzo lavorano sul prezzo effettivo.
  • Prezzi speciali e sconti a quantità solo con prezzo maggiore di zero (422 product.price_rule_not_positive).

Ordini, abbonamenti e vetrina

  • La cronologia ordine vista dal cliente contiene solo cambi di stato e note pubbliche.
  • Abbonamenti: nuovo stato terminale completed; all’acquisto si paga il prezzo del prodotto e la prova sposta solo il primo rinnovo.
  • POST /marketing/track conta le visite dai link di campagna; GET /settings/store-info espone catalog e seo.

Admin API

  • Rimborsi e «segna pagato» solo per alcuni ruoli (403 order.refund_forbidden, order.payment_forbidden); i dati di pagamento degli affiliati richiedono anche il permesso reports.
  • Titolare del negozio stabile e protetto (is_owner, 403 user.owner_protected e user.owner_only, 409 user.last_admin).
  • I token API non gestiscono utenti né credenziali (403 auth.api_token_forbidden).
  • PATCH /admin/orders/{id} a refunded esegue un rimborso vero; i resi partono dalle righe dell’ordine.
  • POST /admin/products salva tutti i campi e crea le varianti inline (409 product.sku_taken).
  • Coupon validati ed eliminazione vera di quelli mai usati; buoni regalo con saldo e storico.
  • Piani ricorrenti: duration = intervallo, cycle = addebiti totali.
  • Anonimizzazione del cliente, commissioni degli affiliati per valuta, report con ricavi netti nella valuta e nel fuso del negozio, impostazione orders.guest_checkout_allowed. Dettagli.

Webhook

  • URL solo https verso host pubblici (422 webhooks.url_https_required, webhooks.url_not_public, webhooks.url_invalid).
  • Invio di prova, rinvio di una consegna, rotazione del segreto ed estratto sicuro della risposta nel registro delle consegne. Dettagli.
  • Nuovo evento order.refunded per i rimborsi totali e parziali; ogni evento d’ordine porta amount_refunded.

MCP

  • Il tool admin update_order_status con status: "refunded" esegue un rimborso vero del residuo sul gateway di pagamento. Gli altri tool sono invariati. Dettagli.