Saltar al contenido principal

API de Cupones de Descuento - FlowCoupons

La clase FlowCoupons permite gestionar cupones de descuento en Flow.cl, proporcionando métodos para la creación, edición, eliminación, obtención y listado de estos cupones.

Inicialización

import Flow from "@nicotordev/flowcl-pagos";

const flow = new Flow("tu_api_key", "tu_secret_key", "sandbox"); // o 'production'
const coupons = flow.coupons;

Métodos Disponibles

Obtener un cupón de descuento

coupons.get(couponId: string): Promise<FlowGetDiscountCouponResponse>
  • Request:
    • couponId: string (ID del cupón de descuento)
  • Response: FlowGetDiscountCouponResponse
    • id: string (ID del cupón de descuento)
    • name: string (Nombre del cupón)
    • percent_off: number | null (Descuento en porcentaje, si aplica)
    • amount: number | null (Monto del descuento, si aplica)
    • currency: string | null (Moneda del descuento, si aplica)
    • status: number (0 o 1 si está activo o inactivo)
    • createdAt: string (Fecha de creación)

Crear un nuevo cupón de descuento

coupons.create(data: FlowCreateDiscountCouponRequest): Promise<FlowCreateDiscountCouponResponse>
  • Request: FlowCreateDiscountCouponRequest incluye:
    • name: string (Nombre del cupón)
    • percent_off: number | null (Descuento en porcentaje, opcional)
    • currency: string | null (Moneda del descuento, opcional)
    • amount: number | null (Monto del descuento, opcional)
    • duration: 0 | 1 (Duración del cupón: indefinida = 0, definida = 1)
    • times: number | null (Número de veces aplicable, opcional)
    • max_redemptions: number | null (Número máximo de usos, opcional)
    • expires: string (Fecha de expiración en formato YYYY-MM-DD)
  • Response: FlowCreateDiscountCouponResponse
    • id: string (ID del cupón de descuento)
    • name: string (Nombre del cupón)
    • percent_off: number | null (Descuento en porcentaje, si aplica)
    • amount: number | null (Monto del descuento, si aplica)
    • currency: string | null (Moneda del descuento, si aplica)
    • status: number (0 o 1 si está activo o inactivo)
    • created: string (Fecha de creación)
    • duration: number (0 o 1 si es indefinido o definido)
    • times: number | null (Número de veces aplicable, si aplica)
    • max_redemptions: number | null (Número máximo de usos, si aplica)
    • expires: string (Fecha de expiración)

Editar un cupón de descuento

coupons.edit(data: FlowEditDiscountCouponRequest): Promise<FlowEditDiscountCouponResponse>
  • Request: FlowEditDiscountCouponRequest incluye:
    • couponId: string (ID del cupón a editar)
    • name: string (Nuevo nombre del cupón)
  • Response: FlowEditDiscountCouponResponse
    • id: string (ID del cupón de descuento)
    • name: string (Nombre del cupón)
    • percent_off: number | null (Descuento en porcentaje, si aplica)
    • amount: number | null (Monto del descuento, si aplica)
    • currency: string | null (Moneda del descuento, si aplica)
    • status: number (0 o 1 si está activo o inactivo)
    • created: string (Fecha de creación)
    • duration: number (0 o 1 si es indefinido o definido)
    • times: number | null (Número de veces aplicable, si aplica)
    • max_redemptions: number | null (Número máximo de usos, si aplica)
    • expires: string (Fecha de expiración)

Eliminar un cupón de descuento

coupons.delete(couponId: string): Promise<FlowDeleteDiscountCouponResponse>
  • Request:
    • couponId: string (ID del cupón a eliminar)
  • Response: FlowDeleteDiscountCouponResponse
    • id: string (ID del cupón de descuento)
    • name: string (Nombre del cupón)
    • percent_off: number | null (Descuento en porcentaje, si aplica)
    • amount: number | null (Monto del descuento, si aplica)
    • currency: string | null (Moneda del descuento, si aplica)
    • status: number (0 o 1 si está activo o inactivo)
    • created: string (Fecha de creación)
    • duration: number (0 o 1 si es indefinido o definido)
    • times: number | null (Número de veces aplicable, si aplica)
    • max_redemptions: number | null (Número máximo de usos, si aplica)
    • expires: string (Fecha de expiración)

Listar cupones de descuento

coupons.list(data: FlowListDiscountCouponsRequest): Promise<FlowListDiscountCouponsResponse>
  • Request: FlowListDiscountCouponsRequest incluye:
    • start: number (Número de inicio de la lista, opcional)
    • limit: number (Número de cupones por página, opcional)
    • filter: string (Filtro por nombre, opcional)
  • Response: FlowListDiscountCouponsResponse
    • total: number (Número total de cupones de descuento)
    • hasMore: number (0 o 1 si hay más cupones)
    • data: string (Array de cupones de descuento)

Manejo de Errores

ErrorDescripción
FlowAPIErrorError genérico de la API de Flow.
FlowAuthenticationErrorError de autenticación con la API de Flow.
FlowCreateDiscountCouponErrorError al crear un cupón de descuento.
FlowEditDiscountCouponErrorError al editar un cupón de descuento.
FlowDeleteDiscountCouponErrorError al eliminar un cupón de descuento.
FlowGetDiscountCouponErrorError al obtener un cupón de descuento.
FlowListDiscountCouponsErrorError al listar cupones de descuento.

Para más detalles, visita Flow.cl API Docs.

Nota: Asegúrate de manejar correctamente todas las excepciones en tu aplicación.