Как получить данные из webhook с типом содержимого: application / x-www-form-urlencoded; charset = UTF-8? - PullRequest
0 голосов
/ 09 сентября 2018

Я установил webhook в zoho crm, но когда я пытаюсь получить данные с помощью json_decode(file_get_contents("php://input"), true), он всегда пуст.Судя по типу контента, данные не являются json, я все перепробовал и до сих пор не могу получить данные из webhook.

Любая помощь очень ценится.

ЗахватHTTP POST-запроса: enter image description here

add_action( 'rest_api_init', 'register_api_hooks' );

function register_api_hooks() {
    register_rest_route( 'ep-to-zoho-crm/v1', '/updatecompany', array(
        'methods'  => 'POST',
        'callback' => 'webhook_listener',
    ));
};

function webhook_listener($request){
    // We don't want to process if it did not come from webhook
    //if( !isset( $_GET['companyid'] ) ) { return; }

    //$data = $request->get_param( 'companyid' );

    if ( isset( $_REQUEST['companyid'] ) ) {
        file_put_contents(plugin_dir_path( __FILE__ ).'crm.txt', 'works');
    }else{
        file_put_contents(plugin_dir_path( __FILE__ ).'invalid.txt', 'invalid');
    } 

    /*$data = $_POST['companyid'];

    file_put_contents(plugin_dir_path( __FILE__ ).'crm.txt', $data);


    $json_string = json_encode($_POST);

    $save = file_put_contents(plugin_dir_path( __FILE__ ).'crm.json', $json_string);*/
}
add_action( 'init', 'webhook_listener' );

, и тогда мой URL-адрес webhook выглядит следующим образом https://example.com/wp-json/ep-to-zoho-crm/v1/updatecompany

1 Ответ

0 голосов
/ 24 сентября 2018

Эта проблема заключалась в том, что мой сервер не был правильно настроен, и поэтому данные были заблокированы при отправке на URL моего веб-крюка.

...