pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
118 lines (117 loc) • 2.9 kB
TypeScript
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;
}>;
}