@k-msg/provider 0.2.0 → 0.3.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.
@@ -0,0 +1,48 @@
1
+ import type { HistoryQuery, StandardError, StandardRequest, StandardResult } from "@k-msg/core";
2
+ import { BaseProviderAdapter } from "@k-msg/core";
3
+ import { SolapiMessageService } from "solapi";
4
+ import type { SolapiConfig } from "../solapi/types/solapi";
5
+ export type SolapiSdkClient = Pick<SolapiMessageService, "sendOne" | "getMessages" | "getBalance" | "uploadFile">;
6
+ export declare class SolapiAdapter extends BaseProviderAdapter {
7
+ private static readonly directTemplates;
8
+ private readonly solapiConfig;
9
+ private readonly client;
10
+ constructor(config: SolapiConfig, client?: SolapiSdkClient);
11
+ adaptRequest(request: StandardRequest): Record<string, unknown>;
12
+ adaptResponse(response: unknown): StandardResult;
13
+ mapError(error: unknown): StandardError;
14
+ getAuthHeaders(): Record<string, string>;
15
+ getBaseUrl(): string;
16
+ getEndpoint(_operation: string): string;
17
+ sendStandard(request: StandardRequest): Promise<StandardResult>;
18
+ getSmsCharge(): Promise<number>;
19
+ getBalance(): Promise<number>;
20
+ getSmsHistory(params: {
21
+ channel?: HistoryQuery["channel"];
22
+ startDate: string | Date;
23
+ endDate: string | Date;
24
+ requestNo?: string;
25
+ pageNum?: number;
26
+ pageSize?: number;
27
+ phone?: string;
28
+ startKey?: string;
29
+ }): Promise<{
30
+ totalCount: number;
31
+ list: unknown[];
32
+ message: string;
33
+ nextKey?: string | null;
34
+ raw?: unknown;
35
+ }>;
36
+ getHistory(query: HistoryQuery): Promise<unknown>;
37
+ private clampLimit;
38
+ private normalizePhoneNumber;
39
+ private toSolapiTypeFromChannel;
40
+ private stringifyVariables;
41
+ private extractText;
42
+ private extractSubject;
43
+ private resolveChannelLike;
44
+ private toSolapiMessageType;
45
+ private toKakaoButtons;
46
+ private toRcsButtons;
47
+ private buildSolapiSendOneMessage;
48
+ }
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from "./utils";
11
11
  export { BaseAlimTalkProvider } from "./abstract/provider.base";
12
12
  export { AligoAdapter } from "./adapters/aligo.adapter";
13
13
  export { IWINVAdapter, IWINVAdapterFactory, } from "./adapters/iwinv.adapter";
14
+ export { SolapiAdapter } from "./adapters/solapi.adapter";
14
15
  export type { AccountContract, AnalyticsContract, ChannelContract, ConfigurationField, MessagingContract, ProviderCapabilities, ProviderConfiguration, ProviderMessageRequest, ProviderMessageResult, ScheduleResult, TemplateContract, } from "./contracts/provider.contract";
15
16
  export * from "./providers/mock";
16
17
  export * from "./services/provider.manager";
@@ -21,6 +22,8 @@ export { createDefaultIWINVProvider, createIWINVProvider, IWINVProvider, IWINVPr
21
22
  export { createDefaultIWINVMultiProvider, createIWINVMultiProvider, IWINVMultiProvider, } from "./iwinv/provider-multi";
22
23
  export { createDefaultIWINVSMSProvider, createIWINVSMSProvider, IWINVSMSProvider, } from "./iwinv/provider-sms";
23
24
  export type * from "./iwinv/types/iwinv";
25
+ export { createDefaultSolapiProvider, createSolapiProvider, initializeSolapi, SolapiProvider, SolapiProviderFactory, } from "./solapi/provider";
26
+ export type { SolapiConfig } from "./solapi/types/solapi";
24
27
  export type * from "./types/aligo";
25
28
  export type { TemplateCode, TemplateVariables, TypedRequest, TypedResult, ValidationResult, } from "./types/typed-templates";
26
29
  export { TEMPLATE_REGISTRY, TemplateTypeConverter, TemplateValidator, TypedProvider, } from "./types/typed-templates";