UNPKG

@nicotordev/flowcl-pagos

Version:

SDK en TypeScript para integrar pagos con la API de Flow.cl de manera sencilla y segura.

113 lines 7.69 kB
import { FlowCreateAdditionalSubscriptionItemRequest, FlowCreateAdditionalSubscriptionItemResponse, FlowDeleteAdditionalSubscriptionItemResponse, FlowEditAdditionalSubscriptionItemRequest, FlowEditAdditionalSubscriptionItemResponse, FlowGetAdditionalSubscriptionItemResponse, FlowListAdditionalSubscriptionItemRequest, FlowListAdditionalSubscriptionItemResponse } from '../types/flow'; /** * Permite asociar items adicionales a suscripciones. */ export default class FlowSubscriptionsItems { private apiKey; private secretKey; private axiosInstance; /** * Este servicio permite obtener los datos de un item adicional de suscripción * @param {string} itemId ID del item adicional de suscripción. * @returns {Promise<getAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowCreateAdditionalSubscriptionItemError} Si hay problemas al obtener la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ get: (itemId: string) => Promise<FlowGetAdditionalSubscriptionItemResponse>; /** * Este servicio permite crear un nuevo item adicional de suscripción * @param {FlowCreateAdditionalSubscriptionItemRequest} data Datos de la suscripción adicional. * @returns {Promise<FlowCreateAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowCreateAdditionalSubscriptionItemError} Si hay problemas al crear la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ create: (data: FlowCreateAdditionalSubscriptionItemRequest) => Promise<FlowCreateAdditionalSubscriptionItemResponse>; /** * Este servicio permite editar un item adicional de suscripción. Se puede editar el nombre, tipo de ajuste, monto y definir si aplica para las suscripciones actuales o solo las futuras. * @param {FlowEditAdditionalSubscriptionItemRequest} data Datos de la suscripción adicional. * @returns {Promise<FlowEditAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowEditAdditionalSubscriptionItemError} Si hay problemas al editar la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ edit: (data: FlowEditAdditionalSubscriptionItemRequest) => Promise<FlowEditAdditionalSubscriptionItemResponse>; /** * Este servicio permite eliminar un item adicional de suscripción. Eliminar un item adicional de suscripción posee 2 tipos de eliminación: solo para suscripciones futuras o para todas las suscripciones que actualmente poseen asociado este item. * @param {string} itemId ID del item adicional de suscripción. * @param {'to_future' | 'all'} changeType Tipo de eliminación. * @returns {Promise<FlowDeleteAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowDeleteAdditionalSubscriptionItemError} Si hay problemas al eliminar la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ delete: (itemId: string, changeType: 'to_future' | 'all') => Promise<FlowDeleteAdditionalSubscriptionItemResponse>; /** * Este servicio permite la lista de items adicionales de suscripción * @param {FlowListAdditionalSubscriptionItemRequest} data Datos de la suscripción adicional. * @returns {Promise<FlowListAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowListAdditionalSubscriptionItemError} Si hay problemas al listar la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. * */ list: (data: FlowListAdditionalSubscriptionItemRequest) => Promise<FlowListAdditionalSubscriptionItemResponse>; /** * Constructor de la clase FlowClient. * @param {string} apiKey Clave de API proporcionada por Flow. * @param {string} secretKey Clave secreta proporcionada por Flow. * @param {string} 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 nuevo item adicional de suscripción * @param {FlowCreateAdditionalSubscriptionItemRequest} data Datos de la suscripción adicional. * @returns {Promise<FlowCreateAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowCreateAdditionalSubscriptionItemError} Si hay problemas al crear la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ createAdditionalSubscriptionItem(data: FlowCreateAdditionalSubscriptionItemRequest): Promise<FlowCreateAdditionalSubscriptionItemResponse>; /** * Este servicio permite obtener los datos de un item adicional de suscripción * @param {string} itemId ID del item adicional de suscripción. * @returns {Promise<getAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowCreateAdditionalSubscriptionItemError} Si hay problemas al obtener la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ private getAdditionalSubscriptionItem; /** * Este servicio permite editar un item adicional de suscripción. Se puede editar el nombre, tipo de ajuste, monto y definir si aplica para las suscripciones actuales o solo las futuras. * @param {FlowEditAdditionalSubscriptionItemRequest} data Datos de la suscripción adicional. * @returns {Promise<FlowEditAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowEditAdditionalSubscriptionItemError} Si hay problemas al editar la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ private editAdditionalSubscriptionItem; /** * Este servicio permite eliminar un item adicional de suscripción. Eliminar un item adicional de suscripción posee 2 tipos de eliminación: solo para suscripciones futuras o para todas las suscripciones que actualmente poseen asociado este item. * @param {string} itemId ID del item adicional de suscripción. * @param {'to_future' | 'all'} changeType Tipo de eliminación. * @returns {Promise<FlowDeleteAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowDeleteAdditionalSubscriptionItemError} Si hay problemas al eliminar la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. */ private deleteAdditionalSubscriptionItem; /** * Este servicio permite la lista de items adicionales de suscripción * @param {FlowListAdditionalSubscriptionItemRequest} data Datos de la suscripción adicional. * @returns {Promise<FlowListAdditionalSubscriptionItemResponse>} Respuesta de la API. * @throws {FlowListAdditionalSubscriptionItemError} Si hay problemas al listar la suscripción adicional. * @throws {FlowAPIError} Si hay problemas con la API de Flow. * */ private listAdditionalSubscriptionItem; } //# sourceMappingURL=flow.subscriptionsItems.d.ts.map