Zabbix server and Zabbix proxy use a JSON-based communication protocol for receiving data from Zabbix sender. Data can be received with the help of a trapper item, or an HTTP agent item with trapping enabled.
Request and response messages must begin with header and data length.
{
           "request": "sender data",
           "data": [
               {
                   "host": "<hostname>",
                   "key": "trap",
                   "value": "test value"
               }
           ]
       }Alternatively, Zabbix sender can send a request with a timestamp and nanoseconds.
{
           "request": "sender data",
           "data": [
               {
                   "host": "<hostname>",
                   "key": "trap",
                   "value": "test value",
                   "clock": 1516710794,
                   "ns": 592397170
               },
               {
                   "host": "<hostname>",
                   "key": "trap",
                   "value": "test value",
                   "clock": 1516710795,
                   "ns": 192399456
               }
           ],
           "clock": 1516712029,
           "ns": 873386094
       }