UNPKG

@criapix/saas-assinaturas-client

Version:

SDK JavaScript/TypeScript para o AssinaturasService - Sistema de gestão de assinaturas SaaS com processamento de pagamentos de faturas (cartão, PIX, débito), gerenciamento de métodos de pagamento, pagamentos recorrentes e análise de falhas de pagamento

222 lines 10.6 kB
import type { PaginatedResponse, CreateCustomerRequest, CustomerResponse, CreateOneTimePaymentRequest, CreateRecurringPaymentRequest, ProcessPaymentRequest, CancelPaymentRequest, PaymentListQuery, PaymentResponse, CreatePaymentAccountRequest, PaymentAccountResponse, SubscriptionStatusResponse, SimpleActiveStatusResponse, PaymentMethodInfoResponse, ProcessInvoicePaymentResponse, ProcessFirstPaymentRequest, ProcessRecurringPaymentRequest, ProcessPixPaymentRequest, ProcessDebitPaymentRequest, SubscriptionPlanResponse, CreateSubscriptionPlanRequest, UpdateSubscriptionPlanRequest, SubscriptionPlanFilterRequest, SubscriptionResponse, CreateSubscriptionRequest, UpdateSubscriptionRequest, UpdatePaymentMethodRequest, ActivateSubscriptionWithPaymentRequest, SubscriptionActivationResponse, SubscriptionFilterRequest, InvoiceResponse, InvoiceStatisticsResponse, GenerateInvoiceRequest, InvoiceFilterRequest, UpdateInvoiceStatusRequest, GenerateBatchInvoicesRequest, BatchInvoiceResponse, SubscriptionAccessResponse, CheckAccessBatchRequest, CustomerAccessBatchItem } from '../types'; export declare class AssinaturasServiceClient { private client; private authToken; constructor(baseURL: string); /** * Define o token de autenticação JWT */ setAuthorizationToken(token: string): void; /** * Cria um novo cliente */ createCustomer(request: CreateCustomerRequest): Promise<CustomerResponse>; /** * Busca um cliente por ID * @returns O cliente encontrado ou null se não existir */ getCustomer(id: string): Promise<CustomerResponse | null>; /** * Cria um novo plano de assinatura */ createSubscriptionPlan(request: CreateSubscriptionPlanRequest): Promise<SubscriptionPlanResponse>; /** * Busca um plano de assinatura por ID * @returns O plano encontrado ou null se não existir */ getSubscriptionPlan(id: string): Promise<SubscriptionPlanResponse | null>; /** * Lista planos de assinatura com filtros opcionais */ listSubscriptionPlans(filter?: SubscriptionPlanFilterRequest): Promise<PaginatedResponse<SubscriptionPlanResponse>>; /** * Atualiza um plano de assinatura existente */ updateSubscriptionPlan(id: string, request: UpdateSubscriptionPlanRequest): Promise<SubscriptionPlanResponse>; /** * Deleta um plano de assinatura */ deleteSubscriptionPlan(id: string): Promise<void>; /** * Cria uma nova assinatura */ createSubscription(request: CreateSubscriptionRequest): Promise<SubscriptionResponse>; /** * Busca uma assinatura por ID * @returns A assinatura encontrada ou null se não existir */ getSubscription(id: string): Promise<SubscriptionResponse | null>; /** * Lista assinaturas com filtros opcionais */ listSubscriptions(filter?: SubscriptionFilterRequest): Promise<PaginatedResponse<SubscriptionResponse>>; /** * Atualiza uma assinatura existente */ updateSubscription(id: string, request: UpdateSubscriptionRequest): Promise<SubscriptionResponse>; /** * Cancela uma assinatura */ cancelSubscription(id: string, cancellationReason?: string): Promise<SubscriptionResponse>; /** * Ativa uma assinatura com primeiro pagamento após período de trial * Este endpoint encontra a fatura pendente atual e processa o pagamento * @param subscriptionId - ID da assinatura * @param request - Requisição com detalhes do cartão para ativação * @returns Resultado da ativação da assinatura */ activateSubscriptionWithPayment(subscriptionId: string, request: ActivateSubscriptionWithPaymentRequest): Promise<SubscriptionActivationResponse>; /** * Atualiza o método de pagamento de uma assinatura * Pode opcionalmente processar um pagamento de fatura pendente ao atualizar o método * @param subscriptionId - ID da assinatura * @param request - Requisição com novos detalhes do cartão * @returns Resultado do processamento do pagamento (se fatura fornecida) ou confirmação de sucesso */ updatePaymentMethod(subscriptionId: string, request: UpdatePaymentMethodRequest): Promise<ProcessInvoicePaymentResponse>; /** * Busca uma fatura por ID * @returns A fatura encontrada ou null se não existir */ getInvoice(id: string): Promise<InvoiceResponse | null>; /** * Lista faturas com filtros opcionais */ listInvoices(filter?: InvoiceFilterRequest): Promise<PaginatedResponse<InvoiceResponse>>; /** * Gera uma nova fatura */ generateInvoice(request: GenerateInvoiceRequest): Promise<InvoiceResponse>; /** * Atualiza o status de uma fatura */ updateInvoiceStatus(id: string, request: UpdateInvoiceStatusRequest): Promise<InvoiceResponse>; /** * Gera faturas em lote para todas as assinaturas ativas */ generateBatchInvoices(request: GenerateBatchInvoicesRequest): Promise<BatchInvoiceResponse>; /** * Obtém estatísticas agregadas de faturas * @param startDate - Data inicial do filtro (opcional) * @param endDate - Data final do filtro (opcional) * @param condominiumId - ID do condomínio para filtrar (opcional) * @returns Estatísticas das faturas */ getInvoiceStatistics(startDate?: string, endDate?: string, condominiumId?: string): Promise<InvoiceStatisticsResponse>; /** * Processa o primeiro pagamento após período de trial com tokenização de cartão * Armazena o método de pagamento para pagamentos recorrentes futuros * @param invoiceId - ID da fatura * @param request - Requisição com token do cartão e informações do cliente * @returns Resultado do processamento do pagamento */ processFirstPayment(invoiceId: string, request: ProcessFirstPaymentRequest): Promise<ProcessInvoicePaymentResponse>; /** * Processa pagamento recorrente mensal usando método de pagamento armazenado * @param invoiceId - ID da fatura * @param request - Requisição de pagamento recorrente (vazio, apenas invoiceId na URL) * @returns Resultado do processamento do pagamento */ processRecurringPayment(invoiceId: string, request?: ProcessRecurringPaymentRequest): Promise<ProcessInvoicePaymentResponse>; /** * Processa pagamento PIX * Gera QR Code para pagamento instantâneo * @param invoiceId - ID da fatura * @param request - Requisição de pagamento PIX com informações do cliente * @returns Resultado do processamento com QR Code */ processPixPayment(invoiceId: string, request: ProcessPixPaymentRequest): Promise<ProcessInvoicePaymentResponse>; /** * Processa pagamento com cartão de débito * Pagamento imediato, sem capacidade de recorrência * @param invoiceId - ID da fatura * @param request - Requisição de pagamento com token do cartão de débito e informações do cliente * @returns Resultado do processamento do pagamento */ processDebitPayment(invoiceId: string, request: ProcessDebitPaymentRequest): Promise<ProcessInvoicePaymentResponse>; /** * Obtém o status completo da assinatura de um cliente * @returns Status completo ou null se não encontrado */ getSubscriptionStatus(customerId: string): Promise<SubscriptionStatusResponse | null>; /** * Verifica se o cliente está ativo (status simples) */ getSimpleStatus(customerId: string): Promise<SimpleActiveStatusResponse>; /** * Verifica se o cliente está inadimplente */ isDelinquent(customerId: string): Promise<boolean>; /** * Cria um pagamento avulso (one-time) */ createOneTimePayment(request: CreateOneTimePaymentRequest): Promise<PaymentResponse>; /** * Cria um pagamento recorrente */ createRecurringPayment(request: CreateRecurringPaymentRequest): Promise<PaymentResponse>; /** * Processa um pagamento com token de cartão */ processPayment(paymentId: string, request: ProcessPaymentRequest): Promise<PaymentResponse>; /** * Busca um pagamento por ID * @returns O pagamento encontrado ou null se não existir */ getPayment(paymentId: string): Promise<PaymentResponse | null>; /** * Lista pagamentos com filtros opcionais * @param query - Filtros de busca (customerId, subscriptionId, status) */ listPayments(query?: PaymentListQuery & { customerId?: string; subscriptionId?: string; }): Promise<PaymentResponse[]>; /** * Obtém o método de pagamento de uma assinatura * @param subscriptionId - ID da assinatura * @returns Informações do método de pagamento ou null se não existir */ getPaymentMethod(subscriptionId: string): Promise<PaymentMethodInfoResponse | null>; /** * Cancela um pagamento recorrente */ cancelPayment(paymentId: string, request?: CancelPaymentRequest): Promise<PaymentResponse>; /** * Cria uma nova conta de pagamento (credenciais Mercado Pago) */ createPaymentAccount(request: CreatePaymentAccountRequest): Promise<PaymentAccountResponse>; /** * Busca uma conta de pagamento por ID * @returns A conta encontrada ou null se não existir */ getPaymentAccount(accountId: string): Promise<PaymentAccountResponse | null>; /** * Busca a conta de pagamento padrão * @returns A conta padrão ou null se não existir */ getDefaultPaymentAccount(): Promise<PaymentAccountResponse | null>; /** * Lista todas as contas de pagamento */ listPaymentAccounts(): Promise<PaymentAccountResponse[]>; /** * Verifica se um cliente tem acesso ao sistema * @param customerId - ID do cliente * @returns Informações de acesso do cliente */ checkAccess(customerId: string): Promise<SubscriptionAccessResponse>; /** * Verifica acesso para um cliente específico (rota alternativa) * @param customerId - ID do cliente * @returns Informações de acesso do cliente */ checkAccessByCustomer(customerId: string): Promise<SubscriptionAccessResponse>; /** * Verifica acesso para múltiplos clientes em uma única requisição * @param request - Lista de IDs de clientes (máx 100) * @returns Lista de status de acesso para cada cliente */ checkAccessBatch(request: CheckAccessBatchRequest): Promise<CustomerAccessBatchItem[]>; } //# sourceMappingURL=AssinaturasServiceClient.d.ts.map