nav-connect
Version:
Nav Online Invoice client
46 lines (45 loc) • 1.49 kB
TypeScript
import { DateTimeIntervalParamType, InvoiceDirectionType, InvoiceNumberQueryType, QueryInvoiceDataResponse, QueryInvoiceDigestResponse, SoftwareType } from "./osaTypes/invoiceApiTypes";
interface technicalUser {
user: string;
password: string;
signatureKey: string;
exchangeKey: string;
}
export interface NavApiConfig {
testSystem: boolean;
taxNumber: string;
technicalUser: technicalUser;
software: SoftwareType;
}
export declare enum XsdSchema {
InvoiceBase = "invoiceBase",
InvoiceApi = "invoiceApi",
Common = "common",
Data = "data"
}
export { xmlParser } from "./xmlParser";
declare class NavConnect {
private _config;
private _requestCounter;
private _schemaDir;
private _baseUrl;
private _builder;
private _requestIdPrefix;
private xsdDocs;
constructor(config: NavApiConfig);
private addNamespacePrefix;
private getRequestId;
private getTimestamp;
private sha512;
private sha3_512;
private formatNavTimestampForHash;
private createBasicOnlineInvoiceRequest;
generateAndValidateXml(requestType: string, data: any, schemaType: XsdSchema): Promise<string>;
queryInvoiceDigest(params: {
page: number;
insDate: DateTimeIntervalParamType;
invoiceDirectionType: InvoiceDirectionType;
}): Promise<QueryInvoiceDigestResponse>;
queryInvoiceData(params: InvoiceNumberQueryType): Promise<QueryInvoiceDataResponse>;
}
export default NavConnect;