Locus with 3rd-Party Network Server Integration
This guide describes how to integrate any external LoRaWAN Network Server (LNS) with LOCUS using the TEKTELIC Format Translator API.
Supported Network Servers include:
- Chirpstack
- Loriot
- Actility ThingPark
- Any other LNS capable of pushing uplinks over HTTP
Uplink Path (NS → LOCUS)
Device → LoRaWAN Gateway → Network Server (LNS) → HTTPS Uplink Integration → LOCUS
Downlink Path (LOCUS → NS)
LOCUS → HTTPS Downlink Integration → Network Server (LNS) → LoRaWAN Gateway → Device
Before beginning, ensure:
| Requirement | Description |
|---|---|
| Gateway onboarded to the LNS | Must be Online |
| Device onboarded to the LNS | Must be Online |
This enables the Network Server to push uplink messages to LOCUS.
Inside your Network Server:
- Login to the web UI of the LNS.
- Navigate to the application that contains the device.
- Add a new HTTP integration / output / webhook.
- Configure:
| Field | Value |
|---|---|
| Target / Destination URL | {step server} |
| Payload format / encoding | JSON (if required by LNS) |
| Authorization header | Token or API key (provided by TEKTELIC Support) |
- Save the integration.
Expected Result
Uplink messages will now start flowing from the LNS into LOCUS.
Once uplinks are verified:
- Log in to LOCUS.
- Go to Devices → Add Device.
- Register the same DevEUI used on the Network Server.
After saving, uplink data will appear in LOCUS.
Downlink flow requires two API configurations in LOCUS.
Part A: Configure LoRa Cloud Token
-
Go to LOCUS Swagger: (e.g. https://locus-api.tektelic.com/swagger-ui/index.html#/)
-
Use API endpoint:
POST /api/lora-cloud-configPayload:
{ "tenantId": "<your-tenant-id>", "loraCloudToken": "<your-lora-cloud-token>", "host": "<your-host>", "sendUlPath": "/api/v1/uplink/send" }Replace tenantId, loraCloudToken, and host with actual values.
Part B: Configure Downlink Translator Endpoint (LOCUS → NS)
Still in Swagger, use endpoint:
POST /api/ns-credentials
Payload:
{
"tenantId": "<your-tenant-id>",
"tekNsDlUrl": "{step server}"
}
{step server} must be replaced with the downlink endpoint corresponding to your Network Server.
Depending on which Network Server (NS) you are using, specific configuration values must be applied to enable downlink delivery to LOCUS.
Select your Network Server from the table below and fill the required fields using the values provided.
| Network Server (NS) | Required Settings | Notes |
|---|---|---|
| ChirpStack | Downlink Endpoint URL: {step server}/chirpstackdownlinkAuthorization Header: ApiKey <your_api_key> |
Add integration under Application → Integrations → HTTP. Provide the API Key in the Authorization header. |
| Loriot | Downlink Endpoint URL: {step server}/loriotdownlinkAuthorization / Token: Application ID and Application Access Token (send as header or per Loriot requirements) |
Configure an HTTP Push / Output in the Loriot Application. Use Application ID and Access Token to authorize incoming downlink requests. |
| Actility (ThingPark) | Downlink Endpoint URL: {step server}/actilitydownlinkAuthentication: Client ID + Client Secret (OAuth2 client_credentials) and Downlink UUID |
Create a Service Account to obtain Client ID/Secret and retrieve the Downlink UUID from the IoT Flow connection configuration. Actility may require the Downlink UUID in the request or headers. |
ℹ️
{step server}— the tenant-specific TEKTELIC downlink translator endpoint for your deployment.
To obtain the correct{step server}value, contact support.
(Performed by TEKTELIC Support Once the downlink URL ({step server}) and credentials are collected:
Contact TEKTELIC Support through the Support Portal Support will:
- Inject the credentials into the Format Translator EC2 service
- Validate connectivity and payload exchange
Testing
- In LOCUS, send a downlink command to the device.
- Confirm that the LNS receives the request.
- Confirm that the device receives the downlink.
Integration Complete! LOCUS now receives uplinks from the Network Server and can send downlinks back to it.