2014-11-03 96 views
1

我有一個短信API,我打電話發送短信。我傳遞一些json和url回調來獲得響應狀態,併發送短信。如何從休息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 2014-11-03 15:09:00

+0

該API是https://www51.e-goi.com/doc/index#method.public.webhooks.addSmsHook – JupiterN 2014-11-03 15:11:39

+0

當然,你什麼都得不到,文檔說:'返回:無效' – vaso123 2014-11-03 15:12:48

回答

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將被用作回調。因此,可以想象您訂閱的SENT掛鉤網址爲http://foo.org/foo.php

與鉤子相關的數據將被髮送(POST'ed)到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)看到正在發送的。

希望這有助於 問候, LL

+2

你的邏輯被糾正,但POST是空的。我設法使用php輸入stram reader php://輸入獲取內容。謝謝 – JupiterN 2014-11-04 12:32:28