When trying to get requests from the zendesk via their proxy it sends them in the following fashion:
body:{"user_id":"50","api_key":"XXX"}
PHP will have problems parsing the request header and stuffing it into the global $_POST variable. To get it to work you can use the following snippet. This returns an array, just like you would normally expect:
get_object_vars((json_decode(file_get_contents("php://input"))));