SMS gateway – system description
The gateway configuration table, provider-specific normalisation, handling of secret fields, connection test and test SMS; no regular sending.
SMS gateway configuration per client and provider (android, traccar, smsmobileapi) with provider-specific fields, masked secrets, a default flag and the last test result. Module under development.
Data model
Table names carry the installation's own prefix in the database.
| Table | Role |
|---|---|
sms_gateway | company, name, provider, configuration, default flag, test result, status (0/1/9) |
company | content scope |
Process
- List: filter by name, provider, status, company group/company;
filter_allowed_ids; trash withcanSeeDeleted(); per row the endpoint URL, default flag and test result. - Save: known provider, name, client required and in scope; the SMS library's
normalize()validates the configuration (errors per field); a masked secret keeps the old value; withis_defaultthe client's other gateways lose the default flag. test:testConnection()with the saved or the typed configuration; the result is written to the row (setTestResult); incomplete configuration giveserror_sms_incomplete.testsms:sendTest()to the given number and text; result stored on the row.- Delete: in scope, physical with
delete,status = 9withstatusdeleteonly.
Permissions
- Function rights:
list; form/savecanSave(); statusedit;test;testsms;delete;statusdelete;debug. The keys have a catalogue seed. - Content scope: the gateway's company in every operation (
getGatewaywith the allowed companies).
Known limitations
Regular sending, retries and receiving inbound messages are not implemented; only configuration and testing work.