Skip to content

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.

Setting value Provider
twilio Twilio
a BD local gateway a local SMS gateway adapter
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_providerSMS_DEFAULT_PROVIDER (.env, defaults to twilio) → the first provider that has credentials.

  1. Add the provider’s credentials as an App integration — encrypted at rest automatically.
  2. Set sms_provider in the tenant config (or SMS_DEFAULT_PROVIDER in .env for a deployment-wide default).

Related: Payment providers · Courier providers.