kkmserver-js
Version:
kkmserver library
312 lines (307 loc) • 8.91 kB
TypeScript
declare enum Commands {
GetDataKKT = "GetDataKKT",
RegisterCheck = "RegisterCheck",
OpenShift = "OpenShift",
CloseShift = "CloseShift",
XReport = "XReport",
GetDataCheck = "GetDataCheck",
GetRezult = "GetRezult",
DepositingCash = "DepositingCash",
PaymentCash = "PaymentCash"
}
declare enum CommandStatus {
Ok = 0,
Run = 1,
Error = 2,
NotFound = 3,
NotRun = 4
}
declare enum ShiftStatus {
Closed = 1,
Opened = 2,
Expired = 3
}
declare enum TypeCheck {
Sale = 0,
Refund = 1,
SalesCorrection = 2,
RefundCorrection = 3
}
declare enum TaxVariant {
General = 0,
SimplifiedIncome = 1,
SimplifiedIncomeMinusCost = 2,
UnifiedTaxOnImputedIncome = 3,
UnifiedAgriculturalTax = 4,
PatentSystem = 5
}
declare enum CorrectionType {
Self = 0,//самостоятельно
Prescription = 1
}
declare enum SignMethodCalculation {
FullPrepayment = 1,
PartialPrepayment = 2,
Advance = 3,
FullPayment = 4,
PartialPaymentAndCredit = 5,
TransferCredit = 6,
PaymentCredit = 7
}
declare enum SignCalculationObject {
Product = 1,
ExciseProduct = 2,
Work = 3,
Service = 4,
RateGambling = 5,
WinGambling = 6,
LotteryTicket = 7,
LotteryWin = 8,
ProvideRight = 9,
Payment = 10,
AgentReward = 11,
CompositeCalculationObject = 12,
OtherCalculationObject = 13,
PropertyRight = 14,
NonOperatingIncome = 15,
InsuranceContributions = 16,
TradeFee = 17,
ResortFee = 18,
Deposit = 19,
Expense = 20,
PensionInsuranceContributionsIP = 21,
PensionInsuranceContributions = 22,
MedicalInsuranceContributionsIP = 23,
MedicalInsuranceContributions = 24,
SocialInsuranceContributions = 25,
CasinoPayment = 26
}
declare enum AgentSign {
BankPaymentAgent = 0,
BankPaymentSubagent = 1,
PaymentAgent = 2,
PaymentSubagent = 3,
Attorney = 4,
Commissioner = 5,
Agent = 6
}
interface DefaultData {
InnKkm?: string;
TaxVariant?: TaxVariant;
NumDevice?: number;
IdCommand?: string;
Timeout?: number;
}
interface CashierData {
CashierName?: string;
CashierVatin?: string;
}
interface GetDataKKTBody extends DefaultData {
}
interface OpenShiftBody extends DefaultData, CashierData {
NotPrint?: boolean;
IdDevice?: string;
}
interface CloseShiftBody extends DefaultData, CashierData {
NotPrint?: boolean;
IdDevice?: string;
}
interface XReportBody extends DefaultData {
}
interface GetDataCheckBody extends DefaultData {
FiscalNumber: number;
NumberCopies?: string;
}
interface RegisterCheckBody extends DefaultData, CashierData {
TypeCheck: TypeCheck;
PayByProcessing: boolean | null;
PrintSlipAfterCheck: boolean;
PrintSlipForCashier: boolean;
CheckStrings: CheckString[];
Cash: number;
ElectronicPayment: number;
AdvancePayment: number;
Credit: number;
NumDeviceByProcessing: number | null;
ReceiptNumber?: string;
CashProvision?: number;
ClientAddress?: string;
ClientInfo?: string;
ClientINN?: string;
IsFiscalCheck?: boolean;
NotPrint?: boolean;
NumberCopies?: number;
UserAttribute?: UserAttribute;
AdditionalAttribute?: string;
RRNCode?: string;
AuthorizationCode?: string;
CorrectionType?: CorrectionType;
CorrectionBaseDate?: string;
CorrectionBaseNumber?: string;
SenderEmail?: string;
AddressSettle?: string;
PlaceMarket?: string;
KktNumber?: string;
}
interface UserAttribute {
Name: string;
Value: string;
}
interface CheckString {
PrintText?: PrintText;
PrintImage?: PrintImage;
Register?: Register;
BarCode?: BarCode;
}
interface PrintText {
Text: string;
Font?: number;
Intensity?: number;
}
interface PrintImage {
Image: string;
}
interface Register {
Name: string;
Quantity: number;
Price: number;
Amount: number;
Department: number;
Tax: number;
SignMethodCalculation: SignMethodCalculation;
SignCalculationObject: SignCalculationObject;
MeasureOfQuantity?: number;
PackageQuantity?: number | null;
CountryOfOrigin?: string;
CustomsDeclaration?: string;
ExciseAmount?: number | null;
GoodCodeData?: GoodCodeData;
AgentSign?: AgentSign;
AgentData?: AgentData;
PurveyorData?: PurveyorData;
AdditionalAttribute?: string;
MeasurementUnit?: string;
}
interface GoodCodeData {
BarCode: string;
ContainsSerialNumber: boolean;
AcceptOnBad: boolean;
}
interface AgentData {
PayingAgentOperation: string;
PayingAgentPhone: string;
ReceivePaymentsOperatorPhone: string;
MoneyTransferOperatorPhone: string;
MoneyTransferOperatorName: string;
MoneyTransferOperatorAddress: string;
MoneyTransferOperatorVATIN: string;
}
interface PurveyorData {
PurveyorPhone: string;
PurveyorName: string;
PurveyorVATIN: string;
}
interface BarCode {
BarcodeType: string;
Barcode: string;
}
interface CommandBody {
Command: Commands;
}
interface PaymentCashBody extends DefaultData, CashierData {
Amount: number;
}
interface DepositingCashBody extends DefaultData, CashierData {
Amount: number;
}
type Bodies = GetDataKKTBody | OpenShiftBody | CloseShiftBody | XReportBody | RegisterCheckBody | GetDataCheckBody | PaymentCashBody | DepositingCashBody;
interface KKMClientSettings {
url: string;
innKkm: string;
kktNumber: string;
cashierName: string;
cashierVatin: string;
numDevice?: number;
taxVariant?: TaxVariant;
commandTimeout?: number;
placeMarket?: string;
addressSettle?: string;
commandResultTimeout?: number;
}
declare class KKMClient {
private http;
private executePath;
url: string;
innKkm: string;
kktNumber: string;
cashierName: string;
cashierVatin: string;
numDevice?: number;
taxVariant?: TaxVariant;
commandTimeout?: number;
placeMarket?: string;
addressSettle?: string;
commandResultTimeout?: number;
constructor(settings: KKMClientSettings);
/**
* Генерирует GUID
*/
generateUUID(): string;
/**
* Получает параметры для чека по умолчанию
*/
protected getDefaultCheckParams(): object;
/**
* Отправляет комманду на ККМ
* @param {Bodies} commandBody - Идентификатор задания
*/
sendCommand(commandBody: Bodies): Promise<void>;
/**
* Проверяет статуса ранее отданной команды
* @param {String} uuid - Идентификатор задания
*/
getCommandResult(uuid: string): Promise<void>;
}
declare class CommandBodies extends KKMClient {
constructor(kkmClient?: KKMClient);
/**
* Тело получения текущего состояние ККТ
*/
getDataKKTBody(body: GetDataKKTBody): GetDataKKTBody & CommandBody;
/**
* Тело открытия смены
* @param {OpenShiftBody} body - Тело запроса
*/
openShiftBody(body: OpenShiftBody): OpenShiftBody & CommandBody;
/**
* Тело закрытия смены
* @param {CloseShiftBody} body - Тело запроса
*/
closeShiftBody(body: CloseShiftBody): CloseShiftBody & CommandBody;
/**
* Тело печати X отчета
* @param {XReportBody} body - Тело запроса
*/
xReportBody(body: XReportBody): XReportBody & CommandBody;
/**
* Тело получения данных чека
* @param {GetDataCheckBody} body - Тело запроса
*/
getDataCheckBody(body: GetDataCheckBody): GetDataCheckBody & CommandBody;
/**
* Тело печати чека
* @param {RegisterCheckBody} body - Тело запроса
*/
registerCheckBody(body: RegisterCheckBody): RegisterCheckBody & CommandBody;
/**
* Тело печати чека изъятия денежных средств
* @param {PaymentCashBody} body - Тело запроса
*/
paymentCashBody(body: PaymentCashBody): PaymentCashBody & CommandBody;
/**
* Тело печати чека внесения денежных средств
* @param {DepositingCashBody} body - Тело запроса
*/
depositingCashBody(body: DepositingCashBody): DepositingCashBody & CommandBody;
}
export { AgentSign, type Bodies, type CheckString, type CloseShiftBody, CommandBodies, type CommandBody, CommandStatus, Commands, CorrectionType, type DepositingCashBody, type GetDataCheckBody, type GetDataKKTBody, KKMClient, type OpenShiftBody, type PaymentCashBody, type RegisterCheckBody, ShiftStatus, SignCalculationObject, SignMethodCalculation, TaxVariant, TypeCheck, type XReportBody };