
MPACT
Integration With
Receivers
MN-003968-01EN

Integration with Receivers
Copyright
© 2020 ZIH Corp. and/or its affiliates. All rights reserved. ZEBRA and the stylized Zebra head are trademarks of ZIH
Corp., registered in many jurisdictions worldwide. All other trademarks are the property of their respective owners.
COPYRIGHTS & TRADEMARKS: For complete copyright and trademark information, go to www.zebra.com/copyright.
WARRANTY: For complete warranty information, go to www.zebra.com/warranty.
END USER LICENSE AGREEMENT: For complete EULA information, go to www.zebra.com/eula.
Terms of Use
Proprietary Statement
This manual contains proprietary information of Zebra Technologies Corporation and its subsidiaries (“Zebra
Technologies”). It is intended solely for the information and use of parties operating and maintaining the equipment
described herein. Such proprietary information may not be used, reproduced, or disclosed to any other parties for any other
purpose without the express, written permission of Zebra Technologies.
Product Improvements
Continuous improvement of products is a policy of Zebra Technologies. All specifications and designs are subject to
change without notice.
Liability Disclaimer
Zebra Technologies takes steps to ensure that its published Engineering specifications and manuals are correct; however,
errors do occur. Zebra Technologies reserves the right to correct any such errors and disclaims liability resulting therefrom.
Limitation of Liability
In no event shall Zebra Technologies or anyone else involved in the creation, production, or delivery of the accompanying
product (including hardware and software) be liable for any damages whatsoever (including, without limitation,
consequential damages including loss of business profits, business interruption, or loss of business information) arising out
of the use of, the results of use of, or inability to use such product, even if Zebra Technologies has been advised of the
possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential
damages, so the above limitation or exclusion may not apply to you.
2

Integration with Receivers
Table of Contents
Copyright - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2
Terms of Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2
Proprietary Statement - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2
Product Improvements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2
Liability Disclaimer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2
Limitation of Liability - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -2
Table of Contents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -3
Receiver Bootstrapping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4
Sample Badge_Config.JSON - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -4
Bootstrap Process - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5
Receiver Filter Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5
Sample Simple Receiver Filter Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5
Sample Response From Server For Time Request By Receiver - - - - - - - - - - - - - - - - - - - - - -8
Sample HeartBeat Event Sent By Receiver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8
Sample Asynchronous Event Sent By Receiver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -8
Sample Beacon Data Sent by Receiver - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -9
Sample Receiver Filter Configuration With Support For SuperBeacons - - - - - - - - - - - - - - - - -10
Sample Beacon Data Sent By Receiver With SuperBeacons - - - - - - - - - - - - - - - - - - - - - - - - -12
3

Integration with Receivers
Receiver Bootstrapping
If a receiver has not been configured before then it tries to initialize itself.
Receiver acts as a WIFI client. It uses the following WIFI connection details to join the network.
SSID: mpact_init
Security Type: wpa2
Security Key: mpact123
Upon joining the network the receiver continues with its initialization process.
The network settings and the gateway or endpoint-server way settings are needed for the receiver to complete its
initialization process. The receiver expects it to be available from a machine with following details:
IP: 192.168.1.100
Port: 8005
The receiver expects a JSON configuration file called
the bootstrap JSON file is available in the schema document [
badge_config.json
JSON Schema for Receivers.doc
to be served from this location. The schema for
].
Sample Badge_Config.JSON
{
"wifiProfiles": [{
"ssid": "wifinetwork123",
"securityKey": "abcd1234",
"securityType": "wpa2",
"wpaEnterpriseUser": "",
"wpaEnterprisePassword": "",
"wpaEnterpriseOuterIdentity": "",
"eapType": "",
"enable": true
}],
"gatewayConfigs": [{
"user": "superuser",
"password": "mpact123",
"receiverConfigURL": "http://192.168.1.100:8005/gateway-client/config/v1/receiver",
"configPullFrequencyInMins": 5,
"enable": true
}]
}
4

Bootstrap Process
Integration with Receivers
badge_config.json has
network. The end point server connection details are provided in the
The receiver would validate the badge_config.json store the details and reboot itself and join the WIFI network provided in
the
wifiProfiles
JSON file by making a GET request to the URL specified in
64 authentication, the username and password provided in the
Receiver would periodically pull the beacon filter configuration from the server with the frequency specified in the
section. After successfully joining the WIFI network the receiver would try to pull a beacon filter configuration
configPullFrequencyInMins
wifiProfiles
section that tells the receiver how to the authenticate itself and connect to the WIFI
gatewayConfigs
receiverConfigURL
user
and
attribute and use changes to beacon filter configuration if any.
JSON attribute. If the server requires basic
password
section.
sections would be used by the receiver.
Receiver Filter Configuration
The beacon filtering details as well as the event, health endpoint details are to be provided to the receiver in the JSON file.
The schema for the beacon filter JSON file is available in the schema document [
server should implement the endpoints for the following:
1. Provide beacon filter configuration requested by receiver using HTTP GET [Mandatory]
2. Provide time data
3. requested by receiver using HTTP GET [Mandatory]
4. Accept health events sent by receiver using HTTP POST [Mandatory]
5. Accept beacon data events sent by receiver using HTTP POST [Mandatory]
6. Provide firmware requested by receiver using HTTP GET [Optional]
JSON Schema for Receivers.doc
]. The
Sample Simple Receiver Filter Configuration
{
"scanIntervalInMilliseconds": 500,
"wifiTransmissionInterval": 8,
"heartbeatIntervalInSeconds": 30,
"timePullIntervalInMinutes": 5,
"bootTimeWaitInSeconds": 4,
"beaconWhiteList": [{
"uuid": "FE913213-B311-4A42-8C16-47FAEAC938AB",
"type": "mpact"
},
{
"uuid": "FE913213-B311-4A42-8C16-47FAEAC938EF",
"type": "mpact"
}
],
"profiles": [{
"name": "Location Beacons",
"profileLow": 1,
5