SMS provider
Transactional SMS (order confirmations, OTPs, shipping updates) runs through a
shared, versioned package. The call site — send_sms(...) — is
provider-agnostic; each adapter maps its vendor onto the same canonical contract.
What’s available
Section titled “What’s available”| Setting value | Provider |
|---|---|
twilio |
Twilio |
| a BD local gateway | a local SMS gateway adapter |
The settings
Section titled “The settings”| Setting | Purpose | Default | Where |
|---|---|---|---|
sms_provider |
The SMS provider for this store | blank → the deployment default | Tenant config → Providers |
SMS_DEFAULT_PROVIDER |
Deployment-wide default SMS provider | twilio |
.env |
| provider credentials | API keys / tokens | — | Integrations (encrypted) |
The active provider resolves in order: TenantConfig.sms_provider →
SMS_DEFAULT_PROVIDER (.env, defaults to twilio) → the first provider that
has credentials.
Wiring a provider
Section titled “Wiring a provider”- Add the provider’s credentials as an App integration — encrypted at rest automatically.
- Set
sms_providerin the tenant config (orSMS_DEFAULT_PROVIDERin.envfor a deployment-wide default).
Related: Payment providers · Courier providers.