Appearance
Configuration reference
For merchants
Where: Extensions → My extensions, then click Configure next to SMS for Shopware 6. Click Save at the top right after changing anything.

Stored as: KommandhubSmsSW.config.<key> in Shopware's system configuration.
Settings per sales channel
A sales channel is one of your storefronts. The Sales Channel drop-down at the top of the page decides which storefront the values you see apply to:
- All Sales Channels (the default) — values here apply to every storefront. Start here.
- A single storefront — shows that storefront's values. Fields you leave untouched inherit the All Sales Channels value; fill a field to override it for that storefront only. This is how you use, for example, a Ghanaian sender ID on your Ghana storefront.

More about sales channels: Shopware's sales channel documentation.
Which boxes do I need?
Only SMS routing and the box of one provider are required. Leave the boxes of providers you do not use empty — an empty provider is simply ignored. Delivery webhook and Logging are optional.
Delivery webhook

| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| Webhook signing secret | webhookSecret | Password | — | Secret the provider signs delivery reports with (for Termii: its API key). Reports to /notifications/webhook are rejected while it is empty. |
SMS routing

| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| Default SMS provider | defaultSmsProvider | Select | none | Provider tried first: termii, sendexa, africasTalking, twilio. Deliberately empty by default. |
| Default country dial code | defaultDialCode | Text | 234 | Digits only, no +. Used (1) to turn local numbers such as 0803… into international ones before sending — numbers starting with + or 00 are left alone, and if this is empty local numbers are skipped rather than guessed; and (2) as the country preselected in the storefront phone field when the sales channel has no country. See Phone numbers & dial codes. |
Termii

| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| API key | termiiApiKey | Password | — | From the Termii dashboard. Empty disables Termii. |
| Sender ID | termiiSenderId | Text | — | Approved alphanumeric sender. Required. |
| Carrier route | termiiRoute | Select | generic | generic or dnd (reaches Nigerian DND numbers; billed differently). |
| API base URL | termiiBaseUrl | Text | — | Optional; default https://v3.api.termii.com. |
Sendexa

| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| API token | sendexaApiToken | Password | — | Base64 token from the dashboard. Empty disables Sendexa. |
| Sender ID | sendexaSenderId | Text | — | Approved sender, max 11 characters. Required. |
| API base URL | sendexaBaseUrl | Text | — | Optional; default https://api.sendexa.co. |
Africa's Talking

| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| Username | africasTalkingUsername | Text | — | Account username; sandbox selects the sandbox. Required. |
| API key | africasTalkingApiKey | Password | — | Empty disables Africa's Talking. |
| Sender ID or short code | africasTalkingSenderId | Text | — | Optional; empty uses the shared pool. |
Twilio

| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| Account SID | twilioAccountSid | Text | — | Starts with AC. Empty disables Twilio. |
| Auth token | twilioAuthToken | Password | — | Required. |
| Sending number | twilioFrom | Text | — | International format. Required unless a messaging service SID is set. |
| Messaging service SID | twilioMessagingServiceSid | Text | — | Optional, MG…. Replaces the sending number. |
Logging

| Setting | Key | Type | Default | Description |
|---|---|---|---|---|
| Enable debug logging | enableDebugging | Toggle | Off | Also log debug/info/notice/warning to var/log/kommandhub_sms_<env>.log. Errors are always logged. |
| Log levels | logLevels | Multi-select | all | Restrict debug logging to these levels. |