Provider
Defined in: packages/core/src/provider.ts:242
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:248
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:253
Human-readable name for display purposes.
Example
Section titled “Example”"SOLAPI"supportedTypes
Section titled “supportedTypes”
readonlysupportedTypes: readonlyMessageType[]
Defined in: packages/core/src/provider.ts:258
Message types this provider supports. Messages of unsupported types will be rejected.
transportCapabilities?
Section titled “transportCapabilities?”
readonlyoptionaltransportCapabilities?:ProviderTransportCapabilities
Defined in: packages/core/src/provider.ts:263
Per-operation transport features supported by this provider. Missing declarations must be treated as unsupported.
Methods
Section titled “Methods”getDeliveryStatus()?
Section titled “getDeliveryStatus()?”
optionalgetDeliveryStatus(query,context?):Promise<Result<DeliveryStatusResult|null,KMsgError>>
Defined in: packages/core/src/provider.ts:282
Query delivery status for a previously sent message. Optional capability - not all providers support this.
Parameters
Section titled “Parameters”context?
Section titled “context?”Returns
Section titled “Returns”Promise<Result<DeliveryStatusResult | null, KMsgError>>
getOnboardingSpec()?
Section titled “getOnboardingSpec()?”
optionalgetOnboardingSpec():ProviderOnboardingSpec
Defined in: packages/core/src/provider.ts:290
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:269
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,context?):Promise<Result<SendResult,KMsgError>>
Defined in: packages/core/src/provider.ts:274
Send a message through this provider.
Parameters
Section titled “Parameters”params
Section titled “params”context?
Section titled “context?”Returns
Section titled “Returns”Promise<Result<SendResult, KMsgError>>
Result with SendResult on success, KMsgError on failure.