API Reference

API Reference

Technical API documentation for OperaMetrix modules

API Reference

Complete API reference for OperaMetrix modules and scripting functions.

Octopush SMS Module

system.octopush.sendSMS()

Send a single SMS message.

Syntax:

system.octopush.sendSMS(phoneNumber, message, [options])

Parameters:

  • phoneNumber (String) - Recipient phone number in international format
  • message (String) - Message content (max 160 chars for standard SMS)
  • options (Dict, optional) - Additional options

Returns: Message ID (String)

Example:

msgId = system.octopush.sendSMS(
    phoneNumber="+33612345678",
    message="Alert: High temperature detected"
)

system.octopush.sendSMSToMultiple()

Send SMS to multiple recipients.

Syntax:

system.octopush.sendSMSToMultiple(phoneNumbers, message)

Parameters:

  • phoneNumbers (List) - List of phone numbers
  • message (String) - Message content

Returns: List of message IDs

LoRaWAN IoT Module

system.lorawan.sendDownlink()

Send a downlink message to a LoRaWAN device.

Syntax:

system.lorawan.sendDownlink(deviceEUI, port, payload, [confirmed])

Parameters:

  • deviceEUI (String) - Device EUI in hex format
  • port (Integer) - FPort number (1-223)
  • payload (List) - Byte array payload
  • confirmed (Boolean, optional) - Request confirmation (default: False)

Returns: Boolean - Success status

Example:

success = system.lorawan.sendDownlink(
    deviceEUI="0123456789ABCDEF",
    port=1,
    payload=[0x01, 0x00],
    confirmed=True
)

system.lorawan.getDeviceStatus()

Get the current status of a LoRaWAN device.

Syntax:

system.lorawan.getDeviceStatus(deviceEUI)

Parameters:

  • deviceEUI (String) - Device EUI

Returns: Dictionary with device status

Example:

status = system.lorawan.getDeviceStatus("0123456789ABCDEF")
print(status['lastSeen'])
print(status['batteryLevel'])

Teltonika SMS Module

system.teltonika.sendSMS()

Send SMS via Teltonika modem.

Syntax:

system.teltonika.sendSMS(phoneNumber, message, [modemId])

Parameters:

  • phoneNumber (String) - Recipient phone number
  • message (String) - Message content
  • modemId (String, optional) - Specific modem ID

Returns: Boolean - Success status

Common Functions

Error Handling

All functions may throw exceptions. Use try-catch:

try:
    system.octopush.sendSMS("+33612345678", "Test")
except Exception as e:
    logger = system.util.getLogger("SMS")
    logger.error("Failed to send SMS: " + str(e))

Rate Limits

Be aware of API rate limits:

  • Octopush: 100 requests/minute
  • LoRaWAN downlinks: Varies by device class

Response Codes

Common HTTP response codes:

  • 200 - Success
  • 400 - Bad request (invalid parameters)
  • 401 - Unauthorized (check credentials)
  • 429 - Rate limit exceeded
  • 500 - Server error

Support

For additional API support, contact our technical team.