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
Section titled “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
Section titled “Properties”
readonlyid:string
Defined in: packages/core/src/provider.ts:212
Unique identifier for this provider instance. Used for routing and logging.
Example
Section titled “Example”"solapi"
readonlyname:string
Defined in: packages/core/src/provider.ts:217
Human-readable name for display purposes.
Example
Section titled “Example”"SOLAPI"supportedTypes
Section titled “supportedTypes”
readonlysupportedTypes: readonlyMessageType[]
Defined in: packages/core/src/provider.ts:222
Message types this provider supports. Messages of unsupported types will be rejected.
Methods
Section titled “Methods”getDeliveryStatus()?
Section titled “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
Section titled “Parameters”Returns
Section titled “Returns”Promise<Result<DeliveryStatusResult | null, KMsgError>>
getOnboardingSpec()?
Section titled “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
Section titled “Returns”healthCheck()
Section titled “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
Section titled “Returns”Promise<ProviderHealthStatus>
send()
Section titled “send()”send(
params):Promise<Result<SendResult,KMsgError>>
Defined in: packages/core/src/provider.ts:233
Send a message through this provider.
Parameters
Section titled “Parameters”params
Section titled “params”Returns
Section titled “Returns”Promise<Result<SendResult, KMsgError>>
Result with SendResult on success, KMsgError on failure.