Precios de oferta del Merchant

Gestiona las variantes de precio de las ofertas de un merchant — crea precios en distintas monedas, define el predeterminado y elimina o restaura uno de forma reversible.

Un precio de oferta (offer price) es el valor de una oferta en una moneda: un importe en unidades menores enteras (integer minor units) más su moneda ISO 4217. Una oferta puede tener varios precios para que el mismo plan se venda en varios mercados.

Un precio por oferta es el predeterminado (default) — el que se usa cuando un cobro no indica un precio específico. Los precios se eliminan de forma reversible (soft-delete), de modo que un precio todavía referenciado por una suscripción activa puede restaurarse en lugar de perderse.

Estos endpoints dan soporte a la interfaz del Tokeflow Dashboard. Están autenticados por sesión (JWT bearer) — el token proviene de iniciar sesión en el Dashboard, no de una clave de API sk_/pk_. Las solicitudes también llevan el header x-merchant-id que identifica al merchant en contexto, y el usuario autenticado debe ser miembro con acceso a él.

El objeto offer price

Devuelto por los endpoints de listado y consulta de esta página.

CampoTipoDescripción
idstring—
offer_idstring—
currencystringCódigo de moneda ISO 4217.
amountnumberImporte en unidades menores (centavos).
first_charge_amountnumber | nullImporte del primer ciclo en unidades menores (se usa cuando offer.setup_charge = true). 0 = validación de tarjeta.
is_defaultboolean—
created_atstring(ISO 8601 UTC).
updated_atstring(ISO 8601 UTC).

Endpoints

DELETE/api/v1/merchant/offer-prices/:id

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Elimina un precio de oferta de forma reversible (soft-delete).

Parámetros de ruta

CampoTipoRequeridoDescripción
idstringSí—

Ejemplo de solicitud

curl -X DELETE https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9"

Ejemplo de respuesta — 204 No Content

Se devuelve un cuerpo vacío en caso de éxito.


GET/api/v1/merchant/offer-prices/:id

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Obtiene un precio de oferta por ID.

Parámetros de ruta

CampoTipoRequeridoDescripción
idstringSí—

Ejemplo de solicitud

curl https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9"

Ejemplo de respuesta — 200

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

PATCH/api/v1/merchant/offer-prices/:id

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Actualiza un precio de oferta.

Parámetros de ruta

CampoTipoRequeridoDescripción
idstringSí—

Ejemplo de solicitud

curl -X PATCH https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9" \
  -H "Content-Type: application/json" \
  -d '{}'

Ejemplo de respuesta — 200

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

POST/api/v1/merchant/offer-prices/:id/restore

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Restaura un precio de oferta eliminado de forma reversible.

Parámetros de ruta

CampoTipoRequeridoDescripción
idstringSí—

Ejemplo de solicitud

curl -X POST https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d/restore \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9"

Ejemplo de respuesta — 201

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

GET/api/v1/merchant/offers/:offerId/prices

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Lista los precios de una oferta.

Parámetros de ruta

CampoTipoRequeridoDescripción
offerIdstringSí—

Parámetros de consulta

CampoTipoRequeridoDescripción
pagenumberNoNúmero de página (indexado desde 1). Predeterminado 1, mín. 1.
limitnumberNoNúmero de elementos por página. Predeterminado 20, mín. 1, máx. 100.
currencystringNoCódigo de moneda ISO 4217
is_defaultbooleanNoFiltra solo por el precio predeterminado

Ejemplo de solicitud

curl -G https://api.tokeflow.com/api/v1/merchant/offers/ofr_5e2b8c14/prices \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=20" \
  --data-urlencode "currency=BRL" \
  --data-urlencode "is_default=True"

Ejemplo de respuesta — 200

{
  "data": [
    {
      "id": "opr_b1c2d3e4f5",
      "offer_id": "ofr_a1b2c3d4e5",
      "currency": "BRL",
      "amount": 9900,
      "first_charge_amount": 0,
      "is_default": true,
      "created_at": "2026-05-19T12:00:00Z",
      "updated_at": "2026-05-19T12:00:00Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 42,
    "total_pages": 3,
    "has_next": true,
    "has_prev": false
  }
}

POST/api/v1/merchant/offers/:offerId/prices

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Agrega un precio a una oferta.

Parámetros de ruta

CampoTipoRequeridoDescripción
offerIdstringSí—

Campos de la solicitud

CampoTipoRequeridoDescripción
currencystringSíCódigo de moneda ISO 4217.
amountnumberSíImporte en unidades menores (centavos). Ej: R$99,00 = 9900.
first_charge_amountnumberNoImporte del primer ciclo en unidades menores. Se usa cuando offer.setup_charge = true. 0 = validación de tarjeta.
is_defaultbooleanNoMoneda predeterminada de esta oferta.

Ejemplo de solicitud

curl -X POST https://api.tokeflow.com/api/v1/merchant/offers/ofr_5e2b8c14/prices \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "BRL",
    "amount": 9900,
    "first_charge_amount": 0,
    "is_default": true
  }'

Ejemplo de respuesta — 201

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

Errores

Los errores usan el sobre estándar. Los casos más comunes aquí:

HTTPSignificado
400Parámetros inválidos o un estado que no permite esta operación.
401Token de sesión del Dashboard ausente, expirado o inválido.
403Autenticado, pero el usuario autenticado no tiene acceso a esta entidad.
404El registro no existe o no es visible para esta entidad.

Relacionados

En esta página