Skip to main content
Regulaxy

Message channels

SMS, WhatsApp and RCS gateways: how a gateway is configured without code, what the segment meter measures, and why an alert on WhatsApp needs an approved template.

Settings → Message channels manages three channels: SMS, WhatsApp and RCS. One gateway sends on one channel, and the default is resolved per channel — an active SMS gateway and an active WhatsApp gateway can sit side by side.

The one use driven from scheduling today is a reminder to the system owner a number of hours before the window opens. The number of hours is set per update type, and leaving the box empty turns the reminder off for that type. With no active gateway on a channel, reminders are not sent — and the screen says so in its first line.

A gateway is not a URL with placeholders

A gateway is a complete HTTP request, which is why no code is needed per vendor. A {variable} can be placed in any field, and the product encodes each value exactly once, according to where it sits in the request.

The partWhat it holds
Method and addressGET or POST, and an address that may itself start with a variable
AuthenticationNone · Basic · Bearer · a custom header · a query parameter · a cryptographic signature
Query parametersWith the encoding chosen per field
HeadersA header value may not contain a line break, and such a request is refused at save time
Request bodyNone · form · JSON · raw text. A field path supports nesting and arrays
VariablesPlain, or secret
Success ruleWhich response codes and which values in the response body count as success
LimitsTimeout, and a maximum number of segments

In a nested body the product builds and serializes the object itself, so the message content can never break the JSON structure. The request goes only to the address in the gateway row itself, and redirects are never followed.

A secret value is stored encrypted and is never returned to the browser — not even to the person who typed it. On a later edit the field is marked as set, and it can be replaced but not read.

Two ways to create a gateway

Start from a known provider whose request shape the product already carries, or paste your existing gateway address and let the product decompose it into an editable request. Either way you get the same thing — an ordinary row, fully editable.

The segment meter

Hebrew is always sent in UCS-2, because GSM has no Hebrew language table.

EncodingA single segmentPer segment when the message is split
GSM-7160 characters153
UCS-270 characters67

A single Hebrew character drops the whole message to 70 characters per segment. Billing is per segment, so the meter shows an estimated cost — segments times recipients — as you type, rather than on the invoice. A message beyond the gateway's configured maximum is refused or truncated, according to how the gateway is set.

An alphanumeric sender id is limited to Latin letters, digits and spaces. A Hebrew sender id will be rejected or silently replaced with another number by the carrier, with no error — and the screen warns about it before saving.

Approved templates

On SMS you compose a body and send it. On the other channels free text cannot be sent to a recipient who did not contact you first — only a template approved in advance with the provider. An operational alert is always first contact, so it is always a template.

The template registry on the screen records what has already been approved with the provider. It does not submit templates for approval and does not check them against the provider.

The fieldWhy it is there
Provider idWhat is actually sent in the request
Display nameWith some providers the id is not readable
Language and categoryThe category is the provider's, and it is priced — the wrong classification changes the cost, not just the display
Approval statusThe default is "unknown", and it is a refusal
Checked onRequired for an approved template

The checked-on date is required for one reason: an approval can be withdrawn later on quality grounds with no change on our side. A template marked approved with no date is a claim nobody stands behind, and saving is blocked. When no template is approved, every send on that channel is refused — with an explanation of what is missing, not silently.

Testing a gateway

ActionWhat it does
Build onlyAssembles the full request and checks the destination, without sending anything — the right test when the gateway server is not reachable from this machine
Real sendSends an actual message to one number

The result shows the request that was sent, which encoding ran on each field, the gateway's reply verbatim, and the success rule clause by clause — so that a gateway which returned 200 and a message which never arrived look like two different things.

Recipients that were skipped

When a message goes to a recipient group, a member who does not receive it is reported with the reason: they are not registered for any of the channels this message is sent on, or they have no phone number. Both reasons are answers somebody can act on; a silent skip is not.

Failed reminders are retried a bounded number of times. The bound exists so that a gateway fault does not become a stream of repeated messages, and rescheduling an event resets the counter.

Updated

This page is the file content/docs/en/v1/integrations/messaging.mdx