Demanar pressupostES
  1. Inici
  2. Guies
  3. Shopify Functions
ShopifyActualitzat 7 min de lectura

Shopify Functions: descomptes i regles de checkout a mida

Les funcions permeten canviar com calcula Shopify els descomptes, els enviaments i els pagaments, o bloquejar una cistella que no compleix les teves regles. Què pots programar depèn del teu pla i de si n'hi ha prou amb una app pública.

Portada de la guia: Shopify Functions: descomptes i regles de checkout a mida
Il·lustració editorial de la guia.

En resum

  • Les funcions són codi que Shopify executa al seu servidor durant la compra.
  • Serveixen per a descomptes, enviaments, pagaments, validacions de la cistella i packs.
  • Qualsevol pla pot fer servir apps públiques amb funcions; les pròpies requereixen Plus.
  • Les dades que fa servir la regla ja han de ser a Shopify, normalment en metacamps.

Shopify Functions és la manera que té Shopify de deixar que un desenvolupador canviï la lògica interna de la botiga: com es calculen els descomptes, quins mètodes d'enviament i de pagament veu cada client o quan es bloqueja una cistella. Si la teva botiga necessita una regla que l'administrador no ofereix, el més probable és que es resolgui amb una funció. Aquí expliquem què són, què es pot personalitzar, què depèn del pla i quan té sentit programar-ne una de pròpia en lloc d'instal·lar una app pública.

Què són les Shopify Functions

Una funció és un fragment de codi que Shopify executa als seus propis servidors en moments concrets del procés de compra. No viu al teu allotjament ni es crida des d'una URL: Shopify la llança quan la necessita, per exemple en recalcular la cistella o en mostrar les opcions d'enviament.

