Provider
Defined in: packages/core/src/provider.ts:206
Core provider interface for sending messages.
All providers must implement this interface. Optional capabilities (balance, templates, delivery status) are exposed via separate interfaces.
Example
섹션 제목: “Example”class MyProvider implements Provider { readonly id = "my-provider"; readonly name = "My Provider"; readonly supportedTypes = ["SMS", "LMS"] as const;
async healthCheck() { return { healthy: true, issues: [] }; } async send(params) { ... }}Properties
섹션 제목: “Properties”
readonlyid:string
Defined in: packages/core/src/provider.ts:212
Unique identifier for this provider instance. Used for routing and logging.
Example
섹션 제목: “Example”"solapi"name
섹션 제목: “name”
readonlyname:string
Defined in: packages/core/src/provider.ts:217
Human-readable name for display purposes.
Example
섹션 제목: “Example”"SOLAPI"supportedTypes
섹션 제목: “supportedTypes”
readonlysupportedTypes: readonlyMessageType[]
Defined in: packages/core/src/provider.ts:222
Message types this provider supports. Messages of unsupported types will be rejected.
Methods
섹션 제목: “Methods”getDeliveryStatus()?
섹션 제목: “getDeliveryStatus()?”
optionalgetDeliveryStatus(query):Promise<Result<DeliveryStatusResult|null,KMsgError>>
Defined in: packages/core/src/provider.ts:238
Query delivery status for a previously sent message. Optional capability - not all providers support this.
Parameters
섹션 제목: “Parameters”query
섹션 제목: “query”Returns
섹션 제목: “Returns”Promise<Result<DeliveryStatusResult | null, KMsgError>>
getOnboardingSpec()?
섹션 제목: “getOnboardingSpec()?”
optionalgetOnboardingSpec():ProviderOnboardingSpec
Defined in: packages/core/src/provider.ts:245
Get the onboarding specification for this provider. Used by tooling to guide provider configuration.
Returns
섹션 제목: “Returns”healthCheck()
섹션 제목: “healthCheck()”healthCheck():
Promise<ProviderHealthStatus>
Defined in: packages/core/src/provider.ts:228
Check if the provider is operational. Used for health monitoring and circuit breaker decisions.
Returns
섹션 제목: “Returns”Promise<ProviderHealthStatus>
send()
섹션 제목: “send()”send(
params):Promise<Result<SendResult,KMsgError>>
Defined in: packages/core/src/provider.ts:233
Send a message through this provider.
Parameters
섹션 제목: “Parameters”params
섹션 제목: “params”Returns
섹션 제목: “Returns”Promise<Result<SendResult, KMsgError>>
Result with SendResult on success, KMsgError on failure.