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 | |
---|---|
name | Nombre del plan |
description | Descripción del plan |
externalReference | Referencia externa |
price | Precio del plan. Si el monto es 0, se creará una subscripción gratuita. Revisar Suscripciones gratuitas |
interval | Frecuencia de cobro de suscripción |
intervalCount | Cantidad de intervalos de distancia entre un cobro y el siguiente |
defaultPeriods | Cantidad de periodos a cobrar por defecto |
forSubscriber | Habilitació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 | |
---|---|
id | Id del plan |
name | Nombre del plan |
description | Descripción del plan |
price | Precio del plan |
intervalCount | Cantidad de intervalos de distancia entre un cobro y el siguiente |
interval | Frecuencia de cobro de suscripción |
defaultPeriods | Cantidad de periodos a cobrar por defecto |
forSubscriber | Habilitació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 | |
---|---|
planId | Id del plan a modificar - Dato obligatorio |
name | Nombre del plan |
description | Descripción del plan |
price | Precio de la suscripción |
updateCurrentInvoice | Actualizar precio en facturas no pagas del período siguiente al actual en suscripciones vinculadas a este plan (sólo si se modifica el precio) |
subscriber | Habilitación para mostrar el plan en una página de suscripciones de Zenrise |
intervalCount | Cantidad de intervalos de distancia entre un cobro y el siguiente |
defaultPeriods | Cantidad de periodos a cobrar por defecto |
ahora12Enabled | Habilitación para pago con ahora12 en el plan |
ahora12 | Tratamiento 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 | |
---|---|
invoiceUpdateJob | Proyección del progreso de actualización de facturas. Si updateCurrentInvoice es false , entonces este campo llegará null |
id | Id del proceso de actualización de facturas |
status | Estado del proceso de actualización de facturas |
previousAmount | Monto previo a la actualización |
updatedAmount | Monto actualizado |
plan | Proyección del plan editado |
id | Id del plan editado |
name | Nombre del plan editado |
description | Descripción del plan editado |
price | Precio del plan editado |
intervalCount | Cantidad de intervalos de distancia entre un cobro y el siguiente |
interval | Frecuencia de cobro de suscripción |
defaultPeriods | Cantidad de periodos a cobrar por defecto |
forSubscriber | Habilitación para mostrar el plan en una página de suscripciones de Zenrise |
hash | Hash del id del plan (necesario para en el suscriber) |
ahora12Enabled | Habilitación para pago con ahora12 en el plan |
subscriptionUrl | Link 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 | |
---|---|
id | Id del proceso de actualización de facturas |
status | Estado del proceso de actualización de facturas |
previousAmount | Monto previo a la actualización |
updatedAmount | Monto actualizado |
planId | Id del plan editado |
totalUpdatedInvoices | Total de facturas con el monto ya actualizado |
totalFailedInvoices | Total de facturas con errores durante el proceso |
totalInvoices | Total de facturas asociadas a este plan |
failedInvoices | Facturas con errores |
id | Id de factura |
amountDue | Monto original de la factura |
amountPaid | Monto pago de la factura |
amountRemaining | Monto pendiente de la factura |
date | Fecha de la factura |
firstDueDate | Fecha del primer vencimiento de la factura |
secondDueDate | Fecha del segundo vencimiento de la factura |
description | Descripción de la factura |
contactName | Nombre del contacto asociado a la factura |
externalReference | Referencia externa de la factura |
organizationName | Nombre de la organización emisora de la factura |
organizationId | Id de la organización emisora de la factura |