Receive JSON POST Data
Purpose
Request came across my desk for a web server to receive JSON POST data, providing web hooks for a business analyst to parse. On my end things were simple enough.
- Simple Apache server to receive requests.
- Basic Authentication
- Save the POST data to file (For now, but I feel this will be expanded in the near future)
Process
[1][2]This example will echo the posted data back to the client during testing, as well as save the file to disk.
<?php $myFile = "testFile.txt"; $data = file_get_contents('php://input'); echo $data; file_put_contents($myFile,$data); ?>
To further build on this, and to keep track of the received hooks, I wanted to add a date/time stamp to the file[3].
<?php $today = date("mdY_His"); $myFile = "testFile_$today.txt"; $data = file_get_contents('php://input'); file_put_contents($myFile,$data); ?>
Testing
Used the following POST method with curl to test with.
curl -X POST -H "Content-Type: application/json" --data '{"test":"1"}' http://localhost