Example #1
0
$client_mr = new SoapClient(MondialRelay::MR_URL . 'webservice/Web_Services.asmx?WSDL');
$client_mr->soap_defencoding = 'UTF-8';
$client_mr->decode_utf8 = false;
$i = 0;
foreach ($expeditions as $expedition) {
    if ($expedition['id_order'] == null) {
        continue;
    }
    $order = new Order((int) $expedition['id_order']);
    if ($order->current_state == Configuration::get('PS_OS_DELIVERED')) {
        continue;
    }
    $params['Expedition'] = $expedition['exp_number'];
    $params['Security'] = Tools::strtoupper(md5($params['Enseigne'] . $params['Expedition'] . 'FR' . $account_shop['MR_KEY_WEBSERVICE']));
    $is_delivered = 0;
    $result_mr = $client_mr->WSI2_TracingColisDetaille($params);
    if (isset($result_mr->WSI2_TracingColisDetailleResult->Tracing->ret_WSI2_sub_TracingColisDetaille)) {
        foreach ($result_mr->WSI2_TracingColisDetailleResult->Tracing->ret_WSI2_sub_TracingColisDetaille as $result) {
            if (isset($result->Libelle) && $result->Libelle == 'COLIS LIVRÉ') {
                $is_delivered = 1;
                break;
            }
        }
    }
    if ($is_delivered == 1) {
        $history = new OrderHistory();
        $history->id_order = (int) $expedition['id_order'];
        $history->changeIdOrderState((int) Configuration::get('PS_OS_DELIVERED'), (int) $expedition['id_order']);
        $history->addWithemail();
    }
    $i++;