Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

HTTP V1 Integration

Overview

HTTP V1 forwards uplink data from the Network Server to an external HTTP endpoint and allows an external application to submit downlink requests to the Network Server.

HTTP V1 supports V1 data converters only.

HTTP Integration Parameters

  • Name
    any unique Integration Name

  • Type
    Integration Type

  • Data Converter
    Name of the Data Converter which will be used to decode and encode payload of Devices provisioned to the current Integration NOTE: Converter v2 is not available for use with Integration v1.

  • HTTP URL path
    URL path part of Network Server endpoint which will be called by application to send downlink to device. Complete endpoint address will contain 3 parts: <Network Server domain name> <HTTP URL path> <automatically generated API key> Example: https://lorawan-ns-na.tektelic.com/api/v1/integration 36f77edf4a6440db80a6cecbf5b27c5ce7b63146fdfc485ca308a459cb6466f4 NOTE: you have to provide Network Server URL before path part. API key will be generated once you will create HTTP Integration (by pressing “Add”)

  • Application address
    Domain name of application endpoint which will be called by Network Server to send uplink from device.

  • Port
    port which is used by your application for HTTP protocol.

  • Base path
    URL path part of application endpoint which will be called by Network Server to send uplink from device.

  • Enable HTTPS
    Enable or disable TLS

  • Authentication Method
    Authentication method to be used

  • Request Headers
    Headers that can be added when Network Server calls application endpoint.

  • Send empty payload
    If selected LoRa packet will be pushed to application via MQTT even if FRMPayload is empty

  • Allow All Ports
    Defines which LoRa ports can be used

  • clientCertificate
    clientCertificate can be:

    • passed as string
    • drag-and-dropped
    • uploaded file from PC
  • caCertificate
    caCertificate can be:

    • passed as string
    • drag-and-dropped
    • uploaded file from PC
  • clientPrivateKey
    clientPrivateKey can be:

    • passed as string
    • drag-and-dropped
    • uploaded file from PC

{
  "payloadMetaData": {
    "applicationMetaData": {
      "id": {
        "entityType": "APPLICATION",
        "id": "{applicationId}"
      },
      "customerId": {
        "entityType": "CUSTOMER",
        "id": "{customerId}"
      },
      "subCustomerId": {
        "entityType": "SUB_CUSTOMER",
        "id": "{subCustomerId}"
      },
      "name": "{applicationName}"
    },
    "gatewayMetaDataList": [
      {
        "id": {
          "entityType": "GATEWAY",
          "id": "{gatewayId}"
        },
        "name": "{gatewayName}",
        "mac": "{gatewayMac}",
        "latitude": null,
        "longitude": null,
        "altitude": null,
        "rxInfo": {
          "channel": 7,
          "codeRate": "4/5",
          "crcStatus": 1,
          "dataRate": {
            "modulation": "LORA",
            "spreadFactor": 7,
            "bandwidth": 125
          },
          "frequency": 868500000,
          "loRaSNR": 2.5,
          "mac": "{gatewayMac}",
          "rfChain": 0,
          "rssi": -111,
          "size": 24,
          "time": "2022-06-14T13:49:01Z",
          "timestamp": 1655203741192,
          "timeGps": null,
          "tmms": null,
          "nsIngressTimeMs": 1709556362000,
          "rsig": null,
          "antenna": 0
        }
      } 
    ],
    "deviceMetaData": {
      "id": {
        "entityType": "DEVICE",
        "id": "{deviceId}"
      },
      "name": "{deviceName}",
      "deviceClass": "{deviceClass}",
      "deviceEUI": "{devEUI}",
      "appEUI": "{appEUI}"
    },
    "fcount": 26,
    "fport": 10,
    "adr": true
  },
  "payload": {
    "bytes": "[1,101,0,-9,5,105,72,0,-2,5,41]",
    "port": 10,
    "payload length": 11
  }
}

Please note: the payload may vary depending on the converter The payload above ("payload": { "bytes": "[1,101,0,-9,5,105,72,0,-2,5,41]", "port": 10, "payload length": 11 }) is the default example.

data - base64 encoded payload to be sent to the Device

{
  "msgId":"1",
  "devEUI":"647FDA0000000000",
  "confirmed":true,
  "data":"{\"params\":{\"data\":\"oAAAADw=\",\"port\":100}}"
}

Troubleshooting

If uplinks are not delivered:

  • verify that the application hostname, port, and base path are correct;
  • verify that the endpoint is reachable from the Network Server;
  • verify TLS certificates when HTTPS is enabled;
  • check Alarms for integration errors;
  • review retry statistics if retry scheduling is enabled.