{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-@l10n/es/api/catalog/index.yaml","sidebar":"sidebar-@l10n/es/catalog-en.sidebars.yaml"},"props":{"definitionId":"@l10n/es/api/catalog/index.yaml","dynamicMarkdocComponents":[],"baseSlug":"/es/api/catalog","seo":{"title":"Descripción general","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]},"description":"La cesta es un mecanismo de compra que permite combinar múltiples artículos en un solo pedido. Un usuario puede comprar artículos de cualquier tipo en cualquier cantidad con moneda real, así como usar [códigos promocionales](https://developers.xsolla.com/es/api/liveops/promotions-promo-codes).\n\nLa cesta se almacena en el lado de Xsolla. El almacenamiento de la cesta entre sesiones depende de si el usuario está autorizado:\n  * En el caso de los usuarios autorizados, la cesta está vinculada a un usuario concreto y se guarda entre sesiones siempre que las solicitudes se envíen en nombre del mismo usuario.\n\n  * Para los [usuarios no autorizados](/es/api/catalog/section/authentication/authentication-with-guest-access-support), guardar la cesta depende de que se transmita el encabezado `x-unauthorized-id`. Para guardar la cesta de un usuario no autorizado entre sesiones, transmita el mismo `x-unauthorized-id` en cada solicitud. Esta opción solo está disponible para la venta de claves de juego.\n\nPuede identificar la cesta de dos formas: automáticamente mediante el [JWT del usuario](https://developers.xsolla.com/es/api/catalog/section/authentication/authentication-using-user's-jwt) o mediante el ID de la cesta (`cart_id`).\n\nLa gestión de la cesta está disponible tanto en el lado del cliente como en el lado del servidor.\n\nEn el lado del servidor, puede llenar la cesta con artículos; p. ej., al restaurar una sesión de usuario. Las siguientes acciones están disponibles en el lado del cliente:\n\n* recuperar el carrito del usuario actual o una cesta mediante ID\n* llenar la cesta\n* actualizar artículos en la cesta\n* eliminar artículos de la cesta\n\nPara comprar artículos de la cesta, se usan llamadas del cliente y del servidor para la creación de pedidos.\n\nEl tiempo de vida (TTL) de la cesta es de 72 horas por defecto. Si su contenido cambia, por ejemplo, al añadir un artículo nuevo, el TTL se prolonga.\n\nUna vez realizado el pago correctamente, la cesta no se vacía automáticamente. Para vaciar la cesta, utilice las siguientes llamadas API del lado del cliente:\n  * [Eliminar todos los artículos de la cesta por el ID de la cesta](/es/api/catalog/cart-client-side/cart-clear-by-id).\n\n  * [Eliminar todos los artículos de la cesta actual](/es/api/catalog/cart-client-side/cart-clear).\n\n  * [Eliminar artículo de la cesta por ID de la cesta](/es/api/catalog/cart-client-side/delete-item-by-cart-id) y [Eliminar artículo de la cesta actual](/es/api/catalog/cart-client-side/delete-item): la cesta se vacía cuando se elimina el último artículo de la misma.\n\nEscenario de uso de la cesta:\n\n1. Implemente una interfaz de tienda en la que el usuario pueda seleccionar artículos.\n\n2. Cuando el usuario seleccione artículos en la tienda, añádalos a la cesta, por ejemplo, utilizando la llamada [Llenar la cesta con artículos](https://developers.xsolla.com/es/api/catalog/cart-client-side/cart-fill). En la matriz de artículos, debe transmitir los SKU y la cantidad requerida de artículos.\n\n3. Implemente la interfaz de visualización de la cesta. Cuando el usuario acceda a la cesta, muestre su contenido mediante la llamada [Obtener la cesta del usuario actual](https://developers.xsolla.com/es/api/catalog/cart-client-side/get-user-cart). La respuesta proporcionará información sobre el precio final de los artículos, incluidos los descuentos y las promociones aplicadas.\n\n4. Implemente la apertura de la interfaz de pago para abonar el pedido. Por ejemplo, puede utilizar la llamada [Crear pedido con todos los artículos de la cesta](https://developers.xsolla.com/es/api/catalog/payment-client-side/create-order-by-cart-id). La respuesta devuelve un token para abrir la interfaz de pago.\n\n5. Configure el seguimiento del estado de los pedidos, por ejemplo, mediante [webhooks](https://developers.xsolla.com/es/webhooks/), para recibir sin demora los datos sobre los artículos cuyo pago se ha completado correctamente y concedérselos al usuario.\n\n<div class=\"note\">\n  <p><b>Nota:</b></p>\n  <p>Para implementar la venta de artículos dentro del juego y en línea, consulte la <a href=\"https://developers.xsolla.com/es/virtual-goods/own-ui/\">guía de integración</a>.</p>\n</div>\n\n![Cesta y flujo de pago](https://cdn.xsolla.net/developers/current/images/api_docs/cart-payment-flow.svg)"},"itemId":"cart-and-payment-overview","disableAutoScroll":true,"metadata":{},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"xsolla.redocly.app","port":4000,"ipAddress":"216.73.216.4"},"lang":"es","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"realm"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/es/api/catalog/cart-and-payment-overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}