Planes

Conceptos Generales

El plan es el item básico que se va a cobrar en una base recurrente. Tiene nombre, las reglas de recurrencia y el precio. Por Ej: Abono Mensual de Servicios con un Plan Básico y un Plan Premium.

Crear plan

URL: /v1/plan

Método: POST

Requiere Auth: Sí, ver Autenticación

Request Payload:

{
name: string;
description?: string;
externalReference?: string;
price: number;
interval: 'MONTH' | 'YEAR' | 'DAY' | 'WEEK';
intervalCount: number;
defaultPeriods?: number;
forSubscriber?: boolean;
}

Detalle de la Request:

Propiedad
nameNombre del plan
descriptionDescripción del plan
externalReferenceReferencia externa
pricePrecio del plan. Si el monto es 0, se creará una subscripción gratuita. Revisar Suscripciones gratuitas
intervalFrecuencia de cobro de suscripción
intervalCountCantidad de intervalos de distancia entre un cobro y el siguiente
defaultPeriodsCantidad de periodos a cobrar por defecto
forSubscriberHabilitación para mostrar el plan en una página de suscripciones de Zenrise

Traer planes

Mostrar todos los planes creados.

URL: /v1/plan

Método: GET

Requiere Auth: Sí, ver Autenticación

Request Response:

{
data: {
id: number;
name: string;
description: string;
price: number;
externalReference: string;
interval: "MONTH" | "YEAR" | "DAY" | "WEEK";
intervalCount: number;
defaultPeriods: number;
forSubscriber: boolean;
}[];
}

Detalle de la Response:

Propiedad
idId del plan
nameNombre del plan
descriptionDescripción del plan
pricePrecio del plan
intervalCountCantidad de intervalos de distancia entre un cobro y el siguiente
intervalFrecuencia de cobro de suscripción
defaultPeriodsCantidad de periodos a cobrar por defecto
forSubscriberHabilitación para mostrar el plan en una página de suscripciones de Zenrise

Editar plan

URL: /v1/plan/{id}

Método: POST

Requiere Auth: Sí, ver Autenticación

Request Payload:

{
planId: number;
name?: string;
description?: string;
price?: number;
updateCurrentInvoice?: boolean;
subscriber?: boolean;
intervalCount?: number;
defaultPeriods?: number;
ahora12Enabled?: boolean;
ahora12?: 'ADMIN' | 'CLIENT';
}

Detalle de la Request:

Propiedad
planIdId del plan a modificar - Dato obligatorio
nameNombre del plan
descriptionDescripción del plan
pricePrecio de la suscripción
updateCurrentInvoiceActualizar precio en facturas no pagas del período siguiente al actual en suscripciones vinculadas a este plan (sólo si se modifica el precio)
subscriberHabilitación para mostrar el plan en una página de suscripciones de Zenrise
intervalCountCantidad de intervalos de distancia entre un cobro y el siguiente
defaultPeriodsCantidad de periodos a cobrar por defecto
ahora12EnabledHabilitación para pago con ahora12 en el plan
ahora12Tratamiento del pago de la comisión de ahora12

Request Response:

{
invoiceUpdateJob: {
id: number;
status: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED';
previousAmount: number;
updatedAmount: number;
} | null;
plan: {
id: number;
name: string;
description: string;
price: number;
intervalCount: number;
interval: 'MONTH' | 'YEAR' | 'DAY' | 'WEEK';
defaultPeriods: number;
forSubscriber: boolean;
hash: string;
ahora12Enabled: boolean;
subscriptionUrl: string;
};
}

Detalle de la Response:

Propiedad
invoiceUpdateJobProyección del progreso de actualización de facturas. Si updateCurrentInvoice es false, entonces este campo llegará null
idId del proceso de actualización de facturas
statusEstado del proceso de actualización de facturas
previousAmountMonto previo a la actualización
updatedAmountMonto actualizado
planProyección del plan editado
idId del plan editado
nameNombre del plan editado
descriptionDescripción del plan editado
pricePrecio del plan editado
intervalCountCantidad de intervalos de distancia entre un cobro y el siguiente
intervalFrecuencia de cobro de suscripción
defaultPeriodsCantidad de periodos a cobrar por defecto
forSubscriberHabilitación para mostrar el plan en una página de suscripciones de Zenrise
hashHash del id del plan (necesario para en el suscriber)
ahora12EnabledHabilitación para pago con ahora12 en el plan
subscriptionUrlLink de la página de suscipciones de Zenrise

Consultar estado de actualización

URL: /v1/plan/{planId}/get-job-status

Método: GET

Requiere Auth: Sí, ver Autenticación

⚠️ Este endpoint devuelve sólo el estado del último proceso de actualización de facturas. Por lo tanto si se actualiza el mismo plan en más de una oportunidad, los procesos anteriores no se mostrarán.

Request Response:

{
id: number;
previousAmount: number;
updatedAmount: number;
status: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED';
totalUpdatedInvoices: number;
totalFailedInvoices: number;
totalInvoices: number;
failedInvoices: {
id: number;
amountDue: number;
amountPaid: number;
amountRemaining: number;
date: string;
firstDueDate: string;
secondDueDate: string;
description: string;
contactName: string;
externalReference: string;
organizationName: string;
organizationId: number;
}[];
planId: number;
}

Detalle de la Response:

Propiedad
idId del proceso de actualización de facturas
statusEstado del proceso de actualización de facturas
previousAmountMonto previo a la actualización
updatedAmountMonto actualizado
planIdId del plan editado
totalUpdatedInvoicesTotal de facturas con el monto ya actualizado
totalFailedInvoicesTotal de facturas con errores durante el proceso
totalInvoicesTotal de facturas asociadas a este plan
failedInvoicesFacturas con errores
idId de factura
amountDueMonto original de la factura
amountPaidMonto pago de la factura
amountRemainingMonto pendiente de la factura
dateFecha de la factura
firstDueDateFecha del primer vencimiento de la factura
secondDueDateFecha del segundo vencimiento de la factura
descriptionDescripción de la factura
contactNameNombre del contacto asociado a la factura
externalReferenceReferencia externa de la factura
organizationNameNombre de la organización emisora de la factura
organizationIdId de la organización emisora de la factura