add.js.
Leer el carrito
id, variant_id, quantity, title, variant_title, sku, price, line_price, final_line_price, image, url y available.
Escribir en el carrito
Los cuatro endpoints de escritura aceptan JSON (o form-encoded) y responden con el carrito completo:422 con { status, message, description }.
Después de cada escritura exitosa, anuncia el cambio al resto del tema:
Secciones re-renderizadas en la misma respuesta
Igual que en Shopify, las escrituras aceptan un parámetrosections para que la respuesta incluya el HTML actualizado de las secciones que nombres — un solo round-trip actualiza estado y DOM:
sections_url es la ruta contra la que se renderizan (por defecto /carrito). Cada fragmento llega con su wrapper riqra-section-{id} incluido: reemplaza el nodo completo.
Section Rendering API
Fuera de las escrituras de carrito,GET /api/sections re-renderiza secciones de cualquier ruta con superficie de tema — filtros de colección, mini-carrito, etc.:
A diferencia de Shopify,
?sections= no se intercepta sobre las URLs de página: usa siempre este endpoint.riqra:section:load sobre el nodo nuevo para que los scripts que escuchan ese evento se re-inicialicen (los custom elements se re-montan solos):
Eventos del tema
Origin resume el patrón completo — un snapshot compartido del carrito, invalidado por el evento:
JSON de producto
Para pickers de variantes o vistas rápidas:compare_at_price mayor que price es la señal de oferta — los badges de descuento se derivan de esa comparación, no de un objeto de promociones.