Cannot send drupal_http_request authorization header
You have the second param to drupal_http_request wrong; it should be an array of options, not an array of headers. Headers is just one of those options.

To fix:

$result = drupal_http_request($url, array('headers' =&gt; $headers), 'POST', json_encode($data));