version 1.0
Overview
The CERTIFY Snap Thermal Reading Reporting API delivers real-time data from CERTIFY.me platform to customers, enabling applications like analytics, reporting tools and custom software.
The thermal data is gathered from the SNAP device sent to CERTIFY.me servers, and is also sent to your server based on your configuration in the portal.
This feature is disabled on all accounts by default. Only enable it if you wish to use thermal data for third-party solutions or your own custom software.
Configuration
To configure the Reporting API Webhook, Navigate to Settings > Webhook to enable and configure the Reporting API.
You must set the following attributes:
Server Location (Call Back URL) |
Where you would like the data to be forwarded. Must be accessible from the internet. |
HMAC Key |
This is the secret used to generate a SHA256 HMAC signature, over the payload (the JSON message). In header we will send – hashed message as HMAC it includes UID (unique Id) + HMAC 256 Key (Secret). At the receiver end, one needs to validate against UID, secret and the message received. The signature is then added to a custom HTTP header (“HMAC”) in the POST message |
Status |
Enable or Disable the Reporting API |
Data Format
The data sent consists of the following elements:
Datamember |
Description |
---|---|
|
Member ID of the Individual if available |
|
Access ID of the Individual if available |
|
First Name if available |
|
Last Name if available |
|
Value of the temperature in Centigrade or Fahrenheit |
|
C – Centigrade or F – Fahrenheit |
|
true – above set threshold |
|
UTC DateTime of the thermal report in |
|
Extended local date/time format (yyyy-MM-ddTHH:mm:ss) |
|
Source IP of the thermal report – IP of the internet connected to the device |
|
Unique ID from thermal report |
|
QR Code Value / Bar Code Value which was used prior to the scan |
|
0 – Pass (All the questions in the questionnaire are answered “No”) 1 – Failed (1 or more questions in the questionnaire is answered “Yes”) |
|
Start of the workflow |
|
1- Mask Preset |
|
Similarity Score of the Face Identification between 80 to 100 |
|
Name of the facility associate with the device. |
|
Name of the location associated with the device |
|
Work flow specific values from the device |
|
Device related data. |
The data is sent via a HTTP POST message to the server. No data is queued to be sent, so if the server specified in the configuration is down or otherwise unreachable, the HTTP POST will fail and cause the data to be lost. The portal will not provide any notification of such failure.
Sample Data:
{ "memberId": "11972417103010", "accessId": "03899", "firstName": "John", "lastName": "Doe", "temperature": "97.7", "temperatureFormat": "F", "exceedThreshold": false, "temperatureRecordTime": "2020-07-07T02:20:38Z", "deviceTime": "2020-07-06T22:20:40", "deviceId": "A040980P02888254", "deviceName": "Front Lobby", "sourceIP": "100.36.111.34", "uid": "6e7cc4b4cc574e19b823593407415bf3", "qrCodeId": "9270d59d96db48648316f60ddebdbd2c", "trqStatus": null, "trigger": "FACE", "maskStatus": 0, "faceScore": 91, "facilityName": "Rockville Office", "locationName": "Lobby", "deviceParameters": "temperatureCompensationValue:0.0", "deviceData": { "osVersion": "Android - 7.1.2", "appVersion": "v3.2.94", "mobileIp": "192.168.87.20", "mobileNumber": "+1", "uniqueDeviceId": "e1b60cf4d2bce1e3", "IMEINumber": "", "deviceModel": "XT980P", "deviceSN": "A040980P02800254", "batteryStatus": "100", "networkStatus": "true", "sourceIP": null } }
Note for PHP users
PHP will not handle raw JSON POST data when processed using the $_POST
variable. To be able to access raw JSON data, you may have to use
“php://input” instead. Here is a sample script that shows you how:-
<?php // The code below uses php://input instead of $_POST as // the data we are processing is not html form based post, // but rather raw json that $_POST does not process. $postdata = file_get_contents("php://input") . "\n\n"; print_r($postdata); file_put_contents('mydata.txt', serialize($postdata), FILE_APPEND | LOCK_EX); ?>
Sample Project:
You can download a .NET Sample Project from GitHub
https://github.com/certify-global/snapwebhook
You must log in to post a comment.