how to get response from rest api callback call
I have a sms api in php that i call to send sms. I pass some json and a url callback to get response status and the sms is sent.
Afterwards the server calls my callback url but i cannot get the response body. $_GET and $_POST are empty... The documentation is non existing. It should have some json. Can someone help me? Thanks in advance
REQUEST_URI => /dev/egoi-resp.php GET => Array ( ) POST => Array ( ) SERVER => Array ( [PATH] => /sbin:/usr/sbin:/bin:/usr/bin [PWD] => /usr/local/cpanel/cgi-sys [SHLVL] => 0 [SCRIPT_NAME] => /dev/egoi-resp.php [REQUEST_URI] => /dev/egoi-resp.php [QUERY_STRING] => [REQUEST_METHOD] => POST [SERVER_PROTOCOL] => HTTP/1.1 [GATEWAY_INTERFACE] => CGI/1.1 [REMOTE_PORT] => 45721 [SCRIPT_FILENAME] => /home/nchaves/public_html/dev/egoi-resp.php [SERVER_ADMIN] => webmaster@nunochaves.com [CONTEXT_DOCUMENT_ROOT] => /home/nchaves/public_html [CONTEXT_PREFIX] => [REQUEST_SCHEME] => http [DOCUMENT_ROOT] => /home/nchaves/public_html [REMOTE_ADDR] => 94.46.251.59 [SERVER_PORT] => 80 [SERVER_ADDR] => 185.11.164.13 [SERVER_NAME] => nunochaves.com [SERVER_SOFTWARE] => Apache [SERVER_SIGNATURE] => [LD_LIBRARY_PATH] => /usr/local/apache/lib [CONTENT_LENGTH] => 166 [HTTP_CONNECTION] => close [HTTP_HOST] => nunochaves.com [HTTP_USER_AGENT] => Java/1.7.0_25 [HTTP_ACCEPT] => application/json [CONTENT_TYPE] => application/json [UNIQUE_ID] => VFeXf7kLpA0AB@tWLxMAAADG [FCGI_ROLE] => RESPONDER [PHP_SELF] => /dev/egoi-resp.php [REQUEST_TIME_FLOAT] => 1415026559.7367 [REQUEST_TIME] => 1415026559 )
I had the hole webhook thing working. the only trouble was to grad the json answer when the hook was called. I managed to find the answer.
$data = json_decode(file_get_contents('php://input'));
According to the documentation:
url (string)
The URL that will be used for the Hook
actions (list)
The list of actions for which this hook is triggered.
Acceptable values: PROCESSED, SENT, DELIVERED, FAILED, CANCELED,
This URL will be used as the callback when a hook is triggered for the events you subscribed. So, lets imagine you subscribe to the SENT
hook with the url http://foo.org/foo.php
.
The hook related data will be sent ( POST
'ed) to the url -> http://foo.org/foo.php
.
To see the received data I would go with this (naive) stub as a starting point:
<?php
$f = fopen('/tmp/hook.log', 'a+');
$d = date('Y-m-d H:i:s');
fwrite($f, "------------- $d -----------n");
fwrite($f, print_r($_POST, true));
fclose($f);
?>
Examine the /tmp/hook.log
file ( tail -f /tmp/hook.log
) to see what is being sent.
Hope this helps, Regards, LL
链接地址: http://www.djcxy.com/p/8596.html上一篇: Spring MVC:发布请求和包含数组的json对象:错误的请求
下一篇: 如何获得来自其他API回调调用的响应