Ingeniería ecommerce
Desarrollo de Shopify Functions
Algunas reglas de checkout no pueden ser una app ni un script — tienen que correr dentro del propio checkout de Shopify. Para eso están las Functions. Las construimos, probamos los casos límite y las configuramos por metafields para que el merchant cambie los números sin un despliegue.
Lógica que corre donde se toma la decisión
Una Function es una pieza pequeña de lógica que le entregas a Shopify, y que Shopify ejecuta en el momento en que calcula el precio de un carrito, valida un checkout o elige una opción de envío. Corre en su infraestructura, dentro del checkout, sin una llamada de red hacia ti — que es justamente por lo que puede hacer cosas que una app no.
Lo interesante casi nunca es el camino feliz. Es qué le hace la regla a una tarjeta de regalo, a un carrito de once cuando el precio se escribió pensando en uno, a un producto que debía quedar excluido, y a un descuento que se topa con otro descuento. Esos son los casos para los que escribimos pruebas, porque son los que llegan al cliente.
- Corre dentro del checkout
- Sin callback a tu servidor, sin presupuesto de latencia, sin que una caída tuya pueda romper una compra. Lo ejecuta Shopify.
- Configurable sin desplegar
- Tarifas, umbrales y exclusiones viven en metafields, así cambiar un cargo es una edición en el admin y no un release.
- Segura por cantidad, por construcción
- Por unidad contra por línea es el bug más común de Functions en producción. Escribimos las pruebas que lo atrapan antes que un cliente.
Lo que cubre el trabajo
- Discount Functions: descuentos de pedido, producto y envío
- Cart Transform: cargos añadidos, bundles y cambios de línea
- Validación de checkout: bloquear una compra que no debe proceder
- Reglas de personalización de envío y de pago
- Configuración por metafields que el merchant puede editar
- Pruebas unitarias sobre los casos límite de exclusión y cantidad
Tecnologías
- Shopify Functions
- Cart Transform API
- Shopify Plus
- Rust
- GraphQL
- Metafields
Dónde ayuda más
Un cargo que aplica a unos artículos y a otros no
Una tarifa de importación, un cargo de manejo o un recargo que debe saltarse tarjetas de regalo, productos concretos o colecciones etiquetadas, y ser correcto en cualquier cantidad.
Un descuento que tu motor de promociones no expresa
Lógica escalonada, condicional o combinada que los tipos de descuento nativos no cubren.
Un checkout que debe negarse
Un carrito que no debería poder completarse: artículos restringidos, combinaciones incompatibles, una región de entrega que no puedes servir.
Cómo lo entregamos
Escribir la regla
En prosa primero: a qué aplica, qué excluye, qué pasa con cantidad dos, y qué pasa cuando se topa con otro descuento. La ambigüedad aquí se vuelve un bug después.
Construir la Function
Implementada contra la API de Function de su target, con la configuración leída de metafields en vez de compilada dentro de la lógica.
Probar los bordes
Tarjetas de regalo, tags excluidos, carritos mixtos, cantidades altas, y la interacción con los descuentos existentes — cada uno como prueba y no como revisión manual.
Desplegar y observar
Publicada a través de tu app, verificada contra carritos reales en una tienda de desarrollo, y vigilada en los primeros pedidos reales que toca.
Desarrollo de Shopify Functions
¿Necesitamos Shopify Plus?
¿El merchant puede cambiar la regla después?
¿Cómo interactúan las Functions con nuestros descuentos actuales?
¿Rust o JavaScript?
¿Listo para empezar con desarrollo de shopify functions?
Cuéntanos sobre tu tienda y tus objetivos. Volveremos con un plan claro y honesto y una cotización transparente.