@k-msg/provider 0.1.5 → 0.2.0
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/dist/adapters/iwinv.adapter.d.ts +34 -6
- package/dist/index.js +24 -24
- package/dist/index.js.map +6 -5
- package/dist/index.mjs +24 -24
- package/dist/index.mjs.map +6 -5
- package/dist/iwinv/provider-sms.d.ts +4 -4
- package/dist/iwinv/provider.d.ts +34 -4
- package/dist/iwinv/types/iwinv.d.ts +53 -5
- package/package.json +2 -2
|
@@ -17,7 +17,7 @@ export declare class IWINVSMSProvider extends IWINVProvider {
|
|
|
17
17
|
senderNumber?: string;
|
|
18
18
|
scheduledAt?: Date;
|
|
19
19
|
priority?: "high" | "normal" | "low";
|
|
20
|
-
}): Promise<
|
|
20
|
+
}): Promise<import("@k-msg/core").StandardResult>;
|
|
21
21
|
/**
|
|
22
22
|
* LMS 전송 (긴 문자 메시지)
|
|
23
23
|
*/
|
|
@@ -25,7 +25,7 @@ export declare class IWINVSMSProvider extends IWINVProvider {
|
|
|
25
25
|
senderNumber?: string;
|
|
26
26
|
scheduledAt?: Date;
|
|
27
27
|
priority?: "high" | "normal" | "low";
|
|
28
|
-
}): Promise<
|
|
28
|
+
}): Promise<import("@k-msg/core").StandardResult>;
|
|
29
29
|
/**
|
|
30
30
|
* 대량 SMS 전송
|
|
31
31
|
*/
|
|
@@ -37,7 +37,7 @@ export declare class IWINVSMSProvider extends IWINVProvider {
|
|
|
37
37
|
senderNumber?: string;
|
|
38
38
|
scheduledAt?: Date;
|
|
39
39
|
batchSize?: number;
|
|
40
|
-
}): Promise<(PromiseRejectedResult | PromiseFulfilledResult<
|
|
40
|
+
}): Promise<(PromiseRejectedResult | PromiseFulfilledResult<import("@k-msg/core").StandardResult>)[]>;
|
|
41
41
|
/**
|
|
42
42
|
* SMS/LMS 자동 판별 전송
|
|
43
43
|
*/
|
|
@@ -46,7 +46,7 @@ export declare class IWINVSMSProvider extends IWINVProvider {
|
|
|
46
46
|
scheduledAt?: Date;
|
|
47
47
|
subject?: string;
|
|
48
48
|
priority?: "high" | "normal" | "low";
|
|
49
|
-
}): Promise<
|
|
49
|
+
}): Promise<import("@k-msg/core").StandardResult>;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* SMS Provider 팩토리 함수들
|
package/dist/iwinv/provider.d.ts
CHANGED
|
@@ -1,17 +1,47 @@
|
|
|
1
|
-
import { type SendOptions, type StandardRequest, UniversalProvider } from "@k-msg/core";
|
|
2
|
-
import type { IWINVConfig } from "./types/iwinv";
|
|
1
|
+
import { type SendOptions, type StandardRequest, type StandardResult, UniversalProvider } from "@k-msg/core";
|
|
2
|
+
import type { IWINVConfig, IWINVSmsHistoryItem } from "./types/iwinv";
|
|
3
|
+
export type IWINVSmsHistoryParams = {
|
|
4
|
+
version?: string;
|
|
5
|
+
companyId?: string;
|
|
6
|
+
startDate: string | Date;
|
|
7
|
+
endDate: string | Date;
|
|
8
|
+
requestNo?: string;
|
|
9
|
+
pageNum?: number;
|
|
10
|
+
pageSize?: number;
|
|
11
|
+
phone?: string;
|
|
12
|
+
};
|
|
3
13
|
export declare class IWINVProvider extends UniversalProvider {
|
|
4
14
|
private static readonly directSmsTemplates;
|
|
5
15
|
private readonly iwinvConfig;
|
|
6
16
|
constructor(config: IWINVConfig);
|
|
7
|
-
send(params:
|
|
17
|
+
send(params: StandardRequest): Promise<StandardResult>;
|
|
18
|
+
send(params: SendOptions): Promise<unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* SMS v2: 잔액(충전금) 조회
|
|
21
|
+
* - URL: POST https://sms.bizservice.iwinv.kr/api/charge/
|
|
22
|
+
* - Header: secret: base64(SMS_API_KEY&SMS_AUTH_KEY)
|
|
23
|
+
* - Body: { "version": "1.0" }
|
|
24
|
+
*/
|
|
25
|
+
getSmsCharge(): Promise<number>;
|
|
26
|
+
/**
|
|
27
|
+
* SMS v2: 전송 내역 조회
|
|
28
|
+
* - URL: POST https://sms.bizservice.iwinv.kr/api/history/
|
|
29
|
+
* - 기간은 90일 이내만 허용
|
|
30
|
+
*/
|
|
31
|
+
getSmsHistory(params: IWINVSmsHistoryParams): Promise<{
|
|
32
|
+
totalCount: number;
|
|
33
|
+
list: IWINVSmsHistoryItem[];
|
|
34
|
+
message: string;
|
|
35
|
+
}>;
|
|
8
36
|
private isStandardRequest;
|
|
9
37
|
private isSmsChannelRequest;
|
|
10
38
|
private resolveSmsBaseUrl;
|
|
11
|
-
private isLongMessage;
|
|
12
39
|
private resolveSmsMessageType;
|
|
13
40
|
private extractMessageText;
|
|
14
41
|
private formatSmsReserveDate;
|
|
42
|
+
private formatSmsHistoryDate;
|
|
43
|
+
private assertSmsHistoryWindow;
|
|
44
|
+
private requestSmsApi;
|
|
15
45
|
private normalizePhoneNumber;
|
|
16
46
|
private buildSmsSecretHeader;
|
|
17
47
|
private buildLmsTitle;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* IWINV API TypeScript 타입 정의
|
|
3
3
|
* IWINV 알림톡 REST API 규격서 기반
|
|
4
4
|
*/
|
|
5
|
+
import type { ProviderConfig } from "@k-msg/core";
|
|
5
6
|
export interface IWINVBaseResponse {
|
|
6
7
|
code: number;
|
|
7
8
|
message: string;
|
|
@@ -46,7 +47,7 @@ export interface Template {
|
|
|
46
47
|
templateStatusMsg?: string;
|
|
47
48
|
templateStatusComments?: string;
|
|
48
49
|
createDate: string;
|
|
49
|
-
buttons:
|
|
50
|
+
buttons: unknown[];
|
|
50
51
|
}
|
|
51
52
|
export interface TemplateListRequest {
|
|
52
53
|
pageNum?: string;
|
|
@@ -113,21 +114,68 @@ export type CancelReservationResponse = IWINVBaseResponse;
|
|
|
113
114
|
export interface BalanceResponse extends IWINVBaseResponse {
|
|
114
115
|
charge: number;
|
|
115
116
|
}
|
|
116
|
-
export interface
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
export interface IWINVSmsChargeRequest {
|
|
118
|
+
version: string;
|
|
119
|
+
}
|
|
120
|
+
export interface IWINVSmsChargeResponse {
|
|
121
|
+
code: number;
|
|
122
|
+
message: string;
|
|
123
|
+
charge: number;
|
|
124
|
+
}
|
|
125
|
+
export interface IWINVSmsHistoryRequest {
|
|
126
|
+
version: string;
|
|
127
|
+
companyid: string;
|
|
128
|
+
startDate: string;
|
|
129
|
+
endDate: string;
|
|
130
|
+
requestNo?: string;
|
|
131
|
+
pageNum?: number;
|
|
132
|
+
pageSize?: number;
|
|
133
|
+
phone?: string;
|
|
134
|
+
}
|
|
135
|
+
export interface IWINVSmsHistoryItem {
|
|
136
|
+
requestNo: string | number;
|
|
137
|
+
companyid: string;
|
|
138
|
+
msgType: string;
|
|
139
|
+
phone: string;
|
|
140
|
+
callback: string;
|
|
141
|
+
sendStatus?: string;
|
|
142
|
+
sendStatusCode?: string;
|
|
143
|
+
sendStatusMsg?: string;
|
|
144
|
+
sendDate: string;
|
|
145
|
+
}
|
|
146
|
+
export interface IWINVSmsHistoryResponse {
|
|
147
|
+
resultCode: number;
|
|
148
|
+
message: string;
|
|
149
|
+
totalCount: number;
|
|
150
|
+
list: IWINVSmsHistoryItem[];
|
|
151
|
+
}
|
|
152
|
+
export interface IWINVConfig extends ProviderConfig {
|
|
119
153
|
smsApiKey?: string;
|
|
120
154
|
smsAuthKey?: string;
|
|
121
155
|
smsBaseUrl?: string;
|
|
156
|
+
/**
|
|
157
|
+
* SMS v2 전송 내역 조회시 필요한 조직(업체) 발송 아이디.
|
|
158
|
+
* (API 문서의 `companyid`)
|
|
159
|
+
*/
|
|
160
|
+
smsCompanyId?: string;
|
|
122
161
|
senderNumber?: string;
|
|
123
162
|
smsSenderNumber?: string;
|
|
124
163
|
sendEndpoint?: string;
|
|
164
|
+
/**
|
|
165
|
+
* Optional proxy/IP override header for IP-restricted IWINV endpoints.
|
|
166
|
+
* Intended for testing or controlled environments; production should whitelist real egress IPs.
|
|
167
|
+
*/
|
|
168
|
+
xForwardedFor?: string;
|
|
169
|
+
/**
|
|
170
|
+
* Extra HTTP headers merged into outgoing requests.
|
|
171
|
+
* Use with care: overriding AUTH/secret can break requests.
|
|
172
|
+
*/
|
|
173
|
+
extraHeaders?: Record<string, string>;
|
|
125
174
|
ipRetryCount?: number;
|
|
126
175
|
ipRetryDelayMs?: number;
|
|
127
176
|
ipAlertWebhookUrl?: string;
|
|
128
177
|
onIpRestrictionAlert?: (payload: IWINVIPRestrictionAlert) => void | Promise<void>;
|
|
129
178
|
debug?: boolean;
|
|
130
|
-
[key: string]: unknown;
|
|
131
179
|
}
|
|
132
180
|
export interface IWINVIPRestrictionAlert {
|
|
133
181
|
provider: "iwinv";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@k-msg/provider",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"packageManager": "bun@1.3.8",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Complete provider system with adapters and implementations for K-Message platform",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"publish": "bun publish --access public"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@k-msg/core": "0.
|
|
58
|
+
"@k-msg/core": "0.2.0",
|
|
59
59
|
"zod": "^4.0.14"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|