UNPKG

pancake-client-sdk

Version:
118 lines (117 loc) 2.9 kB
import { EInvoice, CreateInvoiceRequest, UpdateInvoiceRequest, InvoiceListParams, InvoiceTemplate, InvoiceStats } from '../types/einvoice'; import { BaseResource } from './base'; export declare class EInvoiceResource extends BaseResource { /** * Get list of invoices */ list(params?: InvoiceListParams): Promise<{ data: EInvoice[]; }>; /** * Get invoice by ID */ getById(invoiceId: string): Promise<EInvoice>; /** * Create new invoice */ create(data: CreateInvoiceRequest): Promise<EInvoice>; /** * Update invoice */ update(invoiceId: string, data: UpdateInvoiceRequest): Promise<EInvoice>; /** * Sign invoice */ sign(invoiceId: string): Promise<EInvoice>; /** * Cancel invoice */ cancel(invoiceId: string, reason: string): Promise<EInvoice>; /** * Send invoice to customer */ send(invoiceId: string, data: { email?: string; send_sms?: boolean; phone_number?: string; }): Promise<EInvoice>; /** * Get invoice PDF */ getPDF(invoiceId: string, template?: string): Promise<{ download_url: string; expires_at: string; }>; /** * Get invoice XML */ getXML(invoiceId: string): Promise<{ download_url: string; expires_at: string; }>; /** * List invoice templates */ listTemplates(): Promise<{ data: InvoiceTemplate[]; }>; /** * Get invoice statistics */ getStats(params?: { from_date?: string; to_date?: string; }): Promise<InvoiceStats>; /** * Get invoices by order */ getByOrder(orderId: string): Promise<{ data: EInvoice[]; }>; /** * Validate invoice data */ validate(data: CreateInvoiceRequest): Promise<{ is_valid: boolean; errors?: { field: string; message: string; }[]; }>; /** * Get invoice numbering sequence */ getNextNumber(series: string): Promise<{ next_number: string; series: string; }>; /** * Get invoice settings */ getSettings(): Promise<{ auto_create: boolean; default_template_id: string; series_format: string; tax_code: string; company_name: string; company_address: string; }>; /** * Update invoice settings */ updateSettings(settings: { auto_create?: boolean; default_template_id?: string; series_format?: string; tax_code?: string; company_name?: string; company_address?: string; }): Promise<{ auto_create: boolean; default_template_id: string; series_format: string; tax_code: string; company_name: string; company_address: string; }>; }