@muhammedaksam/ayyildiz-node 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +20 -0
- package/README.md +314 -0
- package/dist/AxiosHttpClient.d.ts +16 -0
- package/dist/AxiosHttpClient.d.ts.map +1 -0
- package/dist/AxiosHttpClient.js +57 -0
- package/dist/AxiosHttpClient.js.map +1 -0
- package/dist/AyyildizClient.d.ts +35 -0
- package/dist/AyyildizClient.d.ts.map +1 -0
- package/dist/AyyildizClient.js +61 -0
- package/dist/AyyildizClient.js.map +1 -0
- package/dist/IHttpClient.d.ts +8 -0
- package/dist/IHttpClient.d.ts.map +1 -0
- package/dist/IHttpClient.js +3 -0
- package/dist/IHttpClient.js.map +1 -0
- package/dist/VersionInfo.d.ts +14 -0
- package/dist/VersionInfo.d.ts.map +1 -0
- package/dist/VersionInfo.js +26 -0
- package/dist/VersionInfo.js.map +1 -0
- package/dist/__tests__/AyyildizClient.test.d.ts +2 -0
- package/dist/__tests__/AyyildizClient.test.d.ts.map +1 -0
- package/dist/__tests__/AyyildizClient.test.js +38 -0
- package/dist/__tests__/AyyildizClient.test.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/models/SmsConfig.d.ts +7 -0
- package/dist/models/SmsConfig.d.ts.map +1 -0
- package/dist/models/SmsConfig.js +3 -0
- package/dist/models/SmsConfig.js.map +1 -0
- package/dist/models/SmsReport.d.ts +18 -0
- package/dist/models/SmsReport.d.ts.map +1 -0
- package/dist/models/SmsReport.js +3 -0
- package/dist/models/SmsReport.js.map +1 -0
- package/dist/responses/AccountResponse.d.ts +7 -0
- package/dist/responses/AccountResponse.d.ts.map +1 -0
- package/dist/responses/AccountResponse.js +32 -0
- package/dist/responses/AccountResponse.js.map +1 -0
- package/dist/responses/BaseResponse.d.ts +17 -0
- package/dist/responses/BaseResponse.d.ts.map +1 -0
- package/dist/responses/BaseResponse.js +86 -0
- package/dist/responses/BaseResponse.js.map +1 -0
- package/dist/responses/IResponse.d.ts +8 -0
- package/dist/responses/IResponse.d.ts.map +1 -0
- package/dist/responses/IResponse.js +3 -0
- package/dist/responses/IResponse.js.map +1 -0
- package/dist/responses/ReportResponse.d.ts +7 -0
- package/dist/responses/ReportResponse.d.ts.map +1 -0
- package/dist/responses/ReportResponse.js +56 -0
- package/dist/responses/ReportResponse.js.map +1 -0
- package/dist/responses/SenderResponse.d.ts +6 -0
- package/dist/responses/SenderResponse.d.ts.map +1 -0
- package/dist/responses/SenderResponse.js +25 -0
- package/dist/responses/SenderResponse.js.map +1 -0
- package/dist/responses/SmsResponse.d.ts +6 -0
- package/dist/responses/SmsResponse.d.ts.map +1 -0
- package/dist/responses/SmsResponse.js +27 -0
- package/dist/responses/SmsResponse.js.map +1 -0
- package/dist/services/AccountService.d.ts +15 -0
- package/dist/services/AccountService.d.ts.map +1 -0
- package/dist/services/AccountService.js +35 -0
- package/dist/services/AccountService.js.map +1 -0
- package/dist/services/ReportService.d.ts +36 -0
- package/dist/services/ReportService.d.ts.map +1 -0
- package/dist/services/ReportService.js +94 -0
- package/dist/services/ReportService.js.map +1 -0
- package/dist/services/SenderService.d.ts +15 -0
- package/dist/services/SenderService.d.ts.map +1 -0
- package/dist/services/SenderService.js +37 -0
- package/dist/services/SenderService.js.map +1 -0
- package/dist/services/SmsService.d.ts +61 -0
- package/dist/services/SmsService.d.ts.map +1 -0
- package/dist/services/SmsService.js +171 -0
- package/dist/services/SmsService.js.map +1 -0
- package/package.json +62 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionInfo = exports.SmsResponse = exports.SenderResponse = exports.ReportResponse = exports.BaseResponse = exports.AccountResponse = exports.SmsType = exports.SmsService = exports.SenderService = exports.ReportService = exports.AccountService = exports.AyyildizClient = void 0;
|
|
4
|
+
// Main client
|
|
5
|
+
var AyyildizClient_1 = require("./AyyildizClient");
|
|
6
|
+
Object.defineProperty(exports, "AyyildizClient", { enumerable: true, get: function () { return AyyildizClient_1.AyyildizClient; } });
|
|
7
|
+
// Services
|
|
8
|
+
var AccountService_1 = require("./services/AccountService");
|
|
9
|
+
Object.defineProperty(exports, "AccountService", { enumerable: true, get: function () { return AccountService_1.AccountService; } });
|
|
10
|
+
var ReportService_1 = require("./services/ReportService");
|
|
11
|
+
Object.defineProperty(exports, "ReportService", { enumerable: true, get: function () { return ReportService_1.ReportService; } });
|
|
12
|
+
var SenderService_1 = require("./services/SenderService");
|
|
13
|
+
Object.defineProperty(exports, "SenderService", { enumerable: true, get: function () { return SenderService_1.SenderService; } });
|
|
14
|
+
var SmsService_1 = require("./services/SmsService");
|
|
15
|
+
Object.defineProperty(exports, "SmsService", { enumerable: true, get: function () { return SmsService_1.SmsService; } });
|
|
16
|
+
Object.defineProperty(exports, "SmsType", { enumerable: true, get: function () { return SmsService_1.SmsType; } });
|
|
17
|
+
// Responses
|
|
18
|
+
var AccountResponse_1 = require("./responses/AccountResponse");
|
|
19
|
+
Object.defineProperty(exports, "AccountResponse", { enumerable: true, get: function () { return AccountResponse_1.AccountResponse; } });
|
|
20
|
+
var BaseResponse_1 = require("./responses/BaseResponse");
|
|
21
|
+
Object.defineProperty(exports, "BaseResponse", { enumerable: true, get: function () { return BaseResponse_1.BaseResponse; } });
|
|
22
|
+
var ReportResponse_1 = require("./responses/ReportResponse");
|
|
23
|
+
Object.defineProperty(exports, "ReportResponse", { enumerable: true, get: function () { return ReportResponse_1.ReportResponse; } });
|
|
24
|
+
var SenderResponse_1 = require("./responses/SenderResponse");
|
|
25
|
+
Object.defineProperty(exports, "SenderResponse", { enumerable: true, get: function () { return SenderResponse_1.SenderResponse; } });
|
|
26
|
+
var SmsResponse_1 = require("./responses/SmsResponse");
|
|
27
|
+
Object.defineProperty(exports, "SmsResponse", { enumerable: true, get: function () { return SmsResponse_1.SmsResponse; } });
|
|
28
|
+
// Version info
|
|
29
|
+
var VersionInfo_1 = require("./VersionInfo");
|
|
30
|
+
Object.defineProperty(exports, "VersionInfo", { enumerable: true, get: function () { return VersionInfo_1.VersionInfo; } });
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,WAAW;AACX,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,oDAA4D;AAAnD,wGAAA,UAAU,OAAA;AAAE,qGAAA,OAAO,OAAA;AAE5B,YAAY;AACZ,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AACxB,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AACrB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,uDAAsD;AAA7C,0GAAA,WAAW,OAAA;AAUpB,eAAe;AACf,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmsConfig.d.ts","sourceRoot":"","sources":["../../src/models/SmsConfig.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmsConfig.js","sourceRoot":"","sources":["../../src/models/SmsConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface SmsReport {
|
|
2
|
+
messageId: string;
|
|
3
|
+
messageTime: string;
|
|
4
|
+
version: string;
|
|
5
|
+
message: string;
|
|
6
|
+
total: number;
|
|
7
|
+
sent: number;
|
|
8
|
+
pending: number;
|
|
9
|
+
systemOut: number;
|
|
10
|
+
timeout: number;
|
|
11
|
+
type: string;
|
|
12
|
+
status: string;
|
|
13
|
+
statusCode: string;
|
|
14
|
+
startDate: string;
|
|
15
|
+
endDate: string;
|
|
16
|
+
originator: string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=SmsReport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmsReport.d.ts","sourceRoot":"","sources":["../../src/models/SmsReport.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmsReport.js","sourceRoot":"","sources":["../../src/models/SmsReport.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountResponse.d.ts","sourceRoot":"","sources":["../../src/responses/AccountResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,YAAY;IACxC,SAAS,IAAI,MAAM,GAAG,IAAI;IAQ1B,aAAa,IAAI,MAAM,GAAG,IAAI;IAU9B,MAAM,IAAI,MAAM;CAUxB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountResponse = void 0;
|
|
4
|
+
const BaseResponse_1 = require("./BaseResponse");
|
|
5
|
+
class AccountResponse extends BaseResponse_1.BaseResponse {
|
|
6
|
+
getCredit() {
|
|
7
|
+
if (this.rawResponse && /^\d+$/.test(this.rawResponse.trim())) {
|
|
8
|
+
return parseInt(this.rawResponse.trim(), 10);
|
|
9
|
+
}
|
|
10
|
+
return this.data?.credit || null;
|
|
11
|
+
}
|
|
12
|
+
getExpiryDate() {
|
|
13
|
+
// The second line usually contains expiry date in YYYYMMDD format
|
|
14
|
+
const lines = this.rawResponse.split('\n');
|
|
15
|
+
if (lines.length > 1 && /^\d{8}$/.test(lines[1].trim())) {
|
|
16
|
+
return lines[1].trim();
|
|
17
|
+
}
|
|
18
|
+
return this.data?.expiryDate || null;
|
|
19
|
+
}
|
|
20
|
+
toJSON() {
|
|
21
|
+
return {
|
|
22
|
+
success: this.ok(),
|
|
23
|
+
statusCode: this.getStatusCode(),
|
|
24
|
+
message: this.getMessage(),
|
|
25
|
+
credit: this.getCredit(),
|
|
26
|
+
expiryDate: this.getExpiryDate(),
|
|
27
|
+
errorCode: this.getErrorCode()
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.AccountResponse = AccountResponse;
|
|
32
|
+
//# sourceMappingURL=AccountResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountResponse.js","sourceRoot":"","sources":["../../src/responses/AccountResponse.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,MAAa,eAAgB,SAAQ,2BAAY;IACxC,SAAS;QACd,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;IACnC,CAAC;IAEM,aAAa;QAClB,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IACvC,CAAC;IAEM,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;YACxB,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF;AA7BD,0CA6BC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IResponse } from './IResponse';
|
|
2
|
+
export declare class BaseResponse implements IResponse {
|
|
3
|
+
protected data: any;
|
|
4
|
+
protected statusCode: number;
|
|
5
|
+
protected rawResponse: string;
|
|
6
|
+
constructor(data: any, statusCode: number);
|
|
7
|
+
protected parseResponse(data: any): any;
|
|
8
|
+
protected customizeData(): void;
|
|
9
|
+
ok(): boolean;
|
|
10
|
+
hasError(): boolean;
|
|
11
|
+
getMessage(): string;
|
|
12
|
+
getErrorMessage(): string;
|
|
13
|
+
getStatusCode(): number;
|
|
14
|
+
getErrorCode(): string;
|
|
15
|
+
toJSON(): object;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=BaseResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseResponse.d.ts","sourceRoot":"","sources":["../../src/responses/BaseResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,YAAa,YAAW,SAAS;IAC5C,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;IAOzC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IAoBvC,SAAS,CAAC,aAAa,IAAI,IAAI;IAIxB,EAAE,IAAI,OAAO;IAIb,QAAQ,IAAI,OAAO;IAQnB,UAAU,IAAI,MAAM;IAOpB,eAAe,IAAI,MAAM;IAqBzB,aAAa,IAAI,MAAM;IAIvB,YAAY,IAAI,MAAM;IAatB,MAAM,IAAI,MAAM;CAQxB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseResponse = void 0;
|
|
4
|
+
class BaseResponse {
|
|
5
|
+
constructor(data, statusCode) {
|
|
6
|
+
this.rawResponse = typeof data === 'string' ? data : JSON.stringify(data);
|
|
7
|
+
this.statusCode = statusCode;
|
|
8
|
+
this.data = this.parseResponse(data);
|
|
9
|
+
this.customizeData();
|
|
10
|
+
}
|
|
11
|
+
parseResponse(data) {
|
|
12
|
+
// Handle different response formats from Ayyıldız API
|
|
13
|
+
if (typeof data === 'string') {
|
|
14
|
+
// Check if it's an ID response like "ID:123456"
|
|
15
|
+
if (data.startsWith('ID:')) {
|
|
16
|
+
return { id: data.substring(3), success: true };
|
|
17
|
+
}
|
|
18
|
+
// Check for numeric error codes
|
|
19
|
+
if (/^\d{2,3}$/.test(data.trim())) {
|
|
20
|
+
return { errorCode: data.trim(), success: false };
|
|
21
|
+
}
|
|
22
|
+
// Try to parse as XML or other format
|
|
23
|
+
return { message: data, success: this.statusCode === 200 };
|
|
24
|
+
}
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
customizeData() {
|
|
28
|
+
// Override this method in child classes if needed
|
|
29
|
+
}
|
|
30
|
+
ok() {
|
|
31
|
+
return this.statusCode === 200 && !this.hasError();
|
|
32
|
+
}
|
|
33
|
+
hasError() {
|
|
34
|
+
return (this.data?.errorCode !== undefined ||
|
|
35
|
+
(typeof this.data?.success === 'boolean' && !this.data.success) ||
|
|
36
|
+
/^\d{2,3}$/.test(this.rawResponse.trim()));
|
|
37
|
+
}
|
|
38
|
+
getMessage() {
|
|
39
|
+
if (this.hasError()) {
|
|
40
|
+
return this.getErrorMessage();
|
|
41
|
+
}
|
|
42
|
+
return this.data?.message || this.rawResponse || '';
|
|
43
|
+
}
|
|
44
|
+
getErrorMessage() {
|
|
45
|
+
const errorCode = this.getErrorCode();
|
|
46
|
+
const errorMessages = {
|
|
47
|
+
'00': 'Kullanıcı Bilgileri Boş',
|
|
48
|
+
'01': 'Kullanıcı Bilgileri Hatalı',
|
|
49
|
+
'02': 'Hesap Kapalı',
|
|
50
|
+
'03': 'Kontör Hatası',
|
|
51
|
+
'04': 'Bayi Kodunuz Hatalı',
|
|
52
|
+
'05': 'Originator Bilginiz Hatalı',
|
|
53
|
+
'06': 'Yapılan İşlem İçin Yetkiniz Yok',
|
|
54
|
+
'10': 'Geçersiz IP Adresi',
|
|
55
|
+
'14': 'Mesaj Metni Girilmemiş',
|
|
56
|
+
'15': 'GSM Numarası Girilmemiş',
|
|
57
|
+
'20': 'Rapor Hazır Değil',
|
|
58
|
+
'27': 'Aylık Atım Limitiniz Yetersiz',
|
|
59
|
+
'100': 'XML Hatası'
|
|
60
|
+
};
|
|
61
|
+
return errorMessages[errorCode] || `Bilinmeyen hata kodu: ${errorCode}`;
|
|
62
|
+
}
|
|
63
|
+
getStatusCode() {
|
|
64
|
+
return this.statusCode;
|
|
65
|
+
}
|
|
66
|
+
getErrorCode() {
|
|
67
|
+
if (this.data?.errorCode) {
|
|
68
|
+
return this.data.errorCode;
|
|
69
|
+
}
|
|
70
|
+
// Check if raw response is an error code
|
|
71
|
+
if (/^\d{2,3}$/.test(this.rawResponse.trim())) {
|
|
72
|
+
return this.rawResponse.trim();
|
|
73
|
+
}
|
|
74
|
+
return '';
|
|
75
|
+
}
|
|
76
|
+
toJSON() {
|
|
77
|
+
return {
|
|
78
|
+
success: this.ok(),
|
|
79
|
+
statusCode: this.getStatusCode(),
|
|
80
|
+
message: this.getMessage(),
|
|
81
|
+
errorCode: this.getErrorCode()
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.BaseResponse = BaseResponse;
|
|
86
|
+
//# sourceMappingURL=BaseResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseResponse.js","sourceRoot":"","sources":["../../src/responses/BaseResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResponse.d.ts","sourceRoot":"","sources":["../../src/responses/IResponse.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,IAAI,OAAO,CAAC;IACd,UAAU,IAAI,MAAM,CAAC;IACrB,aAAa,IAAI,MAAM,CAAC;IACxB,YAAY,IAAI,MAAM,CAAC;IACvB,MAAM,IAAI,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IResponse.js","sourceRoot":"","sources":["../../src/responses/IResponse.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportResponse.d.ts","sourceRoot":"","sources":["../../src/responses/ReportResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,cAAe,SAAQ,YAAY;IACvC,UAAU,IAAI,GAAG,EAAE;IAa1B,OAAO,CAAC,oBAAoB;IAgCrB,MAAM,IAAI,MAAM;CASxB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReportResponse = void 0;
|
|
4
|
+
const BaseResponse_1 = require("./BaseResponse");
|
|
5
|
+
class ReportResponse extends BaseResponse_1.BaseResponse {
|
|
6
|
+
getReports() {
|
|
7
|
+
if (this.data?.reports) {
|
|
8
|
+
return this.data.reports;
|
|
9
|
+
}
|
|
10
|
+
// Parse delimited report data
|
|
11
|
+
if (this.rawResponse && this.rawResponse.includes('||')) {
|
|
12
|
+
return this.parseDelimitedReport(this.rawResponse);
|
|
13
|
+
}
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
parseDelimitedReport(response) {
|
|
17
|
+
const lines = response.split('\n').filter(line => line.trim());
|
|
18
|
+
const reports = [];
|
|
19
|
+
for (const line of lines) {
|
|
20
|
+
if (line.includes('||')) {
|
|
21
|
+
const parts = line.split('||');
|
|
22
|
+
if (parts.length >= 14) {
|
|
23
|
+
reports.push({
|
|
24
|
+
messageId: parts[0]?.replace(/"/g, ''),
|
|
25
|
+
messageTime: parts[1]?.replace(/"/g, ''),
|
|
26
|
+
version: parts[2]?.replace(/"/g, ''),
|
|
27
|
+
message: parts[3]?.replace(/"/g, ''),
|
|
28
|
+
total: parseInt(parts[4]?.replace(/"/g, '') || '0'),
|
|
29
|
+
sent: parseInt(parts[5]?.replace(/"/g, '') || '0'),
|
|
30
|
+
pending: parseInt(parts[6]?.replace(/"/g, '') || '0'),
|
|
31
|
+
systemOut: parseInt(parts[7]?.replace(/"/g, '') || '0'),
|
|
32
|
+
timeout: parseInt(parts[8]?.replace(/"/g, '') || '0'),
|
|
33
|
+
type: parts[9]?.replace(/"/g, ''),
|
|
34
|
+
status: parts[10]?.replace(/"/g, ''),
|
|
35
|
+
statusCode: parts[11]?.replace(/"/g, ''),
|
|
36
|
+
startDate: parts[12]?.replace(/"/g, ''),
|
|
37
|
+
endDate: parts[13]?.replace(/"/g, ''),
|
|
38
|
+
originator: parts[14]?.replace(/"/g, '')
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return reports;
|
|
44
|
+
}
|
|
45
|
+
toJSON() {
|
|
46
|
+
return {
|
|
47
|
+
success: this.ok(),
|
|
48
|
+
statusCode: this.getStatusCode(),
|
|
49
|
+
message: this.getMessage(),
|
|
50
|
+
reports: this.getReports(),
|
|
51
|
+
errorCode: this.getErrorCode()
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.ReportResponse = ReportResponse;
|
|
56
|
+
//# sourceMappingURL=ReportResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportResponse.js","sourceRoot":"","sources":["../../src/responses/ReportResponse.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,MAAa,cAAe,SAAQ,2BAAY;IACvC,UAAU;QACf,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3B,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,oBAAoB,CAAC,QAAgB;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACtC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACpC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACpC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;wBACnD,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;wBAClD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;wBACrD,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;wBACvD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;wBACrD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACpC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACvC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBACrC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;qBACzC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF;AAvDD,wCAuDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SenderResponse.d.ts","sourceRoot":"","sources":["../../src/responses/SenderResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,cAAe,SAAQ,YAAY;IACvC,UAAU,IAAI,MAAM,EAAE;IAWtB,MAAM,IAAI,MAAM;CASxB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SenderResponse = void 0;
|
|
4
|
+
const BaseResponse_1 = require("./BaseResponse");
|
|
5
|
+
class SenderResponse extends BaseResponse_1.BaseResponse {
|
|
6
|
+
getSenders() {
|
|
7
|
+
const lines = this.rawResponse.split('\n').filter(line => line.trim());
|
|
8
|
+
// First line should be "OK" for success
|
|
9
|
+
if (lines.length > 0 && lines[0].trim() === 'OK') {
|
|
10
|
+
return lines.slice(1);
|
|
11
|
+
}
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
toJSON() {
|
|
15
|
+
return {
|
|
16
|
+
success: this.ok(),
|
|
17
|
+
statusCode: this.getStatusCode(),
|
|
18
|
+
message: this.getMessage(),
|
|
19
|
+
senders: this.getSenders(),
|
|
20
|
+
errorCode: this.getErrorCode()
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.SenderResponse = SenderResponse;
|
|
25
|
+
//# sourceMappingURL=SenderResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SenderResponse.js","sourceRoot":"","sources":["../../src/responses/SenderResponse.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,MAAa,cAAe,SAAQ,2BAAY;IACvC,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvE,wCAAwC;QACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF;AArBD,wCAqBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmsResponse.d.ts","sourceRoot":"","sources":["../../src/responses/SmsResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,WAAY,SAAQ,YAAY;IACpC,YAAY,IAAI,MAAM,GAAG,IAAI;IAa7B,MAAM,IAAI,MAAM;CASxB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SmsResponse = void 0;
|
|
4
|
+
const BaseResponse_1 = require("./BaseResponse");
|
|
5
|
+
class SmsResponse extends BaseResponse_1.BaseResponse {
|
|
6
|
+
getMessageId() {
|
|
7
|
+
if (this.data?.id) {
|
|
8
|
+
return this.data.id;
|
|
9
|
+
}
|
|
10
|
+
// Parse ID from response like "ID:123456"
|
|
11
|
+
if (this.rawResponse && this.rawResponse.startsWith('ID:')) {
|
|
12
|
+
return this.rawResponse.substring(3);
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
toJSON() {
|
|
17
|
+
return {
|
|
18
|
+
success: this.ok(),
|
|
19
|
+
statusCode: this.getStatusCode(),
|
|
20
|
+
message: this.getMessage(),
|
|
21
|
+
messageId: this.getMessageId(),
|
|
22
|
+
errorCode: this.getErrorCode()
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.SmsResponse = SmsResponse;
|
|
27
|
+
//# sourceMappingURL=SmsResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmsResponse.js","sourceRoot":"","sources":["../../src/responses/SmsResponse.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,MAAa,WAAY,SAAQ,2BAAY;IACpC,YAAY;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;SAC/B,CAAC;IACJ,CAAC;CACF;AAvBD,kCAuBC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AccountResponse } from '../responses/AccountResponse';
|
|
2
|
+
import { IHttpClient } from '../IHttpClient';
|
|
3
|
+
export declare class AccountService {
|
|
4
|
+
private httpClient;
|
|
5
|
+
private username;
|
|
6
|
+
private password;
|
|
7
|
+
private companyCode;
|
|
8
|
+
constructor(httpClient: IHttpClient, username: string, password: string, companyCode: string);
|
|
9
|
+
/**
|
|
10
|
+
* Query SMS credit balance
|
|
11
|
+
*/
|
|
12
|
+
getCredit(): Promise<AccountResponse>;
|
|
13
|
+
private escapeXml;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=AccountService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountService.d.ts","sourceRoot":"","sources":["../../src/services/AccountService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,cAAc;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;gBAHX,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM;IAG7B;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAYlD,OAAO,CAAC,SAAS;CAQlB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountService = void 0;
|
|
4
|
+
const AccountResponse_1 = require("../responses/AccountResponse");
|
|
5
|
+
class AccountService {
|
|
6
|
+
constructor(httpClient, username, password, companyCode) {
|
|
7
|
+
this.httpClient = httpClient;
|
|
8
|
+
this.username = username;
|
|
9
|
+
this.password = password;
|
|
10
|
+
this.companyCode = companyCode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Query SMS credit balance
|
|
14
|
+
*/
|
|
15
|
+
async getCredit() {
|
|
16
|
+
const xmlData = `<?xml version='1.0' encoding='ISO-8859-9'?>
|
|
17
|
+
<Main>
|
|
18
|
+
<UserName>${this.escapeXml(this.username)}</UserName>
|
|
19
|
+
<PassWord>${this.escapeXml(this.password)}</PassWord>
|
|
20
|
+
<CompanyCode>${this.escapeXml(this.companyCode)}</CompanyCode>
|
|
21
|
+
</Main>`;
|
|
22
|
+
const response = await this.httpClient.post('QueryCredit.aspx', xmlData);
|
|
23
|
+
return new AccountResponse_1.AccountResponse(response.getBody(), response.getStatusCode());
|
|
24
|
+
}
|
|
25
|
+
escapeXml(text) {
|
|
26
|
+
return text
|
|
27
|
+
.replace(/&/g, '&')
|
|
28
|
+
.replace(/</g, '<')
|
|
29
|
+
.replace(/>/g, '>')
|
|
30
|
+
.replace(/"/g, '"')
|
|
31
|
+
.replace(/'/g, ''');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.AccountService = AccountService;
|
|
35
|
+
//# sourceMappingURL=AccountService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountService.js","sourceRoot":"","sources":["../../src/services/AccountService.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAG/D,MAAa,cAAc;IACzB,YACU,UAAuB,EACvB,QAAgB,EAChB,QAAgB,EAChB,WAAmB;QAHnB,eAAU,GAAV,UAAU,CAAa;QACvB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,gBAAW,GAAX,WAAW,CAAQ;IAC1B,CAAC;IAEJ;;OAEG;IACI,KAAK,CAAC,SAAS;QACpB,MAAM,OAAO,GAAG;;gBAEJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;mBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3C,CAAC;QAEL,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACzE,OAAO,IAAI,iCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,OAAO,IAAI;aACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF;AA/BD,wCA+BC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ReportResponse } from '../responses/ReportResponse';
|
|
2
|
+
import { IHttpClient } from '../IHttpClient';
|
|
3
|
+
export declare class ReportService {
|
|
4
|
+
private httpClient;
|
|
5
|
+
private username;
|
|
6
|
+
private password;
|
|
7
|
+
private companyCode;
|
|
8
|
+
constructor(httpClient: IHttpClient, username: string, password: string, companyCode: string);
|
|
9
|
+
/**
|
|
10
|
+
* Get reports by date range
|
|
11
|
+
* @param startDate Format: YYYYMMDD
|
|
12
|
+
* @param endDate Format: YYYYMMDD
|
|
13
|
+
* @param delimiter Delimiter for parsing response (default: ||)
|
|
14
|
+
*/
|
|
15
|
+
getByDateRange(startDate: string, endDate: string, delimiter?: string): Promise<ReportResponse>;
|
|
16
|
+
/**
|
|
17
|
+
* Get detailed report by message GUID
|
|
18
|
+
* @param messageGuid Message GUID from report list
|
|
19
|
+
* @param delimiter Delimiter for parsing response (default: ||)
|
|
20
|
+
*/
|
|
21
|
+
getDetailedReport(messageGuid: string, delimiter?: string): Promise<ReportResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Get report by message ID
|
|
24
|
+
* @param messageId Message ID
|
|
25
|
+
* @param reportType Report type (1: Delivered, 2: Pending, 3: Failed, 4: Timeout)
|
|
26
|
+
* @param delimiter Delimiter for parsing response (default: ||)
|
|
27
|
+
*/
|
|
28
|
+
getByMessageId(messageId: string, reportType?: number, delimiter?: string): Promise<ReportResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Get report in XML format (v2)
|
|
31
|
+
* @param messageId Message ID
|
|
32
|
+
*/
|
|
33
|
+
getXmlReport(messageId: string): Promise<ReportResponse>;
|
|
34
|
+
private escapeXml;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ReportService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportService.d.ts","sourceRoot":"","sources":["../../src/services/ReportService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,aAAa;IAEtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;gBAHX,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM;IAG7B;;;;;OAKG;IACU,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,cAAc,CAAC;IAgB1B;;;;OAIG;IACU,iBAAiB,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,cAAc,CAAC;IAe1B;;;;;OAKG;IACU,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,cAAc,CAAC;IAe1B;;;OAGG;IACU,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAarE,OAAO,CAAC,SAAS;CAQlB"}
|