@k-msg/provider
Version:
Complete provider system with adapters and implementations for K-Message platform
165 lines (164 loc) • 6.01 kB
TypeScript
export type ProviderConfigFieldType = "string" | "number" | "boolean" | "stringRecord";
export interface ProviderConfigFieldSpec {
type: ProviderConfigFieldType;
required?: boolean;
description?: string;
defaultValue?: string;
}
export type ProviderConfigFieldMap = Record<string, ProviderConfigFieldSpec>;
export declare const providerConfigFieldSpecs: {
readonly mock: {};
readonly aligo: {
readonly apiKey: {
readonly type: "string";
readonly required: true;
readonly description: "Aligo API key";
readonly defaultValue: "env:ALIGO_API_KEY";
};
readonly userId: {
readonly type: "string";
readonly required: true;
readonly description: "Aligo user id";
readonly defaultValue: "env:ALIGO_USER_ID";
};
readonly senderKey: {
readonly type: "string";
readonly description: "Default Kakao sender key";
readonly defaultValue: "env:ALIGO_SENDER_KEY";
};
readonly sender: {
readonly type: "string";
readonly description: "Default SMS/LMS sender number";
readonly defaultValue: "env:ALIGO_SENDER";
};
readonly testMode: {
readonly type: "boolean";
readonly description: "Enable Aligo test mode";
};
readonly debug: {
readonly type: "boolean";
readonly description: "Enable debug logging";
};
readonly smsBaseUrl: {
readonly type: "string";
readonly description: "Override SMS API base URL";
};
readonly alimtalkBaseUrl: {
readonly type: "string";
readonly description: "Override AlimTalk API base URL";
};
readonly friendtalkEndpoint: {
readonly type: "string";
readonly description: "Override FriendTalk endpoint path";
};
};
readonly iwinv: {
readonly apiKey: {
readonly type: "string";
readonly required: true;
readonly description: "IWINV AlimTalk API key (AUTH header)";
readonly defaultValue: "env:IWINV_API_KEY";
};
readonly smsApiKey: {
readonly type: "string";
readonly description: "IWINV SMS API key";
readonly defaultValue: "env:IWINV_SMS_API_KEY";
};
readonly smsAuthKey: {
readonly type: "string";
readonly description: "IWINV SMS auth key";
readonly defaultValue: "env:IWINV_SMS_AUTH_KEY";
};
readonly smsCompanyId: {
readonly type: "string";
readonly description: "IWINV SMS company id";
readonly defaultValue: "env:IWINV_SMS_COMPANY_ID";
};
readonly senderNumber: {
readonly type: "string";
readonly description: "Default sender number";
readonly defaultValue: "env:IWINV_SENDER_NUMBER";
};
readonly smsSenderNumber: {
readonly type: "string";
readonly description: "SMS/LMS sender number override";
};
readonly sendEndpoint: {
readonly type: "string";
readonly description: "Override IWINV send endpoint path";
};
readonly xForwardedFor: {
readonly type: "string";
readonly description: "X-Forwarded-For header override";
};
readonly extraHeaders: {
readonly type: "stringRecord";
readonly description: "Additional HTTP headers";
};
readonly ipRetryCount: {
readonly type: "number";
readonly description: "IP-restriction retry count";
};
readonly ipRetryDelayMs: {
readonly type: "number";
readonly description: "IP-restriction retry delay in ms";
};
readonly ipAlertWebhookUrl: {
readonly type: "string";
readonly description: "Webhook URL for IP restriction alerts";
};
readonly debug: {
readonly type: "boolean";
readonly description: "Enable debug logging";
};
};
readonly solapi: {
readonly apiKey: {
readonly type: "string";
readonly required: true;
readonly description: "SOLAPI API key";
readonly defaultValue: "env:SOLAPI_API_KEY";
};
readonly apiSecret: {
readonly type: "string";
readonly required: true;
readonly description: "SOLAPI API secret";
readonly defaultValue: "env:SOLAPI_API_SECRET";
};
readonly defaultFrom: {
readonly type: "string";
readonly description: "Default sender number";
readonly defaultValue: "env:SOLAPI_DEFAULT_FROM";
};
readonly kakaoPfId: {
readonly type: "string";
readonly description: "Default Kakao PF ID";
readonly defaultValue: "env:SOLAPI_KAKAO_PF_ID";
};
readonly rcsBrandId: {
readonly type: "string";
readonly description: "Default RCS brand id";
};
readonly naverTalkId: {
readonly type: "string";
readonly description: "Default Naver Talk id";
};
readonly appId: {
readonly type: "string";
readonly description: "SOLAPI app id";
};
readonly defaultCountry: {
readonly type: "string";
readonly description: "Default country code";
};
readonly baseUrl: {
readonly type: "string";
readonly description: "Override SOLAPI API base URL";
};
readonly debug: {
readonly type: "boolean";
readonly description: "Enable debug logging";
};
};
};
export type ProviderTypeWithConfig = keyof typeof providerConfigFieldSpecs;