zatca-xml-ts
Version:
An implementation of Saudi Arabia ZATCA's E-Invoicing requirements, processes, and standards.
58 lines • 2.09 kB
TypeScript
interface ComplianceAPIInterface {
/**
* Requests a new compliance certificate and secret.
* @param csr String CSR
* @param otp String Tax payer provided OTP from Fatoora portal
* @returns issued_certificate: string, api_secret: string, or throws on error.
*/
issueCertificate: (csr: string, otp: string) => Promise<{
issued_certificate: string;
api_secret: string;
request_id: string;
}>;
/**
* Checks compliance of a signed ZATCA XML.
* @param signed_xml_string String.
* @param invoice_hash String.
* @param egs_uuid String.
* @returns Any status.
*/
checkInvoiceCompliance: (signed_xml_string: string, invoice_hash: string, egs_uuid: string) => Promise<any>;
}
interface ProductionAPIInterface {
/**
* Requests a new production certificate and secret.
* @param compliance_request_id String compliance_request_id
* @returns issued_certificate: string, api_secret: string, or throws on error.
*/
issueCertificate: (compliance_request_id: string) => Promise<{
issued_certificate: string;
api_secret: string;
request_id: string;
}>;
/**
* Report signed ZATCA XML.
* @param signed_xml_string String.
* @param invoice_hash String.
* @param egs_uuid String.
* @returns Any status.
*/
reportInvoice: (signed_xml_string: string, invoice_hash: string, egs_uuid: string) => Promise<any>;
/**
* Report signed ZATCA XML.
* @param signed_xml_string String.
* @param invoice_hash String.
* @param egs_uuid String.
* @returns Any status.
*/
clearanceInvoice: (signed_xml_string: string, invoice_hash: string, egs_uuid: string) => Promise<any>;
}
declare class API {
private env;
constructor(env: "production" | "simulation" | "development");
private getAuthHeaders;
compliance(certificate?: string, secret?: string): ComplianceAPIInterface;
production(certificate?: string, secret?: string): ProductionAPIInterface;
}
export default API;
//# sourceMappingURL=index.d.ts.map