SMSBOX — Belgian SMS gateway & REST API

SMS webhooks — we call you, not the other way around

With a webhook, your software does not need to keep asking us whether anything new has happened. As soon as an SMS comes in or a delivery status changes, we immediately perform an HTTP POST to an address you specify. Always over HTTPS, configurable per channel — and if you have no server, simply have it sent to a mailbox.

SMS webhook pushing messages to your server

Two kinds of webhooks

They are often mixed up, but they are independent of each other and configured separately: one concerns messages that come in, the other what happens to messages you send.

Incoming SMS Delivery status (DLR)
When Someone sends a message to your number or shortcode The status of a message you sent changes
Where to configure Per channel, under Channels & Webhooks in your account Per message, as a notification URL in the API call
Payload msgid timestamp sender message keyword msgid status
Alternative without a server Forward to an e-mail address Check the status in the dashboard

What we send to your endpoint

For an incoming message we perform an HTTP POST to your address with the following fields. Your endpoint only needs to accept and process them.

Field Meaning
msgidUnique ID of the message — use this to avoid processing duplicates
timestampTime at which the message arrived with us
senderThe sender's mobile number
messageThe full text of the message
keywordThe channel or keyword on which the message came in

For a delivery status the payload is shorter: the message ID and the status code. The meaning of each code can be found on the delivery reports page.

POST https://uw-server.be/sms/inkomend msgid=8471203&timestamp=2026-05-12+14%3A31%3A08 &sender=32496123456&message=JA&keyword=afspraak

Set up a webhook in 4 steps

1

Prepare your endpoint

Provide a publicly reachable HTTPS address with a valid certificate that can accept an HTTP POST.

2

Choose the channel

Go to Channels & Webhooks in your account and choose the channel or keyword the notification should apply to.

3

Enter the address

Enter the address without a scheme; we always send over HTTPS. If your port differs from 443, include it.

4

Test

Send an SMS to your virtual number or shortcode and check that your endpoint receives the POST.

What your endpoint must comply with

HTTPS required — we send encrypted only, even if you enter the address without a scheme
Port 443 by default, but you can set your own port
Publicly reachable — our platform calls your server from the internet
Configurable per channel — a campaign can go to a different system than your general number
No addresses in a private network or on a non-public hostname
No self-signed or expired certificates

If nothing arrives at your endpoint, check in this order: is the address reachable from outside, is the certificate valid, and does your firewall let our call through? The tracelog in your account shows exactly what was sent.

No server? Send it to a mailbox

A webhook assumes you have something to receive it with. If you do not, simply choose forwarding to an e-mail address per channel: every incoming message then arrives as an e-mail, with you or with the colleague who needs to follow it up.

You can also switch the notification off entirely and view the messages only in your dashboard — in the conversation view they appear right next to what you sent yourself.

Forwarding incoming SMS to e-mail

Frequently asked questions about webhooks

A webhook reverses the usual direction: instead of your software having to keep asking us whether there is anything new, we send the message straight to an address you specify. As soon as something happens — an incoming SMS, a changed delivery status — we make an HTTP POST to your server.
We send the message ID, the timestamp, the sender's number, the text of the message and the keyword or channel it came in on. Your endpoint only needs to accept and process that POST.
Yes. We only send to HTTPS addresses, even if you enter the address without a scheme. By default we use port 443; if you want a different port, add it explicitly.
No. Addresses in private networks and non-public hostnames are rejected, because our platform cannot reach them from the internet. Your endpoint must be publicly reachable.
Then you simply have incoming messages forwarded to an e-mail address. Per channel you choose whether the notification goes to a webhook or to a mailbox — or to neither, if you only want to see them in the dashboard.
When sending, you provide a notification URL. Every status change of that message is then sent via an HTTP POST to that address, with the message ID and the status code. This is separate from the webhook for incoming messages.
Yes. The setting sits at the level of the channel or keyword, not at account level. That way you can send replies to a campaign to a different system than messages on your general number.
Send an SMS yourself to your virtual number or shortcode and check whether your endpoint receives the POST. If nothing comes in, check whether the address is publicly reachable, whether the certificate is valid and whether your firewall is not blocking our call. The trace log shows exactly what was sent.
Trust Guard Security Scanned
Call us
Send an email