> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onepay.la/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducción

> Gestiona los productos que vendes, separados de sus precios.

## ¿Qué es un Producto?

Un producto representa **qué vendes**: un bien o servicio de tu catálogo (por ejemplo "OnePay Pro" o "Asientos adicionales"). El producto describe la oferta —su nombre, descripción y características de marketing— pero **no incluye el monto**.

El monto vive en los [precios](/client/prices/index) asociados al producto. Esta separación te permite tener un mismo producto con varios precios (mensual, anual, por moneda o por región) sin duplicar la oferta.

```
Producto "OnePay Pro"
  ├── Precio $50.000 COP / mes
  ├── Precio $500.000 COP / año
  └── Precio $15 USD / mes
```

## ¿Cuándo usar Productos?

Usa productos cuando quieras organizar tu catálogo de cobros recurrentes de forma reutilizable. Por ejemplo:

* Catálogos con varios niveles (básico, pro, empresarial)
* Un mismo servicio cobrado en varias monedas o frecuencias
* Productos con características de marketing que muestras en el checkout

## Objeto producto

| Campo                | Tipo           | Descripción                                                 |
| -------------------- | -------------- | ----------------------------------------------------------- |
| `id`                 | string         | Identificador único (UUID) del producto.                    |
| `object`             | string         | Siempre `product`.                                          |
| `name`               | string         | Nombre del producto.                                        |
| `description`        | string \| null | Descripción del producto.                                   |
| `active`             | boolean        | `false` cuando el producto está archivado.                  |
| `internal_id`        | string \| null | Tu identificador interno.                                   |
| `unit_label`         | string \| null | Etiqueta de la unidad (ej. `asientos`).                     |
| `tax_rate`           | number \| null | Porcentaje de IVA (0-100).                                  |
| `default_price`      | string \| null | ID del precio por defecto.                                  |
| `marketing_features` | array          | Características de marketing (hasta 15), cada una `{name}`. |
| `metadata`           | object \| null | Datos adicionales de tu aplicación.                         |
| `prices`             | array          | Precios activos del producto (solo en el detalle).          |
| `created_at`         | string         | Fecha de creación (ISO 8601).                               |
| `updated_at`         | string         | Fecha de última actualización (ISO 8601).                   |

## Endpoints

<CardGroup cols={2}>
  <Card title="Listar productos" icon="list" href="/client/products/list">
    Obtén el listado paginado de tus productos activos.
  </Card>

  <Card title="Crear producto" icon="plus" href="/client/products/create">
    Registra un nuevo producto en tu catálogo.
  </Card>

  <Card title="Detalle del producto" icon="eye" href="/client/products/detail">
    Consulta un producto con sus precios activos.
  </Card>

  <Card title="Actualizar producto" icon="pen" href="/client/products/update">
    Modifica los datos de un producto existente.
  </Card>

  <Card title="Archivar producto" icon="trash" href="/client/products/delete">
    Archiva un producto y sus precios sin borrarlos.
  </Card>
</CardGroup>
