@nicotordev/flowcl-pagos
Version:
SDK en TypeScript para integrar pagos con la API de Flow.cl de manera sencilla y segura.
109 lines • 6.42 kB
TypeScript
import { FlowEditDiscountCouponResponse, FlowCreateDiscountCouponRequest, FlowCreateDiscountCouponResponse, FlowEditDiscountCouponRequest, FlowDeleteDiscountCouponResponse, FlowGetDiscountCouponResponse, FlowListDiscountCouponsRequest, FlowListDiscountCouponsResponse } from '../types/flow';
/**
* Permite crear cupones de descuento para ser aplicados a suscripciones o clientes
*/
export default class FlowCoupons {
private apiKey;
private secretKey;
private axiosInstance;
/**
* Este servicio permite crear un cupón de descuento
* @param {FlowCreateDiscountCouponRequest} data Datos para crear el cupón de descuento
* @returns {Promise<FlowCreateDiscountCouponResponse>} Respuesta de la API
* @throws {FlowCreateDiscountCouponError} Si hay problemas al crear el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
create: (data: FlowCreateDiscountCouponRequest) => Promise<FlowCreateDiscountCouponResponse>;
/**
* Este servicio permite editar un cupón de descuento. Sólo se puede editar el nombre de un cupón.
* @param {FlowEditDiscountCouponRequest} data Datos para editar el cupón de descuento
* @returns {Promise<FlowEditDiscountCouponResponse>} Respuesta de la API
* @throws {FlowEditDiscountCouponError} Si hay problemas al editar el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
edit: (data: FlowEditDiscountCouponRequest) => Promise<FlowEditDiscountCouponResponse>;
/**
* Este servicio permite eliminar un cupón de descuento. Eliminar un cupón de descuento no elimina los descuentos aplicados a clientes o suscripciones, sólo no permite volver a aplicar este cupón
* @param {string} couponId ID del cupón de descuento
* @returns {Promise<FlowDeleteDiscountCouponResponse>} Respuesta de la API
* @throws {FlowEditDiscountCouponError} Si hay problemas al eliminar el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
delete: (couponId: string) => Promise<FlowDeleteDiscountCouponResponse>;
/**
* Este servicio permite obtener los datos de un cupón de descuento
* @param {string} couponId ID del cupón de descuento
* @returns {Promise<FlowGetDiscountCouponResponse>} Respuesta de la API
* @throws {FlowGetDiscountCouponError} Si hay problemas al obtener el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
get: (couponId: string) => Promise<FlowGetDiscountCouponResponse>;
/**
* Este servicio permite la lista de cupones de descuento
* @param {FlowListDiscountCouponsRequest} data Datos para listar los cupones de descuento
* @returns {Promise<FlowListDiscountCouponsResponse>} Respuesta de la API
* @throws {FlowListDiscountCouponsError} Si hay problemas al listar los cupones de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
list: (data: FlowListDiscountCouponsRequest) => Promise<FlowListDiscountCouponsResponse>;
/**
* Constructor de la clase FlowClient.
* @param apiKey Clave de API proporcionada por Flow.
* @param secretKey Clave secreta proporcionada por Flow.
* @param baseURL URL base de la API de Flow.
* @throws FlowAuthenticationError Si no se proporciona apiKey o secretKey.
*/
constructor(apiKey: string, secretKey: string, baseURL: string);
/**
* Realiza una petición a la API de Flow.
* @param {string} endpoint URL del endpoint de la API.
* @param {string} data Datos a enviar en la petición.
* @param {'post' | 'get'} method Método de la petición (POST o GET).
* @param {(e: unknown) => never} error Error a lanzar en caso de error.
* @returns {Promise<T>} Respuesta de la API.
* @throws {FlowAPIError} Si hay problemas con la API de Flow.
* @throws {Error} Si hay problemas al realizar la petición.
*/
private request;
/**
* Este servicio permite crear un cupón de descuento
* @param {FlowCreateDiscountCouponRequest} data Datos para crear el cupón de descuento
* @returns {Promise<FlowCreateDiscountCouponResponse>} Respuesta de la API
* @throws {FlowCreateDiscountCouponError} Si hay problemas al crear el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
private createDiscountCoupon;
/**
* Este servicio permite editar un cupón de descuento. Sólo se puede editar el nombre de un cupón.
* @param {FlowEditDiscountCouponRequest} data Datos para editar el cupón de descuento
* @returns {Promise<FlowEditDiscountCouponResponse>} Respuesta de la API
* @throws {FlowEditDiscountCouponError} Si hay problemas al editar el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
private editDiscountCoupon;
/**
* Este servicio permite eliminar un cupón de descuento. Eliminar un cupón de descuento no elimina los descuentos aplicados a clientes o suscripciones, sólo no permite volver a aplicar este cupón
* @param {string} couponId ID del cupón de descuento
* @returns {Promise<FlowDeleteDiscountCouponResponse>} Respuesta de la API
* @throws {FlowEditDiscountCouponError} Si hay problemas al eliminar el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
private deleteDiscountCoupon;
/**
* Este servicio permite obtener los datos de un cupón de descuento
* @param {string} couponId ID del cupón de descuento
* @returns {Promise<FlowGetDiscountCouponResponse>} Respuesta de la API
* @throws {FlowGetDiscountCouponError} Si hay problemas al obtener el cupón de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
private getDiscountCoupon;
/**
* Este servicio permite la lista de cupones de descuento
* @param {FlowListDiscountCouponsRequest} data Datos para listar los cupones de descuento
* @returns {Promise<FlowListDiscountCouponsResponse>} Respuesta de la API
* @throws {FlowListDiscountCouponsError} Si hay problemas al listar los cupones de descuento
* @throws {FlowAPIError} Si hay problemas con la API de Flow
*/
private listDiscountCoupons;
}
//# sourceMappingURL=flow.coupons.d.ts.map