Skip to main content
POST
Crear suscripción

Autorizaciones

x-api-key
string
header
requerido

API key del API Gateway de Tapi. Requerida en todas las operaciones. Distinta por ambiente (desarrollo, homologación, producción).

x-authorization-token
string
header
requerido

Token TAPI JWT. Requerido en todas las operaciones. Se envía sin prefijo "Bearer". Ej: x-authorization-token: eyJhbGci...

Encabezados

Idempotency-Key
string

Clave de idempotencia (opcional). Se usa como llave única (externalRequestId) de la suscripción. El externalRequestId es una llave permanente sin TTL (constraint UNIQUE en el OFU). Una request repetida con la misma key devuelve error 409 RESOURCE_CONFLICT (no es replay/idempotencia clásica; es rechazo de duplicado por constraint UNIQUE). Si no se envía, el backend genera un externalRequestId único. Ver ADR-004 v1.1 para detalles de semántica.

Cuerpo

application/json
externalSubscriptionId
string
requerido

Llave natural de la suscripción. Única por organización.

amount
number
requerido

Monto por ciclo en pesos (hasta 2 decimales, mínimo 0.01)

Rango requerido: x >= 0.01Debe ser un múltiplo de 0.01
intervalUnit
enum<string>
requerido

Unidad del intervalo (day, week, month, year)

Opciones disponibles:
day,
week,
month,
year
intervalCount
integer
requerido

Cantidad de unidades por ciclo

Rango requerido: x >= 1
startDate
string<date>
requerido

Fecha de inicio de la suscripción

externalClientId
string

Identificador del deudor (externalClientId o contactData, no ambos).

contactData
object

Datos del deudor inline (alternativa a externalClientId)

currency
enum<string>
predeterminado:MXN

Código de moneda ISO 4217. Whitelist de monedas aceptadas por la Facade. Si no se envía, se usa el default de la organización (fallback: MXN). Si se envía un valor fuera de este whitelist, la Facade devuelve 400 INVALID_REQUEST.

Opciones disponibles:
MXN,
ARS,
PEN,
COP,
CLP,
USD
totalCycles
integer

Total de ciclos. Mutuamente excluyente con endDate.

Rango requerido: x >= 1
endDate
string<date>

Fecha de fin de la suscripción. Mutuamente excluyente con totalCycles.

billingDay
object

Override del día de cobro. Por default se infiere del startDate.

description
string
productName
string

Nombre del producto a asociar (opcional). Se resuelve por name en el OFU o se crea inline si no existe. Identificado por name único por companyCode.

allowOverduePayment
boolean
predeterminado:true
enforcePaymentOrder
boolean
predeterminado:false

Si true, el deudor debe pagar en orden cronológico

autopay
boolean
predeterminado:false
paymentMethods
enum<string>[]
Opciones disponibles:
CASH,
CARD,
TRANSFER,
WALLET,
BANK_TRANSFER
additionalData
object

Respuesta

Suscripción creada

data
object
requestId
string