Cada funció rep un paquet de dades en format JSON (la cistella, el client, l'adreça) i retorna una llista d'operacions: aplicar un descompte, amagar un mètode de pagament, mostrar un error. El desenvolupador defineix quines dades necessita amb una consulta, i Shopify només li passa això.

El codi es compila a WebAssembly. Shopify ofereix plantilles en Rust i en JavaScript i recomana Rust quan les cistelles són grans, perquè és el més eficient. Les funcions es distribueixen sempre dins d'una app, i el comerciant les configura des de l'administrador. Un descompte programat amb una funció, per exemple, apareix a la secció de descomptes com un tipus més.

Shopify Functions substitueix Shopify Scripts, el sistema anterior basat en Ruby, que Shopify va retirar el juny del 2026. Si la teva botiga depenia d'scripts, aquesta lògica ja ha de ser en funcions o en apps.

Què es pot personalitzar amb funcions

Cada tipus de personalització té la seva pròpia API. Les principals:

  • Descomptes sobre productes, sobre la comanda i sobre l'enviament, amb regles que l'administrador no preveu.
  • Opcions d'enviament: amagar, canviar el nom o reordenar mètodes segons la cistella o l'adreça.
  • Mètodes de pagament: amagar o reordenar formes de pagament, per exemple el pagament contra reemborsament a partir d'un cert import.
  • Validacions de la cistella i del checkout, que impedeixen acabar la compra i mostren un missatge.
  • Transformació de la cistella, per agrupar diverses línies en un pack o desplegar un pack en els seus components.
  • Restriccions de preparació i regles per decidir des de quina ubicació se serveix una comanda.

Shopify afegeix i canvia API amb una certa freqüència, i algunes apareixen marcades com a inestables durant un temps. Abans de plantejar un desenvolupament, revisa a la documentació de Shopify si l'API que necessites està publicada i què permet.

Com s'executa una funció al checkout

El recorregut és sempre el mateix, sigui quina sigui la funció:

Com actua una funció al checkout
  1. Canvi a la cistellael client afegeix un producte o una adreça
  2. Dades d'entradaShopify reuneix el que demana la funció
  3. Execucióel codi aplica la teva regla
  4. Respostallista d'operacions per aplicar
  5. Resultatdescompte aplicat, opció amagada o avís

D'aquest funcionament en surten els límits. La funció treballa amb les dades que Shopify li lliura i, tret d'excepcions molt acotades, no pot consultar serveis externs mentre s'executa. Si la regla depèn d'una dada del teu ERP, aquesta dada ha de ser abans a Shopify, normalment en un metacamp del client o del producte. També hi ha límits de mida i de temps d'execució, que es noten amb cistelles de moltes línies i amb una lògica mal plantejada.

La configuració de cada funció (els imports, els percentatges o les etiquetes de client que activen la regla) se sol desar en metacamps, perquè l'equip de la botiga la pugui canviar sense tocar codi.

Què depèn del pla de Shopify

Qualsevol botiga, sigui quin sigui el seu pla, pot fer servir apps públiques de la botiga d'apps de Shopify que incloguin funcions. La diferència és en les funcions programades per a una sola botiga: una app personalitzada amb funcions pròpies requereix Shopify Plus, i algunes capacitats concretes estan reservades a aquest pla.

A la pràctica:

  • En un pla que no és Plus, la via habitual és una app pública que ja resolgui la regla, idealment una que permeti configurar-la amb detall.
  • A Plus, pots encarregar una app personalitzada amb les funcions exactes que necessita la teva operativa.

Les condicions canvien de tant en tant, així que confirma-les a la documentació de Shopify per al teu pla abans de pressupostar. Si estàs valorant el canvi, a quan passar a Shopify Plus repassem els senyals que el justifiquen.

Shopify Functions o una app pública

Hi ha apps públiques de descomptes, de regles d'enviament i de validació de la cistella construïdes sobre funcions. Per a regles comunes, com un descompte per quantitat o amagar un mètode de pagament segons el país, solen ser suficients.

Una funció pròpia compensa quan:

  • La regla depèn de dades pròpies del teu negoci: tarifes per client, referències que no es poden combinar, mínims per família de producte.
  • Tens diverses apps de descomptes o d'enviament que es trepitgen entre si.
  • L'app pública cobra per volum de comandes i la teva regla és senzilla de programar.
  • Necessites que la lògica sigui teva i no canviï quan l'autor de l'app actualitza el seu producte.

A app, codi a mida o funcionalitat nativa tens el criteri general per decidir entre les tres vies.

Exemples d'ús en una botiga real

Imagina una botiga que ven a particulars i a professionals. Amb funcions podria:

  • Aplicar un descompte esglaonat només a clients amb una etiqueta concreta, llegint els trams d'un metacamp.
  • Amagar l'enviament urgent quan la cistella porta un producte voluminós.
  • Impedir el pagament si un client professional no arriba a la comanda mínima, amb un missatge que digui quant li falta. Ho ampliem a la guia de botiga en línia B2B amb tarifes per client.
  • Oferir un pack que a la cistella apareix com una línia i al magatzem arriba com els seus components.

En els quatre casos, la part que porta més temps és definir la regla amb precisió: què passa amb els productes rebaixats, quin missatge veu el client i què passa si dues regles coincideixen.

Com es prova i es manté una funció

Una funció es desenvolupa i es prova en una botiga de desenvolupament abans d'instal·lar-la a la botiga real. Shopify desa un registre de cada execució, amb les dades que va rebre i el que va retornar, i aquest registre és el primer que cal mirar quan un descompte no s'aplica com esperaves.

Els descomptes mereixen una prova a part. Shopify decideix quins descomptes es poden combinar segons com els configuris a l'administrador, així que un descompte programat amb una funció conviu amb els codis promocionals i els descomptes automàtics que ja tinguis. A més de la regla per separat, prova les combinacions que es donen en campanya.

Després del llançament, la funció necessita una mica de manteniment. Les API de Shopify es publiquen per versions i les antigues deixen de tenir suport passat un temps, de manera que de tant en tant cal actualitzar l'app i tornar a passar les proves. Desa les cistelles d'exemple amb el resultat esperat: serveixen per comprovar en minuts que la regla continua fent el mateix.

Què cal preparar abans d'encarregar una funció

  • La regla escrita amb exemples de cistelles i el resultat esperat en cadascuna, inclosos els casos límit.
  • El pla de Shopify i les apps instal·lades que ja toquen descomptes, enviaments o pagaments.
  • Les dades que necessita la regla i on són avui: etiquetes, metacamps o un sistema extern.
  • Qui ha de poder canviar els paràmetres sense programador.
  • Com la provaràs: una botiga de desenvolupament o una còpia amb productes i clients reals.

Si vols que ho revisem, a funcionalitats Shopify a mida expliquem com plantegem aquests desenvolupaments, de la regla escrita a la prova en una botiga de desenvolupament.

Preguntes freqüents

Preguntes freqüents

Si la teva pregunta no és aquí, escriu-nos a info@whatmkt.com.

Necessito Shopify Plus per fer servir funcions?

Per fer servir apps públiques que les incloguin, no: funcionen en qualsevol pla. Una app personalitzada amb funcions programades només per a la teva botiga sí que requereix Plus. Confirma les condicions actuals a la documentació de Shopify.

Una funció pot consultar el meu ERP en temps real?

Per norma general, no. La funció treballa amb les dades que Shopify li passa, i l'accés a serveis externs està limitat a casos molt concrets. El més habitual és sincronitzar abans la dada de l'ERP en un metacamp del client o del producte.

Feia servir Shopify Scripts, què faig ara?

Shopify va retirar Scripts el juny del 2026, així que aquesta lògica ha de passar a funcions o a apps. Comença per escriure què feia cada script amb exemples de cistelles, i comprova quins ja cobreix una app pública.

En quin llenguatge es programen?

Serveix qualsevol llenguatge que compili a WebAssembly i compleixi els requisits de Shopify. Shopify dona plantilles en Rust i JavaScript, i recomana Rust quan les cistelles són grans, perquè consumeix menys recursos.

El pas següent

T'ajudem a aplicar-ho a la teva botiga

Explica'ns què passa a la teva botiga i t'enviarem com ho abordaríem, l'abast i el pressupost. Si n'hi ha prou de configurar alguna cosa, t'ho direm.

Demanar valoració
O directament: info@whatmkt.comTelèfon: 643 369 869
Demanar pressupost TRUCAR