Ir al contenido

Inicio rápido de la API de servidor

URL base https://api.tryyoursize.com
Autenticación Authorization: Bearer sk_test_… (o una clave restringida rk_…)
Versión TYS-Version: 2026-10-25 (consulta Versiones)
Errores { error, status, code, doc_url, request_id } más la cabecera X-Request-ID (consulta Errores)
Reintentos Idempotency-Key en los POST (consulta Idempotencia)
Listas limit + cursor → { data, has_more, next_cursor } (consulta Paginación)

Las rutas del catálogo aceptan un ID de producto de TryYourSize o tu SKU. El catálogo es el mismo en modo de prueba y en modo real: el modo de prueba responde con borradores y el modo real con versiones publicadas.

Ventana de terminal
npm install @tryyoursize/node
import TryYourSize from "@tryyoursize/node";
const tys = new TryYourSize(process.env.TYS_SECRET_KEY!);
const product = await tys.products.create(
{ external_id: "CREW-TSHIRT", name: "Crew T-shirt", category: "tshirt" },
{ idempotencyKey: crypto.randomUUID() },
);
// Las etiquetas de tu tienda para cada talla de Studio: las recomendaciones vuelven con estas etiquetas.
await tys.products.sizeMap.save("CREW-TSHIRT", {
entries: [
{ studio_size: "S", shop_value: "Small" },
{ studio_size: "M", shop_value: "Medium" },
{ studio_size: "L", shop_value: "Large" },
],
});
for await (const p of tys.products.list({ limit: 50 })) {
console.log(p.id, p.external_id);
}

Los nombres de los campos y los cuerpos están en la referencia de la API.

Node Python Endpoint
tys.recommendations.create({ handle, products }) tys.recommendations.create(...) POST /v1/recommendations
tys.products.list / create / retrieve / update igual /v1/products, /v1/products/{product}
tys.products.sizeMap.retrieve / save tys.products.size_map.retrieve / save /v1/products/{product}/size_map
tys.products.garments.list / createDraft tys.products.garments.list / create_draft /v1/products/{product}/garments
tys.garments.retrieve / updateDraft / publish tys.garments.retrieve / update_draft / publish /v1/garments/{garment_id}
tys.fitGroups.list / create / retrieve / linkProducts tys.fit_groups.list / create / retrieve / link_products /v1/fit_groups
tys.orders.create tys.orders.create POST /v1/orders
tys.returns.create tys.returns.create POST /v1/returns
tys.auditEvents.list tys.audit_events.list GET /v1/audit_events
tys.webhooks.constructEvent(rawBody, header, secret) tryyoursize.Webhook.construct_event(payload, sig_header, secret) Webhooks
import TryYourSize, { TryYourSizeError } from "@tryyoursize/node";
try {
await tys.products.retrieve("NO-SUCH-SKU");
} catch (err) {
if (err instanceof TryYourSizeError) {
console.error(err.code, err.docUrl, err.requestId); // "not_found", https://docs…/api/errors/#not_found, …
}
}

¿Te ha resultado útil esta página?