Sari la conținut
Shopify16 iun. 2026·12 min citire

Migrare Shopify de la Scripts la Functions înainte de 30 iunie 2026

Dragoș-Adrian BuhoiuDragoș-Adrian BuhoiuFondator · Arhitect Ecosisteme Digitale
Migrare Shopify de la Scripts la Functions înainte de 30 iunie 2026
FEATURED.IMG
Migrare Shopify de la Scripts la Functions înainte de 30 iunie 2026
CUPRINS
01Migrare Shopify Scripts la Functions: Scripts au murit pe 30 iunie 2026 — ghid de migrare de urgență02TL;DR, două date critice, nu una, și ce înseamnă fiecare pentru tine03Timeline dual: freeze (15 aprilie 2026) vs sunset (30 iunie 2026)04Ce s-a întâmplat pe 15 aprilie: nu mai creezi/editezi/publici Scripts noi05Ce s-a întâmplat pe 30 iunie: Scripts existente au încetat complet să ruleze06Context: deadline-ul a fost amânat de două ori (a treia amânare nu a mai venit)07Pe ce plan ești? any-plan vs Plus-only (distincția care decide calea ta)08Orice plan: instalezi public apps cu Functions din App Store09Doar Shopify Plus: rulezi custom apps cu Function APIs (construite cu CLI)10Pasul 0: rulează Shopify Scripts customizations report11Unde îl găsești (Apps > Script Editor > banner „Replace Shopify Scripts")12Ce listează (Payment gateways, Shipping, Product discounts) și ce recomandă13Tabel de mapare 1:1, Script → Function API14Line item scripts → Discounts + Cart Transform + Cart and Checkout Validation API15Shipping scripts → Delivery Customization API + Discounts API16Payment scripts → Payment Customization API17Mapare la nivel de metodă (pentru developeri)18change_line_price / split / reject → Discount Function (cu echivalentele exacte)19Capcana: change_properties NU are echivalent direct20Migrare fără downtime: passthrough script + customer tag TESTER21Pasul 1: preview link cu draft „Output.cart = Input.cart"22Pasul 2: testezi în producție pe tag-ul TESTER, apoi finalizezi23Workflow CLI: shopify app dev și shopify app deploy (necesită dev store)24Capcane avansate: nu migra către un API deja deprecated25Vechile Product/Order/Shipping Discount APIs (depreciate din 2025-04, înlocuiește-le înainte de 2026-04)26Limite practice: max 25 delivery + max 25 payment customization functions; review B2B la Payment27De ce contează pe termen lung: Functions = WebAssembly durabil vs Scripts = EOL

Timeline dual (freeze 15 apr. vs sunset 30 iun.), tabel de mapare Scripts→Function API, migrare fără downtime cu passthrough, any-plan vs Plus.

Migrare Shopify Scripts la Functions:Scripts au murit pe 30 iunie 2026 — ghid de migrare de urgență

Ultima actualizare: 3 iulie 2026 | Surse: shopify.dev/docs, migrating from Scripts, shopify.dev/changelog, Scripts deprecated, help.shopify.com, transitioning to Functions

Ai Scripts active în magazinul tău Shopify Plus? Deadline-ul a trecut: pe 30 iunie 2026, toate Scripts au încetat să se execute. Dacă checkout-ul tău depindea de ele, logica ta de business nu se mai aplică din acea zi. Acest ghid îți dă exact ce trebuie: cele două date critice, ce înlocuiește ce și cum migrezi de urgență la Functions.

Dacă ai ajuns aici din articolul nostru despre Shopify Editions Summer 2026, știi deja contextul: sunset-ul Scripts nu a fost o „noutate de vară", a fost un deadline dur care a coincis cu fereastra — și a expirat.

TL;DR, două date critice, nu una, și ce înseamnă fiecare pentru tine

  • 15 aprilie 2026: A intrat în vigoare freeze-ul: nu se mai pot crea, edita sau publica Scripts noi. Scripts deja publicate au continuat să ruleze până la sunset.
  • 30 iunie 2026: Toate Scripts existente au încetat complet să se execute. Checkout-ul tău nu mai aplică logica din Scripts.

Majoritatea articolelor menționează doar 30 iunie. Dar freeze-ul din 15 aprilie a schimbat deja situația: dacă ai descoperit o eroare într-un Script după 15 aprilie, nu o poți repara. Singura cale e migrarea la Shopify Functions.

Surse: shopify.dev/changelog, Scripts deprecated · changelog.shopify.com, Scripts can no longer be edited.

Timeline dual:freeze (15 aprilie 2026) vs sunset (30 iunie 2026)

Ce s-a întâmplat pe 15 aprilie:nu mai creezi/editezi/publici Scripts noi

Citat oficial: „April 15, 2026, Editing and publishing new Shopify Scripts will no longer be possible."

Consecință practică: Script Editor e efectiv read-only. Poți vedea codul existent, dar nu poți salva modificări.

Sursa: shopify.dev/changelog, Scripts deprecated.

Ce s-a întâmplat pe 30 iunie:Scripts existente au încetat complet să ruleze

Citat oficial: „Shopify Scripts will be sunset on June 30, 2026. All existing Shopify Scripts will stop functioning after this date."

Ce înseamnă în practică: discounturile complexe, metodele de transport custom și regulile de plată care rulau prin Scripts pur și simplu nu se mai aplică. Nu primești o eroare vizibilă, checkout-ul funcționează, dar fără logica ta de business. Clienții cumpără la preț întreg, cu transport incorect, cu metode de plată neconfigurate — până migrezi la Functions.

Sursa: shopify.dev/docs, migrating from Scripts.

Context:deadline-ul a fost amânat de două ori (a treia amânare nu a mai venit)

Istoric: inițial 13 august 2024, extins la 28 august 2025, apoi la 30 iunie 2026. Fiecare amânare a venit cu luni de avans. A treia amânare nu a mai venit: sunset-ul s-a produs conform termenului oficial, pe 30 iunie 2026.

Sursa: shopify.dev/changelog, support for Scripts will end on August 13, 2024 (publicat 13 februarie 2023, cu update din octombrie 2023).

Pe ce plan ești? any-plan vs Plus-only (distincția care decide calea ta)

Asta e distincția pe care majoritatea ghidurilor o ratează:

Orice plan:instalezi public apps cu Functions din App Store

Dacă ești pe un plan Shopify standard (Basic, Shopify, Advanced), poți instala aplicații publice din Shopify App Store care conțin Functions. Nu poți construi propriile Functions, dar poți folosi cele construite de alții.

Doar Shopify Plus:rulezi custom apps cu Function APIs (construite cu CLI)

Citat oficial: „Only stores on a Shopify Plus plan can use custom apps that contain Shopify Function APIs."

Asta înseamnă: dacă ai Scripts active, ești deja pe Plus (Script Editor era disponibil doar pe Plus). Dar dacă ai clienți pe planuri mai mici care beneficiau indirect de logica ta, ei vor trebui să treacă pe aplicații publice din App Store.

Surse: shopify.dev/docs, migrating from Scripts, Functions availability · help.shopify.com, Script Editor.

Pasul 0:rulează Shopify Scripts customizations report

Înainte de a scrie o linie de cod, trebuie să știi ce ai.

Unde îl găsești (Apps > Script Editor > banner „Replace Shopify Scripts")

Accesează admin-ul magazinului. Navighează la Apps > Script Editor. Vei vedea un banner în partea de sus: „Replace Shopify Scripts". Dă click pe el. Acesta generează raportul de diagnostic.

Ce listează (Payment gateways, Shipping, Product discounts) și ce recomandă

Raportul afișează toate Scripts active, grupate pe categorii:

  • Payment gateways, Scripts care filtrează/ascund metode de plată
  • Shipping, Scripts care modifică rate sau metode de transport
  • Product discounts, Scripts care aplică reduceri la linia de produs

Pentru fiecare Script, raportul afișează: nume, descriere, link la codul sursă și recomandări de aplicații publice compatibile sau tutoriale Functions.

Sursa: help.shopify.com, transitioning to Functions.

Tabel de mapare 1:1, Script → Function API

Line item scripts → Discounts + Cart Transform + Cart and Checkout Validation API

Line item scripts acopereau cea mai largă gamă de operații (reduceri, transformări de coș, validări). Echivalentul în Functions se împarte pe trei API-uri:

Operație ScriptFunction API echivalent
Aplicare reducere pe linieDiscounts API
Transformare coș (bundle, merge)Cart Transform API
Validare coș/checkoutCart and Checkout Validation API

Shipping scripts → Delivery Customization API + Discounts API

Operație ScriptFunction API echivalent
Ascundere/redenumire metode transportDelivery Customization API
Reducere cost transportDiscounts API

Payment scripts → Payment Customization API

Operație ScriptFunction API echivalent
Ascundere/redenumire/reordonare metode de platăPayment Customization API

Sursa: shopify.dev/docs, migrating from Scripts, Function APIs mapping.

Mapare la nivel de metodă (pentru developeri)

change_line_price / split / reject → Discount Function (cu echivalentele exacte)

Metodă ScriptEchivalent Function
change_line_priceDiscount Function — OrderDiscountCandidateValue / ProductDiscountCandidateValue
splitDiscount Function — câmpul opțional quantity în ProductDiscountCandidateTarget
rejectDiscount Function — operația enteredDiscountCodesReject

Capcana:change_properties NU are echivalent direct

change_properties (care modifica proprietățile custom ale unei linii de produs) nu are un echivalent 1:1 în Shopify Functions. Alternativa: folosești applyAttributeChange într-o checkout UI extension.

Asta e una dintre cele mai frecvente surprize la migrare. Dacă ai Scripts care setau proprietăți custom pe line items (ex: mesaje de gravură, personalizări), trebuie să reconstruiești logica într-o UI extension, nu într-o Function.

Sursa: shopify.dev/docs/api/functions, migrate from line item scripts.

Migrare fără downtime:passthrough script + customer tag TESTER

Strategia oficială Shopify garantează zero întreruperi în producție. Iată fluxul:

  1. Creezi un Script passthrough (dacă l-ai creat înainte de 15 aprilie), cod minimal care nu modifică nimic: Output.cart = Input.cart. Salvezi ca draft (nu publici).
  2. Generezi un preview link din Script Editor.
  3. Acest preview link îți permite să testezi checkout-ul fără Scriptul original activ.

Pasul 2:testezi în producție pe tag-ul TESTER, apoi finalizezi

  1. În Function-ul tău nou, adaugi logica de targeting: verifici dacă customer-ul are tag-ul TESTER.
  2. Deploy-ezi Function-ul. Funcționează în paralel cu Scriptul existent, dar aplică logica doar pentru clienții cu tag-ul TESTER.
  3. Testezi manual câteva comenzi cu un cont de test care are tag-ul.
  4. Când ești satisfăcut, elimini codul de test (tag check), faci deploy final și dezactivezi Scriptul original.

Sursa: shopify.dev/docs, migrating from Scripts, Step 1 - Step 2.

Workflow CLI:shopify app dev și shopify app deploy (necesită dev store)

Construirea și deploymentul Functions se face cu Shopify CLI. Comenzile esențiale:

# Inițializare app
shopify app init

# Dezvoltare locală (tunnel + preview)
shopify app dev

# Deploy în producție
shopify app deploy

Ghidul oficial presupune familiaritate cu crearea de Shopify Functions folosind CLI. Necesită un development store pentru testare.

Sursa: shopify.dev/docs, migrating from Scripts, Requirements + pașii de deploy.

Capcane avansate:nu migra către un API deja deprecated

Vechile Product/Order/Shipping Discount APIs (depreciate din 2025-04, înlocuiește-le înainte de 2026-04)

Eroarea clasică: migrezi de la Scripts la un Function API care e și el pe cale de sunset.

Vechile Product Discount, Order Discount și Shipping Discount Function APIs au fost depreciate începând cu API version 2025-04 și înlocuite de noul Discount Function API unificat. Trecerea trebuie făcută înainte de API version 2026-04.

Dacă migrezi acum, migrează direct la noul API unificat. Nu pierde timp construind pe API-uri depreciate.

Sursa: shopify.dev/changelog, deprecation Product/Order/Shipping Discount APIs (21 mai 2025).

Limite practice:max 25 delivery + max 25 payment customization functions; review B2B la Payment

Limitele operaționale curente:

  • Maxim 25 delivery customization functions active per magazin
  • Maxim 25 payment customization functions active per magazin
  • Review requirement la Payment Customization este doar pentru comenzi B2B

Dacă ai un magazin complex cu zeci de reguli, trebuie să le consolidezi în mai puține Functions.

Surse: shopify.dev/docs/api/functions, delivery-customization · shopify.dev/docs/api/functions, payment-customization.

De ce contează pe termen lung:Functions = WebAssembly durabil vs Scripts = EOL

Aceasta nu e doar o migrare forțată, e o schimbare arhitecturală fundamentală:

  • Scripts = Ruby interpretat, rulat într-un sandbox izolat, cu acces complet la obiectul cart. Limbaj dinamic, greu de optimizat la scară.
  • Functions = WebAssembly compilat, rulat pe infrastructura edge Shopify. Input GraphQL, output JSON declarativ. Deterministic, sandboxed, scalabil.

Functions nu sunt un „patch", sunt arhitectura de viitor a Shopify pentru logica de business. Cine migrează acum investește în cod durabil. Cine amână investește în cod mort.

Detalii complete despre arhitectura Wasm, limitele oficiale și miturile demontate: Shopify Functions vs Scripts: arhitectura WebAssembly explicată corect.

Pentru optimizarea performanței Liquid la care se leagă direct această migrare, consultă ghidul nostru de optimizare viteză Shopify.

FAQ.PROTOCOL

Întrebări frecvente

Pe 30 iunie 2026, toate Scripts existente au încetat complet să se execute. Checkout-ul funcționează în continuare, dar fără logica de business din Scripts: discounturile, transportul custom și filtrele de plată nu se mai aplică.
Pe 15 aprilie 2026 a încetat posibilitatea de a edita sau publica Scripts noi. Scripts deja publicate au continuat să ruleze. Pe 30 iunie 2026, și cele existente s-au oprit.
Nu direct. Custom apps cu Function APIs necesită plan Shopify Plus. Pe planuri standard, poți instala aplicații publice din App Store care conțin Functions construite de alți developeri.
Depinde de operație: reduceri → Discounts API, transformări de coș (bundle, merge) → Cart Transform API, validări → Cart and Checkout Validation API.
Strategia oficială: creezi un Script passthrough (`Output.cart = Input.cart`) salvat ca draft, deploy-ezi Function-ul cu logică de targeting pe tag-ul `TESTER`, testezi în producție pe conturi de test, apoi elimini tag check-ul și dezactivezi Scriptul original.
Nu are echivalent 1:1 în Functions. Alternativa este `applyAttributeChange` într-o checkout UI extension. Dacă ai Scripts care setau proprietăți custom pe line items, trebuie să reconstruiești logica într-o UI extension.
Admin > Apps > Script Editor > banner „Replace Shopify Scripts". Raportul listează toate Scripts active pe categorii (Payment, Shipping, Discounts) cu recomandări de alternative. --- Ultima actualizare: 3 iulie 2026 Surse oficiale folosite: shopify.dev/docs, migrating from Scripts · shopify.dev/changelog, Scripts deprecated · changelog.shopify.com, Scripts can no longer be edited · help.shopify.com, transitioning to Functions · shopify.dev/changelog, deprecation Discount APIs Ai nevoie de asistență cu migrarea? Echipa noastră construiește ecosisteme Shopify optimizate. Contactează-ne pentru un audit tehnic. ```json { "@context": "https://schema.org", "@type": "TechArticle", "headline": "Migrare Shopify Scripts la Functions: Scripts au murit pe 30 iunie 2026 — ghid de migrare de urgență", "description": "Timeline dual (freeze 15 aprilie vs sunset 30 iunie), tabel de mapare Scripts→Function API, migrare fără downtime cu passthrough + tag TESTER, distincție any-plan vs Plus-only.", "datePublished": "2026-06-16", "dateModified": "2026-07-03", "author": { "@type": "Organization", "name": "Verdant Mindset", "url": "https://verdantmindset.com" }, "publisher": { "@type": "Organization", "name": "Verdant Mindset", "url": "https://verdantmindset.com" }, "inLanguage": "ro", "mainEntityOfPage": "https://verdantmindset.com/resurse/migrare-shopify-scripts-functions" } ``` ```json { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Când au încetat definitiv să funcționeze Shopify Scripts?", "acceptedAnswer": { "@type": "Answer", "text": "Pe 30 iunie 2026, toate Scripts existente au încetat complet să se execute. Checkout-ul funcționează în continuare, dar fără logica de business din Scripts." } }, { "@type": "Question", "name": "Care e diferența dintre 15 aprilie 2026 și 30 iunie 2026 pentru Scripts?", "acceptedAnswer": { "@type": "Answer", "text": "Pe 15 aprilie 2026 a încetat posibilitatea de a edita sau publica Scripts noi. Pe 30 iunie 2026, și cele existente s-au oprit complet." } }, { "@type": "Question", "name": "Pot construi Functions custom dacă nu sunt pe Shopify Plus?", "acceptedAnswer": { "@type": "Answer", "text": "Nu direct. Custom apps cu Function APIs necesită plan Shopify Plus. Pe planuri standard, poți instala aplicații publice din App Store care conțin Functions." } }, { "@type": "Question", "name": "Cu ce înlocuiesc un line item script în Shopify Functions?", "acceptedAnswer": { "@type": "Answer", "text": "Depinde de operație: reduceri → Discounts API, transformări de coș → Cart Transform API, validări → Cart and Checkout Validation API." } }, { "@type": "Question", "name": "Cum migrez de la Scripts la Functions fără downtime?", "acceptedAnswer": { "@type": "Answer", "text": "Strategia oficială: creezi un Script passthrough (Output.cart = Input.cart) salvat ca draft, deploy-ezi Function-ul cu logică de targeting pe tag-ul TESTER, testezi, apoi dezactivezi Scriptul original." } }, { "@type": "Question", "name": "Are change_properties un echivalent în Shopify Functions?", "acceptedAnswer": { "@type": "Answer", "text": "Nu are echivalent 1:1 în Functions. Alternativa este applyAttributeChange într-o checkout UI extension." } }, { "@type": "Question", "name": "Unde găsesc raportul cu Scripts active în magazinul meu?", "acceptedAnswer": { "@type": "Answer", "text": "Admin > Apps > Script Editor > banner Replace Shopify Scripts. Raportul listează toate Scripts active pe categorii cu recomandări de alternative." } } ] } ```

Note de inginerie digitală

SEO, AEO, automatizări — esențialul, o dată la ~2 săptămâni. Fără spam.

Te poți dezabona oricând. Confidențialitate

Articole conexe

AUDIT GRATUIT · 24–48H

Vezi exact unde stai — fără promisiuni.

Rulăm datele reale ale site-ului tău — viteză, indexare, vizibilitate în Google și în căutarea AI — și-ți trimitem un raport concret.

✓ AȘA DA

  • Probleme concrete, prioritizate
  • Verificat manual, nu de un tool
  • Fără card, fără obligații

✕ AȘA NU

  • „Locul 1 garantat în 7 zile"
  • Raport generic scuipat de AI
  • Apel de vânzare agresiv
Cere auditul gratuit →
WhatsApp direct