После отправки заказа на внешнюю службу доставки я хочу настроить проверку его статуса. А если его статус изменился, измените его в Woocommerce.
Я настроил отправку данных заказа во внешнюю службу доставки.
add_action('woocommerce_thankyou', 'send_order_to_shiping');
function send_order_to_shiping( $order_id ){
$order = wc_get_order( $order_id );
$order_data = $order->get_data();
// Get order details
$parametr['sale_amount'] = $order_data['discount_total'];
$parametr['street'] = $order_data['billing']['address_1'];
$parametr['home'] = $order_data['billing']['address_2'];
$order_id = $order_data['id'];
foreach ($parametr as $key => $value){
$data .= "¶metr[".$key."]=".$value."";
}
// Send data
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://app.example.com/api/index.php?new_order");
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
}
Когда я отправляю заказ (пример id 555), я получаю ответ echo $result;
:
id_order из службы доставки - 7273896.
echo $result;
Показать:
{"result":"success","order_id":7273896,"order_number":10}
Итак, у меня есть идентификатор заказа в Woocommerce - 555, идентификатор заказа в службе доставки 7273896.
Логически мне нужно сохранить это в метаданных заказа и сделать проверку статуса отдельно с этими данными.