fiscalapi
Version:
SDK de Node.js para FiscalAPI
55 lines (54 loc) • 2.58 kB
TypeScript
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>>;
}