Shopify Functions
Desarrollo de Shopify Functions
Escribo Functions de descuento, validación de carrito, transformación de líneas y métodos de envío y de pago, en JavaScript o Rust, con su input query ajustada y sus pruebas. Si tu regla de negocio no cabe en una app del App Store, cabe aquí.
Cuándo hace falta una Function
Cuando la regla es tuya. Los tres casos que más me llegan:
- Validaciones que bloquean el checkout. Cajas completas, mínimo por pedido, no mezclar tarifas, un producto que exige otro. La plataforma trae mínimos por variante, pero nada que mire el carrito entero.
- Descuentos que ninguna app calcula igual. Escalados por familia de producto, por sede de la empresa, combinaciones excluyentes.
- Envíos y pagos condicionados. Ocultar contra reembolso por encima de un importe, reordenar métodos según el peso, esconder una transportadora para una zona.
Si lo que necesitas es uno de los descuentos estándar, una app del App Store sale más barata y la mantiene otro. Te lo diré si es el caso.
Cómo las escribo
Lo que diferencia una Function que aguanta de una que falla el primer pedido grande no es la lógica: es el input.
Una Function tiene un presupuesto de ejecución del orden de 11 millones de instrucciones y un tope de 128 kB en su input. En un carrito de diez líneas eso no se nota. En un bloc de pedido mayorista de 200 líneas, cada campo que pides de más se multiplica por 200. Así que la input query pide exactamente los campos que lee el código, con alias para que los metacampos lleguen con un nombre legible.
El segundo detalle, que cuesta dos días de soporte cuando se olvida: el buyerJourney. Una validación que bloquea en todos los pasos impide al comprador escribir 7 camino de 12. Se bloquea en el checkout, no mientras se edita el carrito.
Lo que puedes ver antes de contratarme
Una Function de validación completa, con su input query y sus pruebas, está publicada en shopify-checkout-lab, y en la portada hay un Checkout Lab donde puedes cambiarle la configuración y ver qué deja de funcionar. Es el mismo archivo que se despliega a una tienda.
Cómo trabajamos
Primero me cuentas la regla en palabras, con un caso real y un caso límite. Si la regla se puede resolver sin código (un catálogo, unas reglas de cantidad), te lo digo y te ahorras el desarrollo. Si no, escribo la Function con sus pruebas, la desplegamos en una tienda de desarrollo y la probamos con tu carrito más feo antes de tocar producción.