LoRaWAN MQTT and Webhook Integrations
Your Device Data, Where You Already Work
A network server that keeps your data is not much use. ioX-Bridge pushes every device event straight out as it happens, either to an endpoint you own over HTTP or to your broker over MQTT, in the same JSON either way. If you already have somewhere the data needs to be, that is where it goes.
It pushes rather than waits to be asked, which matters more than it sounds. Polling an API on a timer means either burning requests on nothing or finding out late, and it means building the scheduler that does it. Events arrive when they arrive, so the thing you are building can react instead of checking.
- Uplinks, joins, acknowledgements and location events, delivered as they happen
- HTTP to your own endpoint with your own headers, or MQTT over TLS to your broker
- The same JSON on both routes, so switching later is not a rewrite
- Configured per group of devices, so different customers or sites can go to different places
- Every delivery attempt logged with its endpoint, its status and how long it took
Push, not poll
Webhooks or MQTT, Whichever Your Stack Speaks
Two routes out, both carrying the same payload. Which one suits you usually comes down to what you have already built rather than anything about LoRaWAN.
| HTTP webhooks | MQTT | |
|---|---|---|
| Shape | We post to a URL you own | You subscribe to a broker topic |
| Fits when | You already have an API, a serverless function, or a platform that accepts webhooks | You already run a broker, or you want several consumers on the same stream |
| Filtering | You receive the events for that group and route them yourself | Subscribe to one device, one event type, or everything, using the topic pattern |
| Authentication | Any headers you need, sent with every request | Username and password over TLS. Anonymous connections are refused |
| Consumers | One place, or several URLs if you list them | As many subscribers as you like |
| Turning it off | Pause it and turn it back on without losing the configuration | Disconnect |
The MQTT topic is laid out as application, then the network, then the device, then the event type, so a subscription can be as narrow as one sensor's uplinks or as wide as everything you own. Endpoint details and credentials are issued with your environment.
Trusted by teams monitoring critical infrastructure
The part vendors skip
What Happens When a Delivery Fails
Every integration fails sometimes. Your endpoint restarts, a certificate lapses, somebody ships a change on a Friday. The question worth asking a vendor is not whether that happens, it is whether you find out from them or from your customer.
ioX-Bridge logs every delivery attempt: which endpoint it went to, what status came back, and how long it took. Failures are tagged, and each entry opens into the full request so you can see exactly what was sent rather than reconstructing it. That log covers recent history rather than an archive, so treat it as the thing that tells you what broke, not as somewhere your data lives.
Two things worth knowing before you design around it. A paused integration stops delivering rather than holding events for later, so a pause leaves a gap on purpose. And a delivery that your endpoint rejects is not retried on a schedule, which means the receiving end should acknowledge quickly and do its work afterward rather than making us wait on it.
Live delivery log
Why we show it
None of that is the most reassuring thing a vendor could tell you. It is what is true, and you can verify all of it on day one rather than during your first incident.
Bring a Gateway Online
Try It With Your Own Payload
The fastest way to know whether this works for your hardware is to run one of your own uplinks through ioX-Bridge
Tell Us What You Are Building
Tell us where the data needs to end up and we will tell you which route fits, including if the answer is that you do not need us in the middle.
Talk to Us About ioX-BridgeOne shape, every event
What Is Actually in a Message
Every event carries the same four things whichever route it took. If your system can read JSON, there is nothing to translate.
| What | Why you want it |
|---|---|
| Which device it came from | Identity and timestamps, so you can attribute a reading without a lookup. |
| The raw payload | The bytes as the device sent them. Keep them and you can re-decode history later if a decoder turns out to be wrong. |
| The decoded reading | Named values rather than bytes, from the profile assigned to that device. Temperature is called temperature. |
| Signal quality | Strength and noise from the radio, alongside the reading rather than inside it, so you can tell a failing sensor from a failing link. |
Event types cover uplinks, joins, acknowledgements, transmission acknowledgements, status, location and log entries, so you can react to a device coming online as easily as to a reading.
Grouping is a design decision
How You Group Devices Decides Where Data Goes
Devices live in named groups, and integrations attach to the group rather than to your whole environment. That means one customer's readings can go to one endpoint while another's go somewhere else entirely, with no filtering logic in between and no risk of a rule sending the wrong data to the wrong place.
It also means the grouping is worth thinking about before you have four hundred devices in it. Group by whatever the data has to follow: the customer, the site, or the system that consumes it.
Group · Customer A
Group · Customer B
Two groups, two destinations, no routing rules in between.
When you would rather ask than listen
REST and gRPC
Pushed events cover most of what people build. When you need to ask a question instead, the same operations are available over REST or over gRPC, with gRPC the better choice once the volume is high enough for the overhead to matter.
- Query devices and inspect what is queued for them
- Queue a downlink to send a device a command or a setting
- Mark a key read only when the thing using it only ever needs to look
- One key per integration, so revoking a compromised one does not break everything else
Common Questions About LoRaWAN Integrations
If your question is not here, email sales@iox-connect.com and you will get a straight answer
Two ways with ioX-Bridge, and both push rather than wait to be polled. An HTTP integration posts each device event to a URL you own, with any headers your endpoint needs. Or you subscribe over MQTT and receive the same events on a topic. Both carry identical JSON, so choosing one does not commit you to it.
It is an HTTP request the network server sends you when something happens on a device, rather than something you ask for. An uplink arrives, and within moments your endpoint receives a POST describing it: which device, the raw payload, the decoded reading and the signal quality. You do not poll and you do not schedule anything.
Yes. ioX-Bridge publishes device events to an MQTT broker over TLS, on a topic laid out by network, device and event type, so you can subscribe as narrowly as one sensor's uplinks or as broadly as everything you own. Credentials are issued with your environment and anonymous connections are refused.
You will see it. Every delivery attempt is logged with the endpoint, the status returned and the latency, and failures are tagged so they are easy to find. Events are not retried on a schedule and a paused integration stops delivering rather than queuing, so design the receiving end to acknowledge quickly and keep your own copy of anything you need to retain.
Only if your hardware is not already in the catalog. Devices using a profile from the built-in catalog arrive decoded into named readings with nothing to write. For anything else you can supply your own decoder, and the raw bytes are delivered alongside the decoded values either way, so a decoder that turns out to be wrong can be corrected against history rather than losing it.
Yes. A command is queued for the device and goes out after its next uplink, which is how LoRaWAN works rather than a limitation of the platform: a battery-powered sensor is not listening most of the time. You can queue from the API, and inspect or clear what is waiting.
With keys you create and can revoke immediately. A key can be marked read only if the thing using it never needs to write. Create one key per integration rather than sharing a single one, so a compromised key can be revoked without taking down anything else.
Yes, and that is the normal arrangement. Integrations attach to a named group of devices rather than to your whole environment, so each customer or site can deliver somewhere different with no routing logic in between.
Bring us your endpoint
Ready to Wire It Up?
us what is going to receive this data and we will tell you what connecting it looks like. If you already know your architecture, bring it and we will poke holes in it.



