首页 > 解决方案 > Woocommerce webhook 数据传输

问题描述

我正在使用 woocommerce webhook 将订单发送到外部软件。所以我所做的就是创建 webhook 并创建一个 wordpress rest 路由来获取订单数据,然后使用 CURL 将订单数据发送到自定义软件。

一切正常,但我无法获得订单对象。

有人可以帮忙吗?

这里的路线注册:

register_rest_route( 'test/v1', '/order/send/', array(
    'methods' => 'POST',
    'callback' => 'send_order',
));

这里的回调函数:

function send_order(WP_REST_Request $request){
    $fp = fopen(dirname( __DIR__ ).'/test-orders.txt', 'w');
    $json = json_encode($request);

    if(fwrite($fp, $json)){
        fclose($fp);
        $return['order']['code'] = 200;
        $return['order']['message'] = "OK";
        $return['order']['data'] = $json;
    }

    return $return;
}

标签: restwoocommercerouteswebhooks

解决方案


解决了。

这里正确的回调函数:

function send_order(WP_REST_Request $request){
    $fp = fopen(dirname( __DIR__ ).'/test-orders.txt', 'w');
    $json = json_encode($request->get_params();

    if(fwrite($fp, $json)){
        fclose($fp);
        $return['order']['code'] = 200;
        $return['order']['message'] = "OK";
        $return['order']['data'] = $json;
    }

    return $return;
}

推荐阅读