Skip to navigation

Actualizar un producto

Actualiza un producto existente. Para actualizar el precio, incluye el id del precio dentro de prices_attributes.

Si el precio tiene suscripciones (activas, pausadas o con pago pendiente), no se modifica en su lugar: se archiva y se crea un precio de reemplazo con un id nuevo, que viene en la respuesta — guárdalo si almacenas IDs de precios. Las suscripciones existentes conservan el precio archivado (mismo monto y plan). Crear un checkout con el id de un precio archivado usa automáticamente su reemplazo vigente. Enviar una actualización con el id de un precio archivado responde 400 indicando el precio vigente.

Authentication

X-SECRET-KEYstring

Tu clave secreta de API.

Una llave de cuenta (sk_live_..., sk_test_...) opera sobre su propia cuenta y, con X-ACCOUNT-ID, sobre sus cuentas conectadas.

La llave también fija el ambiente: una sk_test_ solo lista y resuelve objetos de prueba (live_mode: false) y una sk_live_ solo objetos reales. Un ID del otro ambiente responde 404 (401 en /customers).

Una llave de organización (sk_org_live_..., sk_org_test_...) alcanza todas las cuentas de una organización y solo sirve para leer: saldos, movimientos y reportes. Para operar sobre una cuenta debe nombrarla con X-ACCOUNT-ID; omitirlo en una lectura devuelve todas las cuentas de la organización. Cualquier otro endpoint responde 403 con code: organization_key_unsupported.

Path parameters

idstringRequired
ID del producto

Request

This endpoint expects an object.
productobjectRequired

Response

Producto actualizado
idstringOptional

ID único del producto

statusstringOptional
Estado del producto
tax_categoryenumOptionalDefaults to good

Clasificación para FEL: good (bien) o service (servicio). Cada ítem conserva su clasificación en facturas mixtas. El comercio también puede elegirla en el panel, en Opciones avanzadas del producto.

Allowed values:
namestringOptional
Nombre del producto
descriptionstring or nullOptional

Descripción del producto

success_urlstring or nullOptional

URL de redirección después de un pago exitoso

cancel_urlstring or nullOptional

URL de redirección cuando el comprador cancela

custom_terms_and_conditionsstring or nullOptional

Términos y condiciones personalizados

phone_requirementenumOptionalDefaults to optional

Requerimiento de teléfono

Allowed values:
address_requirementenumOptionalDefaults to none

Requerimiento de dirección

Allowed values:
billing_info_requirementenumOptionalDefaults to optional

Requerimiento de información fiscal

Allowed values:
has_dynamic_pricingbooleanOptional

Si usa precio dinámico

payment_method_typeslist of enumsOptional

Métodos de pago habilitados para este producto, ya resueltos (cuando el producto hereda la configuración de la cuenta, refleja los métodos de la cuenta): card (tarjeta, pago de contado), bank_transfer (transferencia bancaria), stablecoins (dólares digitales), balance (Balance Recurrente), akisi (efectivo en Akisí; solo cuentas habilitadas, cobros únicos en GTQ con precio fijo y cuentas fuera de Sandbox). Las cuotas se exponen por separado en available_installments.

Allowed values:
available_installmentslist of integersOptional

Opciones de cuotas (en meses) que se mostrarán en el checkout, independientes de payment_method_types. Vacío si no se ofrecen cuotas. Solo aplica a GTQ.

inventory_quantityinteger or nullOptional

Unidades en existencia. null cuando el producto no lleva inventario (disponibilidad ilimitada). Baja con cada venta pagada y puede quedar en negativo si se vendió más de lo que había. Enviarlo en un PUT registra la diferencia como un ajuste en el historial del producto. Un producto con variantes no lleva conteo propio: cada variante lleva el suyo y el del producto queda en null.

low_stock_thresholdinteger or nullOptional

Desde qué cantidad se considera bajo el inventario de este producto. null usa el valor por defecto de la cuenta.

priceslist of objectsOptional
Precios del producto
metadatamap from strings to strings or nullOptional
Metadata personalizada
custom_fieldslist of objectsOptional
Definiciones de campos personalizados activos en el checkout.
optionslist of objectsOptional

Las opciones en que viene el producto (talla, color…), en orden. Vacío si el producto no tiene variantes.

variantslist of objectsOptional

Las variantes activas del producto, una por combinación de valores. Cada una tiene su propio price_id: úsalo en items[].price_id al crear un checkout para vender esa variante.

Errors

400
Bad Request Error