Skip to content

Productos (API)

El catálogo de productos se crea y edita solo desde el dashboard (proyecto → Productos). Sobre la API de Integración el catálogo es de solo lectura: consume los productos existentes por su productCode para armar suscripciones y cargos.

Todos los endpoints requieren tu API key de proyecto en el header X-API-Key.

Catálogo de productos de un proyecto

Tipos de producto

Cada producto se define por paymentType (one_time o recurring) y, para los de pago único, requiresSubscription:

paymentTyperequiresSubscriptionEs un…
recurringPlan — item de suscripción facturado cada ciclo
one_timefalseProducto independiente — compra única (p. ej. créditos)
one_timetrueAddon — cobro único sobre una suscripción activa

Listar productos

http
GET /v1/products

Parámetros de consulta:

CampoTipoRequeridoDescripción
statusstringNoFiltra por estado del producto (p. ej. activos)
paymentTypestringNoFiltra por one_time o recurring
limintegerNoTamaño de página
offintegerNoOffset (paginación)
bash
curl "https://api-pay.zelta.dev/v1/products?paymentType=recurring" \
  -H "X-API-Key: tu-api-key-de-proyecto"

Obtener un producto

http
GET /v1/products/:productCode
bash
curl "https://api-pay.zelta.dev/v1/products/pos-base" \
  -H "X-API-Key: tu-api-key-de-proyecto"

Devuelve el producto identificado por su productCode (el listado devuelve el mismo objeto por cada elemento, bajo data.products junto con total).

json
{
  "success": true,
  "data": {
    "product": {
      "id": "111",
      "projectId": "prj_1234567890abcdef",
      "productCode": "pos-base",
      "name": "Plan base",
      "description": "Plan mensual del POS",
      "paymentType": "recurring",
      "requiresSubscription": false,
      "price": 3500,
      "currency": "USD",
      "billingPeriod": "month",
      "billingInterval": 1,
      "status": "active",
      "createdAt": "2026-06-04T00:00:00.000Z",
      "updatedAt": "2026-06-04T00:00:00.000Z"
    }
  }
}
CampoTipoDescripción
idstringIdentificador único del producto
projectIdstringProyecto al que pertenece el producto
productCodestringCódigo único con el que lo referencias en cargos y suscripciones
namestringNombre del producto
descriptionstring | nullDescripción (null si no se definió)
paymentTypestringone_time o recurring
requiresSubscriptionbooleanSi es un addon que exige una suscripción activa (solo aplica a one_time)
priceintegerPrecio en centavos
currencystringMoneda (p. ej. USD)
billingPeriodstring | nullday, week, month o year; null para productos one_time
billingIntervalinteger | nullNúmero de períodos por ciclo (p. ej. 1 = mensual con billingPeriod: month)
statusstringactive, inactive o archived
createdAtstringFecha de creación (ISO 8601)
updatedAtstringFecha de última actualización (ISO 8601)

Para crear o editar productos, usa el dashboard

La API no expone endpoints de escritura sobre el catálogo. Si necesitas un nuevo plan, addon o producto independiente, créalo en el dashboard del proyecto y luego consúmelo por su productCode.

Siguientes pasos

  • — usa los productCode recurrentes como items
  • — cobra productos one_time a un cliente
  • — visión general del modelo de proyectos

Documentación oficial de Zelta