Inicio rápido del SDK web
En Shopify no hay nada que programar: consulta el inicio rápido de Shopify.
-
Consigue tu clave. En Studio → Desarrolladores → Claves de API (Developers → API keys), copia la clave publicable (
pk_test_…por ahora). Registra el origen de tu sitio (por ejemplo,https://staging.brand.com) para el modo de prueba.http://localhostfunciona en modo de prueba sin registrarlo. -
Carga TryYourSize.js.
<script src="https://js.tryyoursize.com/v1/tys.js"></script>La ruta
/v1/sirve siempre la última versión compatible de la 1.Ventana de terminal npm install @tryyoursize/sdkimport { TryYourSize } from "@tryyoursize/sdk"; // incluido en el bundle de tu app// o carga la versión del CDN de forma diferida, una sola vez (como loadStripe):import { loadTryYourSize } from "@tryyoursize/sdk/loader";const tys = await loadTryYourSize("pk_test_…"); // null durante el SSR -
Añade el elemento donde se elige la talla.
productes el ID de producto o SKU, tal como está sincronizado con TryYourSize.<script src="https://js.tryyoursize.com/v1/tys.js"></script><tys-fit publishable-key="pk_test_…" product="STRAIGHT-JEANS"></tys-fit><script>document.querySelector("tys-fit").addEventListener("tys:size", (e) => selectVariant(e.detail.size));</script><div id="tys-fit"></div><script>const tys = TryYourSize("pk_test_…");const elements = tys.elements(); // hereda la fuente y los colores de tu páginaconst fit = elements.create("fit", { product: "STRAIGHT-JEANS" });fit.mount("#tys-fit");fit.on("size", ({ size, verified }) => selectVariant(size));</script>import { loadTryYourSize } from "@tryyoursize/sdk/loader";import { TryYourSizeProvider, FitElement } from "@tryyoursize/react";const tysPromise = loadTryYourSize("pk_test_…");export function ProductPage() {return (<TryYourSizeProvider client={tysPromise}><FitElement product="STRAIGHT-JEANS" onSize={({ size }) => selectVariant(size)} /></TryYourSizeProvider>);}Consulta el inicio rápido de React.
-
Permite nuestros dominios en tu Content Security Policy (si tienes una):
script-src https://js.tryyoursize.com(versión del CDN) yframe-src https://embed.tryyoursize.com. -
Pruébalo. Abre tu página de producto, inicia sesión con un código enviado por correo electrónico (o mídete sin cuenta) y elige una talla. Cuando todo funcione, sigue Pasar a modo real.
Elementos
Sección titulada «Elementos»| Elemento | Qué es |
|---|---|
"fit" |
El elemento integrado: el inicio de sesión y el aviso de que el cuerpo está listo, directamente en tu página. La ventana de medidas solo se abre para medir. Recomendado. |
"button" |
Un botón compacto «Encontrar mi talla» que abre la ventana de medidas. |
"sizeGuide" |
Un enlace «Guía de tallas» del tamaño de un enlace, con el logotipo de TryYourSize, para colocarlo junto a tu selector de tallas. Muestra «Tu talla: M» cuando hay una sesión iniciada. Consulta Botón de guía de tallas. |
Componentes web sin código: <tys-fit> y <tys-size-guide>, que emiten eventos DOM (tys:size).
API del elemento
Sección titulada «API del elemento»| Método | |
|---|---|
mount(selectorOrElement) |
Muestra el elemento. Lanza mount_not_found o already_mounted. |
on(event, handler) / once / off |
Eventos a continuación. Un handler que lanza un error nunca rompe el SDK. |
update({ product }) |
Cambia de producto (por ejemplo, en una página de variante) sin volver a crear el elemento. |
open() / close() |
Abre o cierra la ventana de medidas desde tu propia interfaz. |
getRecommendation() |
Promesa con la talla recomendada del cliente para este producto. |
unmount() / destroy() |
Lo quita de la página; destroy también elimina los handlers. |
elements.update({ appearance }) |
Cambia el estilo en directo (por ejemplo, para tu modo oscuro) sin recargar nada. |
| Evento | Datos |
|---|---|
ready |
{ elementType }: visible y conectado. |
size |
{ product, size, verified }: el cliente ha elegido una talla en nuestra ventana; preselecciona la variante. verified es true cuando la simulación completa la ha confirmado. |
open / close |
La ventana de medidas se ha abierto o cerrado. Si hay cambios sin guardar, se pregunta antes al cliente. |
loaderror |
{ error }: no se ha podido acceder a nuestra ventana (red, bloqueo por CSP). |
recommendation |
{ product, status, size, studioSize, wearableSizes? }: la talla recomendada del cliente con tus etiquetas. Consulta Talla recomendada y preselección. |
Métodos del cliente
Sección titulada «Métodos del cliente»| Método | |
|---|---|
tys.elements(options?) |
Un grupo de elementos (appearance, locale). |
tys.recommendation(product) |
Promesa con la talla recomendada del cliente para un producto, sin montar nada. Consulta Talla recomendada y preselección. |
tys.recommendationHandle() |
Promesa con { handle, expiresAt } o null: un identificador sellado que tu servidor envía a POST /v1/recommendations. Consulta Recomendaciones desde el servidor. |
tys.experiment() |
Promesa con { experimentId, arm, visitorId }, o null si la tienda no tiene ningún grupo de control A/B. |
Errores
Sección titulada «Errores»Todos los errores del SDK son TryYourSizeError con type (integration_error o load_error), un code estable, message y docUrl.
| Código | Cuándo |
|---|---|
secret_key_in_browser, invalid_key |
Se ha pasado una clave incorrecta a TryYourSize(). |
mount_not_found, already_mounted, element_destroyed |
Uso incorrecto del ciclo de vida del elemento. |
unknown_element_type, invalid_option |
Argumentos de create() no válidos. |
window_unreachable |
Se emite con loaderror cuando nuestra ventana no se conecta. |
script_load_failed |
loadTryYourSize() no ha podido cargar el script del CDN. |
Seguridad
Sección titulada «Seguridad»- En el navegador, usa solo claves publicables. Cada una funciona únicamente en los orígenes que registres.
- Nuestras ventanas son iframes en
embed.tryyoursize.com. Los mensajes entre tu página y nuestra ventana pasan por una lista exacta de orígenes permitidos en ambos lados, y se valida cada argumento. - Las medidas del cliente nunca llegan a tu página ni a tus servidores: solo la talla.
Modo demo (solo claves de prueba)
Sección titulada «Modo demo (solo claves de prueba)»Para landing pages y demos de ventas, el elemento fit puede mostrar la prueba virtual integrada en la página sobre un cuerpo de muestra con nombre, sin iniciar sesión. Las medidas de cinta de los cuerpos de muestra son valores sintéticos de tablas de medidas, nunca los de una persona real.
const tys = TryYourSize("pk_test_…"); // una clave real lanza un errorconst demo = tys.elements().create("fit", { product: "CREW-TSHIRT", demo: { body: "sample-female-165", height: 640 },});demo.mount("#demo");demo.update({ product: "SLIM-STRETCH-JEANS" }); // otra prendademo.update({ demo: { body: "sample-male-178" } }); // otro cuerpoCuerpos de muestra: sample-female-158, sample-female-165, sample-female-172, sample-male-172, sample-male-178, sample-male-186. El modo demo solo muestra resultados precalculados y nunca inicia una simulación al ver la página; si un cuerpo y un producto no tienen resultado, se indica «Aún no simulado en este cuerpo».
¿Te ha resultado útil esta página?
Gracias. Leemos todas las respuestas.