2014-11-03 4 views
1

나는 sms를 보내기 위해 PHP에서 sms api를 가지고있다. 응답 상태를 얻기 위해 json과 url 콜백을 전달하고 sms가 보내집니다.나머지 API 콜백 호출에서 응답을 얻는 방법

이후 서버에서 콜백 URL을 호출하지만 응답 본문을 가져올 수 없습니다. $ _GET 및 $ _POST는 비어 있습니다 ... 설명서가 존재하지 않습니다. 약간의 json이 있어야합니다. 누군가 나를 도울 수 있습니까? 문서에 따르면 사전

 

    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] => [email protected] 
     [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] => [email protected] 
     [FCGI_ROLE] => RESPONDER 
     [PHP_SELF] => /dev/egoi-resp.php 
     [REQUEST_TIME_FLOAT] => 1415026559.7367 
     [REQUEST_TIME] => 1415026559 
    ) 

+0

귀하의 API가 무엇인지 모르기 때문에 귀하를 도와 드릴 수 없습니다. 문서 나 코드가 없으면 어떻게해야 API가 필요합니까? – vaso123

+0

api는 https://www51.e-goi.com/doc/index#method.public.webhooks.addSmsHook – JupiterN

+0

입니다. 물론 아무것도 반환하지 않습니다. 문서에 다음과 같이 나와 있습니다 :'Returns : void' – vaso123

답변

2

을하는 데 도움이됩니다. 유일한 문제는 후크가 호출되었을 때 json 응답을 그라디언트하는 것이 었습니다. 나는 그 해답을 찾을 수 있었다.

$ data = json_decode (file_get_contents ('php : // input')));

1

에 감사합니다 : 후크가 당신이 가입 이벤트에 대해 트리거 될 때

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, 

이 URL 콜백으로 사용됩니다. 따라서 http://foo.org/foo.php URL로 SENT 후크에 가입한다고 상상해보십시오.

훅 관련 데이터는 (POST ') URL ->http://foo.org/foo.php으로 전송됩니다.

내가 출발점으로이 (순진) 스텁과 함께 갈 것입니다 수신 된 데이터를 보려면 :

<?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); 
?> 

가 전송되는 것을 확인하기 위해 /tmp/hook.log 파일 (tail -f /tmp/hook.log)을 검사합니다.

희망이, 내가 구멍으로 webhook 일의 작업을했다 안부, LL

+2

논리가 수정되었지만 POST가 비어 있습니다. 나는 PHP input stram reader php : // input을 사용하여 내용을 얻었습니다. 감사 – JupiterN

관련 문제