UNPKG

fiscalapi

Version:

SDK de Node.js para FiscalAPI

55 lines (54 loc) 2.58 kB
import { IFiscalapiHttpClient } from '../http/fiscalapi-http-client.interface'; import { ApiResponse } from '../common/api-response'; import { FileResponse } from '../common/file-response'; import { BaseFiscalapiService } from './base-fiscalapi-service'; import { IInvoiceService } from '../abstractions/invoice-service.interface'; import { Invoice, CancelInvoiceRequest, CancelInvoiceResponse, CreatePdfRequest, SendInvoiceRequest, InvoiceStatusRequest, InvoiceStatusResponse } from '../models/invoice'; /** * Implementación del servicio de facturas */ export declare class InvoiceService extends BaseFiscalapiService<Invoice> implements IInvoiceService { private readonly INCOME_ENDPOINT; private readonly CREDIT_NOTE_ENDPOINT; private readonly PAYMENT_ENDPOINT; /** * Crea una nueva instancia del servicio de facturas * @param {IFiscalapiHttpClient} httpClient - Cliente HTTP * @param {string} apiVersion - Versión de la API */ constructor(httpClient: IFiscalapiHttpClient, apiVersion: string); /** * @inheritdoc */ create(requestModel: Invoice): Promise<ApiResponse<Invoice>>; /** * Cancela una factura * @param {CancelInvoiceRequest} request - Solicitud para cancelar factura * @returns {Promise<ApiResponse<CancelInvoiceResponse>>} Respuesta de la cancelación */ cancel(request: CancelInvoiceRequest): Promise<ApiResponse<CancelInvoiceResponse>>; /** * Obtiene el PDF de una factura * @param {CreatePdfRequest} request - Solicitud para crear PDF * @returns {Promise<ApiResponse<FileResponse>>} Respuesta con el archivo PDF */ getPdf(request: CreatePdfRequest): Promise<ApiResponse<FileResponse>>; /** * Obtiene el XML de una factura * @param {string} id - ID de la factura * @returns {Promise<ApiResponse<FileResponse>>} Respuesta con el archivo XML */ getXml(id: string): Promise<ApiResponse<FileResponse>>; /** * Envía una factura por correo electrónico * @param {SendInvoiceRequest} request - Solicitud para enviar factura * @returns {Promise<ApiResponse<boolean>>} Resultado de la operación */ send(request: SendInvoiceRequest): Promise<ApiResponse<boolean>>; /** * Obtiene el estado de una factura * @param {InvoiceStatusRequest} request - Solicitud para consultar estado * @returns {Promise<ApiResponse<InvoiceStatusResponse>>} Respuesta con el estado de la factura */ getStatus(request: InvoiceStatusRequest): Promise<ApiResponse<InvoiceStatusResponse>>; }