|
| 1 | +--- |
| 2 | +title: "Getting Started with KORE SUPER SIM Event Streams" |
| 3 | +date: 2025-11-27 |
| 4 | +description: "A practical guide on how to set up Destinations, create Streaming Rules, and receive real-time events using KORE SUPER SIM Event Streams." |
| 5 | +categories: ["KORE", "KORE ONE", "SUPER", "API"] |
| 6 | +tags: ["KORE", "KORE ONE", "Event Streams", "Super SIM", "Streaming", "Connectivity", "How to", "Getting Started"] |
| 7 | +image: "KORE-ONE.png" |
| 8 | +--- |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | +## Introduction |
| 13 | + |
| 14 | +Hi there, my name is **Vitor Ribeiro**, and I am a **Solutions Architect** at [**KORE Wireless**](https://www.korewireless.com). |
| 15 | +As part of my work with customers, I help onboard teams into our developer ecosystem — including features like **Event Streams**, which provide real-time data delivery for KORE products, including **Super SIM**. |
| 16 | + |
| 17 | +This article will show you how to configure **Destinations**, create **Streaming Rules**, and receive events using a **Webhook**. |
| 18 | + |
| 19 | +It’s inspired by the [**official documentation**](https://docs.korewireless.com/en-us/supersim/supersim-first-steps/get-started-with-super-sim-connection-events) but written with a more practical, step-by-step approach. |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | + |
| 24 | +## Prerequisites |
| 25 | + |
| 26 | +Event Streams are available on the [**KORE Developer Console**](https://build-app.korewireless.com/dashboard). |
| 27 | + |
| 28 | +You will need: |
| 29 | +- Contracted for [**KORE SUPER SIM**](https://www.korewireless.com/super-sim/) or registered account at [**KORE Console**](https://console.korewireless.com/)) |
| 30 | +- Access to the [**KORE Developer Console**](https://build-app.korewireless.com/dashboard) |
| 31 | +- A reachable **HTTPS Webhook endpoint**. |
| 32 | + |
| 33 | +If you are **not** a KORE Wireless customer and want access to these services, [contact us here](https://www.korewireless.com/contact-us/). |
| 34 | + |
| 35 | +You don’t need advanced programming knowledge, but you should be familiar with concepts like: |
| 36 | + |
| 37 | +- [Webhooks](https://en.wikipedia.org/wiki/Webhook) |
| 38 | +- [JSON](json.org) |
| 39 | +- [CloudEvents](https://cloudevents.io/) & it's [format](https://github.com/cloudevents/spec/blob/v1.0/spec.md) |
| 40 | +- [REST APIs](https://aws.amazon.com/what-is/restful-api/) |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +## Overview |
| 45 | + |
| 46 | +**Event Streams** allow you to receive real-time events from KORE products delivered to a destination you configure. |
| 47 | + |
| 48 | +The core components are: |
| 49 | + |
| 50 | +| Component | Description | |
| 51 | +|----------|-------------| |
| 52 | +| [**Destinations**](https://docs.korewireless.com/en-us/developers/event-streams/destinations) | Where events are delivered (Webhook or AWS Kinesis). | |
| 53 | +| [**Streaming Rules**](https://docs.korewireless.com/en-us/developers/event-streams/streaming-rules) | Define which events should be delivered and to which destination. | |
| 54 | +| [**Event Types**](https://docs.korewireless.com/en-us/developers/event-streams/events) **&** [**Event Schemas**](https://docs.korewireless.com/en-us/developers/event-streams/events#event-schemas) | The structure and versioning of the JSON payloads you will receive. | |
| 55 | + |
| 56 | +This article focuses on helping you set up an end-to-end flow that begins with event delivery and finishes with a working webhook receiver. |
| 57 | + |
| 58 | +--- |
| 59 | + |
| 60 | +## Creating a Destination |
| 61 | + |
| 62 | +A **Destination** represents where Event Streams should deliver your data. |
| 63 | + |
| 64 | +You can choose: |
| 65 | + |
| 66 | +- A **Webhook** (recommended for simple setups and testing) |
| 67 | +- An **AWS Kinesis Stream** (recommended for production) |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +### Creating a Webhook Destination |
| 74 | + |
| 75 | +1. Log into the [KORE Developer Portal](https://build-app.korewireless.com/dashboard). |
| 76 | +2. Navigate to **Event Streams → Destinations**. |
| 77 | +3. Select **“+ Create”**. |
| 78 | +4. Choose **Kore Webhook** as the destination type. |
| 79 | +5. Provide: |
| 80 | + |
| 81 | + - **Destination URL** — must be a reachable HTTPS endpoint |
| 82 | + - **HTTP Method** — typically `POST` |
| 83 | + |
| 84 | +6. Save the destination. |
| 85 | + |
| 86 | +Once saved, open the Destination and use **“Test Event”** to confirm that KORE can reach your endpoint. |
| 87 | + |
| 88 | +> If the test fails, confirm your firewall rules, SSL certificate, or public exposure of your endpoint. |
| 89 | +
|
| 90 | +--- |
| 91 | + |
| 92 | +## Creating a Streaming Rule |
| 93 | + |
| 94 | +A Streaming Rule defines **which** event types you want and **where** they should go. |
| 95 | +--- |
| 96 | + |
| 97 | +### Creating a New Rule |
| 98 | + |
| 99 | +1. Go to **Event Streams → Streaming Rules**. |
| 100 | +2. Select **“+ Create”**. |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | +3. Configure: |
| 105 | + |
| 106 | +- **Rule Status** → `Enabled` or `Disabled` |
| 107 | +- **Destination** → select the destination created previously |
| 108 | +- **Streaming Rule Name** |
| 109 | +- **Product Group** → *Connectivity* |
| 110 | +- **Event Types** → choose individual event types |
| 111 | +- **Schema Version** → apply globally or per event type |
| 112 | + |
| 113 | +4. Save your rule. |
| 114 | +5. Once the rule is **Enabled**, events will begin flowing immediately. |
| 115 | + |
| 116 | +> Use **Disabled** if you are not ready to receive events yet. |
| 117 | +
|
| 118 | +--- |
| 119 | + |
| 120 | +## Understanding Event Types & Schemas |
| 121 | + |
| 122 | +You can browse all KORE event types in **Event Streams → Events**. |
| 123 | + |
| 124 | +Events follow the **CloudEvents 1.0** specification: |
| 125 | + |
| 126 | +```json |
| 127 | +{ |
| 128 | + "data": { "...": "event data" }, |
| 129 | + "id": "fff521c2-c7db-4b53-a5a0-c5d5d01f66ce", |
| 130 | + "time": "2024-09-25T19:09:48.5842087+00:00", |
| 131 | + "type": "com.kore.eventstreams.test.event", |
| 132 | + "source": "kore-events", |
| 133 | + "dataschema": "/schemas/test/1", |
| 134 | + "specversion": "1.0", |
| 135 | + "datacontenttype": "application/json" |
| 136 | +} |
| 137 | +``` |
| 138 | + |
| 139 | +Why schemas matter: |
| 140 | + |
| 141 | +- They help ensure consistent parsing |
| 142 | +- They provide versioning for long-term compatibility |
| 143 | +- They make downstream analytics easier |
| 144 | + |
| 145 | +--- |
| 146 | + |
| 147 | +## Building a Webhook Server + Heatmap |
| 148 | + |
| 149 | +Below is a simple **Python +** [**FastAPI**](https://fastapi.tiangolo.com/) webhook listener adapted from KORE’s Super SIM Event Streams example plotting START/UPDATE AND ENDED events. |
| 150 | + |
| 151 | +You can download the code from my [**GitHub repository here**](https://github.com/naturalfunction/KORE-SUPERSIM-heatmap). You can read more about the [**KORE SUPER SIM Heatmap here**](https://vitorribeiro.com/p/KORE-SUPER-SIM-Heat-map-using-Event-Streams/). |
| 152 | + |
| 153 | + |
| 154 | +Expose it publicly using something [**Cloudflare Tunnels**](https://www.cloudflare.com/zero-trust/products/access/): |
| 155 | + |
| 156 | + |
| 157 | +Then set your Destination URL to: |
| 158 | + |
| 159 | +``` |
| 160 | +https://yourdomain.com/webhooks/supersim |
| 161 | +``` |
| 162 | + |
| 163 | +--- |
| 164 | + |
| 165 | +## Testing Your Setup |
| 166 | + |
| 167 | +### Test the Destination |
| 168 | + |
| 169 | +Use the **“Test Event”** button in the Destination details on the Developer Portal. |
| 170 | + |
| 171 | +Your server should print the test event. |
| 172 | + |
| 173 | +### Trigger Real Events (Super SIM Example) |
| 174 | + |
| 175 | +When using Super SIM, you will receive lifecycle events such as: |
| 176 | + |
| 177 | +- `connection.attachment.accepted` |
| 178 | +- `connection.data-session.started` |
| 179 | +- `connection.data-session.updated` |
| 180 | +- `connection.data-session.ended` |
| 181 | + |
| 182 | +These events are perfect for dashboards, analytics, or alerting pipelines. |
| 183 | + |
| 184 | +--- |
| 185 | + |
| 186 | +## Considerations |
| 187 | + |
| 188 | +Event Streams are powerful, but you should design your system with these best practices in mind: |
| 189 | + |
| 190 | +- **Events may be batched** — up to 50 in a single request |
| 191 | +- **Events may be duplicated** — dedupe using the CloudEvents `id` |
| 192 | +- **Events may arrive out of order** — rely on the `time` property |
| 193 | +- **Webhook endpoints must respond quickly** (< 5 seconds) |
| 194 | + |
| 195 | +For large-scale deployments, consider using **AWS Kinesis** or a message queue downstream. |
| 196 | + |
| 197 | +If you have any questions, feel free to reach out to me [here](mailto:vribeiro@korewireless.com). |
| 198 | + |
| 199 | +--- |
| 200 | + |
| 201 | +## Available Resources |
| 202 | + |
| 203 | +### Developer Portal |
| 204 | + |
| 205 | +Visit the [Developer Portal](https://developer-app.korewireless.com) for documentation, API reference, and schema exploration. |
| 206 | + |
| 207 | +### GitHub |
| 208 | + |
| 209 | +KORE offers a GitHub repository with code samples: |
| 210 | + |
| 211 | +- https://github.com/korewireless |
| 212 | + |
| 213 | + 4 |
| 214 | + |
| 215 | +More Event Streams examples will be added over time. |
| 216 | + |
| 217 | +--- |
0 commit comments