从wordpress接收数据

Receiving data from word press

我在 WordPress 中创建了自定义 PHP 文件,以通过其网络服务将订单数据发送到会计服务器。

现在我需要从那个记账服务器上取货量,更新每个产品的库存。

我没有访问那个服务器,他们也没有任何关于他们的网络服务的文档。

我试图找到一些有关使用网络服务来执行此操作的信息,但我得到的唯一结果是通过网络服务发送(而不是接收)WordPress 网站的数据。

这是我将订单详细信息发送到会计服务器的代码:

<?php
require_once('../wp-config.php');
require_once('../wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php');

$today =  new DateTime();
$today->setTime( 0, 0, 0 );

$args = array(
    'limit' => 9999,
    'return' => 'ids',
    'date_completed' => $today,
    'status' => 'completed'
);

$query = new WC_Order_Query( $args );
$orders = $query->get_orders();

$url = "http://###.###.###.###:8081/Service1.svc/InsertInvoice";

foreach( $orders as $order_id ) {
    $order = wc_get_order( $order_id );
    $order_date_completed = $order->get_date_completed();
    if (false === strtotime($order_date_completed)) {
        echo 'Invalid date for order number '.$order_id.'<br>';
    }else {
        $order_date_completed->setTime( 0, 0, 0 );
        $diff = $today->diff( $order_date_completed );
        $diffDays = (integer)$diff->format( "%R%a" );

        if($diffDays == 0){

            $items = $order->get_items();
            $InvoiceInfo = array();

            foreach( $items as $item ){

                $product = $item->get_product();

                $item_sku  = $product->get_sku();
                $saleType  = substr($item_sku, 1, 2);
                $item_code = substr($item_sku, 3, 8);
                $user_id   = substr($item_sku, 11, 6);

                $data2 = array(
                    'CustomerCode' => $user_id,
                    'SaleTypeNumber' => $saleType,
                    'ItemCode' => $item_code,
                    'Quantity' => $item->get_quantity(),
                    'Fee' => $product->get_price(),
                    'Discount' => 0,
                    'Addition' => 0,
                    'Tax' => 0,
                    'Duty' => 0,
                    'Rate' => 1,
                    'StockCode' => 5,
                );
                array_push($InvoiceInfo,$data2);
            }

            $postdata = json_encode($InvoiceInfo);
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
            $result = curl_exec($ch);
            curl_close($ch);
        }
    }
}
?>

为了向 WooCommerce 发送数据,您可以使用 WordPress REST API 可以从任何地方接收数据的自定义端点。

但是,由于您没有提供会计服务器的名称,甚至没有提供有关会计应用程序的任何信息,您必须检查是否可以将数据从您的会计应用程序发送到 webhook(使用服务像扎皮尔)。