* Get all available offers for your send * You can find more informations about quotation's request here : http://ecommerce.envoimoinscher.com/api/documentation/cotations/ */ require_once '../config/autoload.php'; require_once EMC_PARENT_DIR . 'layout/header.php'; /* for multi quotations, all params are set in a single array with a numeric index from 0. * If correctly set, the request response index will be the same as the request numeric index. */ $multirequest = array(); // 1st request $multirequest[0] = array('from' => array('country' => 'FR', 'zipcode' => '38400', 'city' => "Saint Martin d'Hères", 'address' => '13 rue Martin Luther King', 'type' => 'company'), 'to' => array('country' => 'FR', 'zipcode' => '33000', 'city' => 'Bordeaux', 'address' => '24, rue des Ayres', 'type' => 'individual'), 'parcels' => array('type' => 'colis', 'dimensions' => array(1 => array('poids' => 1, 'longueur' => 15, 'largeur' => 16, 'hauteur' => 8))), 'additional_params' => array('collection_date' => date("Y-m-d"), 'delay' => 'aucun', 'content_code' => 10120, 'colis.valeur' => "42.655")); // 2nd request $multirequest[1] = array('from' => array('country' => 'FR', 'zipcode' => '75002', 'city' => "Paris", 'address' => '15 rue Marsollier', 'type' => 'company'), 'to' => array('country' => 'FR', 'zipcode' => '33000', 'city' => 'Bordeaux', 'address' => '24, rue des Ayres', 'type' => 'individual'), 'parcels' => array('type' => 'colis', 'dimensions' => array(1 => array('poids' => 1, 'longueur' => 15, 'largeur' => 16, 'hauteur' => 8))), 'additional_params' => array('collection_date' => date("Y-m-d"), 'delay' => 'aucun', 'content_code' => 10120, 'colis.valeur' => "42.655")); $currency = array('EUR' => '€', 'USD' => '$'); // Prepare and execute the request $lib = new Quotation(); $lib->getQuotationMulti($multirequest); if (!$lib->curl_error) { ?> <h3>API Quotation :</h3> <div class="row"> <table class="table table-hover table-striped table-bordered"> <thead> <tr> <th>Operator</th> <th>Offers</th> <th>Price</th> <th>Collect</th> <th>Delivery</th> <th>Details</th> <th>Warning</th>
'type' => 'colis', 'dimensions' => array( 1 => array('poids' => 21, 'longueur' => 7, 'largeur' => 8, 'hauteur' => 11), 2 => array('poids' => 15, 'longueur' => 9, 'largeur' => 8, 'hauteur' => 11) ) ); */ /* * $additionalParams contains all additional parameters for your request, it includes filters or offer's options * A list of all possible parameters is available here : http://ecommerce.envoimoinscher.com/api/documentation/commandes/ * For an order, you have to provide at least all offer's mandatory parameters returned by the quotation * You can also find all optional parameters (filter not included) in the same quotation */ $additionalParams = array('collection_date' => date('Y-m-d'), 'delay' => 'aucun', 'content_code' => 10120, 'reason' => 'sale', 'colis.valeur' => 1200, 'assurance.selection' => false, 'colis.description' => 'Newspapers', 'url_push' => 'www.my-website.com/push.php&order=N', 'disponibilite.HDE' => '09:00', 'disponibilite.HLE' => '19:00', 'operator' => 'UPSE', 'service' => 'ExpressSaver'); // Initialize request $lib = new Quotation(); // For an international delivery, you must specify the proforma $lib->setProforma(array(1 => array('description_en' => 'L\'Equipe newspaper from 1998', 'description_fr' => 'le journal L\'Equipe du 1998', 'number' => 1, 'value' => 1200, 'origine' => 'FR', 'poids' => 4.9))); /* if you're sending more parcels $lib->setProforma( array( 1 => array( 'description_en' => 'L\'Equipe newspaper from 1998', 'description_fr' => 'le journal L\'Equipe du 1998', 'nombre' => 1, 'valeur' => 10, 'origine' => 'FR', 'poids' => 1.2 ), 2 => array( 'description_en' => '300 editions of L\'Equipe newspaper from 1999',
function test_Quotation($userData) { $result = default_value(); $start = microtime_float(); /* Initialisation */ // shipper address $from = array('pays' => 'FR', 'code_postal' => '75002', 'ville' => 'Paris', 'type' => 'entreprise', 'adresse' => '15, rue Marsollier', 'civilite' => 'M', 'prenom' => 'John', 'nom' => 'Snow', 'societe' => 'Boxtale', 'email' => '*****@*****.**', 'tel' => '0606060606', 'infos' => 'Some informations about this address'); // Recipient's address $to = array('pays' => 'FR', 'code_postal' => '13002', 'ville' => 'Marseille', 'type' => 'particulier', 'adresse' => '1, rue Chape', 'civilite' => 'Mme', 'prenom' => 'Jane', 'nom' => 'Doe', 'email' => '*****@*****.**', 'tel' => '0606060606', 'infos' => 'Some informations about this address'); /* Parcels informations */ $parcels = array('type' => 'colis', 'dimensions' => array(1 => array('poids' => 5, 'longueur' => 15, 'largeur' => 16, 'hauteur' => 8), 2 => array('poids' => 21, 'longueur' => 7, 'largeur' => 8, 'hauteur' => 11))); $order_env = new Quotation($from, $to, $parcels); // Informations sur l'envoi $order_quotInfo = array("collecte" => date("Y-m-d"), "delai" => "aucun", "code_contenu" => 10120, "operator" => "UPSE", "raison" => "sale", "colis.valeur" => 1200, "colis.description" => "Des journaux", "disponibilite.HDE" => "09:00", "disponibilite.HLE" => "19:00"); // Pour cet envoi on est obligé de joindre une facture proforma qui résume 2 objets expédiés $order_env->setProforma(array(1 => array("description_en" => "L'Equipe newspaper from 1998", "description_fr" => "le journal L'Equipe du 1998", "nombre" => 1, "valeur" => 10, "origine" => "FR", "poids" => 1.2), 2 => array("description_en" => "300 editions of L'Equipe newspaper from 1999", "description_fr" => "300 numéros de L'Equipe du 1999", "nombre" => 300, "valeur" => 8, "origine" => "FR", "poids" => 0.1))); $order_env->setEnv('test'); // To make an order on test $orderPassed = $order_env->makeOrder($order_quotInfo, true); $offer_quotInfo = array("collecte" => date("Y-m-d"), "delai" => "aucun", "code_contenu" => 10120); $offer_env = new Quotation($from, $to, $parcels, $offer_quotInfo); $offer_env->getOffers(); /* Reception test */ if (!$orderPassed) { $result['reception'] = max($result['reception'], ERROR); $result['reception_info'][count($result['reception_info'])] = 'Error while making the order (makeOrder returned false)'; } if ($order_env->curl_error) { $result['reception'] = max($result['reception'], ERROR); $result['reception_info'][count($result['reception_info'])] = 'Error while sending the query'; } elseif ($order_env->resp_error) { $result['reception'] = max($result['reception'], ERROR); $result['reception_info'][count($result['reception_info'])] = 'Invalid query : ' . $userData["api_key"]; foreach ($order_env->resp_errors_list as $message) { $result['reception_info'][count($result['reception_info'])] = $message['message']; } } elseif ($offer_env->curl_error) { $result['reception'] = max($result['reception'], ERROR); $result['reception_info'][count($result['reception_info'])] = 'Error while sending the query'; } elseif ($offer_env->resp_error) { $result['reception'] = max($result['reception'], ERROR); $result['reception_info'][count($result['reception_info'])] = 'Invalid query : ' . $userData["api_key"]; foreach ($offer_env->resp_errors_list as $message) { $result['reception_info'][count($result['reception_info'])] = $message['message']; } } else { $result['reception'] = max($result['reception'], OK); $result['reception_info'][count($result['reception_info'])] = 'Reception time : ' . (microtime_float() - $start) . 's'; } /* Additionals test */ /* Test for the result structure */ $result['additionals'][0]['name'] = 'Structure'; $result['additionals'][0]['state'] = OK; if (count($offer_env->offers) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$offers array is empty'; } else { foreach ($offer_env->offers as $x => $offer) { if (!isset($offer_env->offers[$x]['mode'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"mode" not defined in $offers[' . $x . '] array'; } if (!isset($offer_env->offers[$x]['url'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"url" not defined in $offers[' . $x . '] array'; } if (!isset($offer_env->offers[$x]['characteristics'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"characteristics" not defined in $offers[' . $x . '] array'; } if (!isset($offer_env->offers[$x]['alert'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"alert" not defined in $offers[' . $x . '] array'; } if (!isset($offer_env->offers[$x]['operator'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"operator" not defined in $offers[' . $x . '] array'; } else { if (count($offer_env->offers[$x]['operator']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$offers[' . $x . ']["operator"] array is empty'; } else { if (!isset($offer_env->offers[$x]['operator']['code'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"code" not defined in $offers[' . $x . ']["operator"] array'; } if (!isset($offer_env->offers[$x]['operator']['label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"label" not defined in $offers[' . $x . ']["operator"] array'; } if (!isset($offer_env->offers[$x]['operator']['logo'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"logo" not defined in $offers[' . $x . ']["operator"] array'; } } } if (!isset($offer_env->offers[$x]['service'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"operator" not defined in $offers[' . $x . '] array'; } else { if (count($offer_env->offers[$x]['service']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$offers[' . $x . ']["service"] array is empty'; } else { if (!isset($offer_env->offers[$x]['service']['code'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"code" not defined in $offers[' . $x . ']["service"] array'; } if (!isset($offer_env->offers[$x]['service']['label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"label" not defined in $offers[' . $x . ']["service"] array'; } } } if (!isset($offer_env->offers[$x]['price'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"price" not defined in $offers[' . $x . '] array'; } else { if (count($offer_env->offers[$x]['price']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$offers[' . $x . ']["price"] array is empty'; } else { if (!isset($offer_env->offers[$x]['price']['currency'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"currency" not defined in $offers[' . $x . ']["price"] array'; } if (!isset($offer_env->offers[$x]['price']['tax-exclusive'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"tax-exclusive" not defined in $offers[' . $x . ']["price"] array'; } if (!isset($offer_env->offers[$x]['price']['tax-inclusive'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"tax-inclusive" not defined in $offers[' . $x . ']["price"] array'; } } } if (!isset($offer_env->offers[$x]['collection'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"collection" not defined in $offers[' . $x . '] array'; } else { if (count($offer_env->offers[$x]['collection']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$offers[' . $x . ']["collection"] array is empty'; } else { if (!isset($offer_env->offers[$x]['collection']['type'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"type" not defined in $offers[' . $x . ']["collection"] array'; } if (!isset($offer_env->offers[$x]['collection']['date'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"date" not defined in $offers[' . $x . ']["collection"] array'; } if (!isset($offer_env->offers[$x]['collection']['label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"label" not defined in $offers[' . $x . ']["collection"] array'; } } } if (!isset($offer_env->offers[$x]['mandatory'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"mandatory" not defined in $offers[' . $x . '] array'; } elseif (count($offer_env->offers[$x]['mandatory']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$offers[' . $x . ']["mandatory"] array is empty'; } } } if (count($order_env->order) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order array is empty'; } else { if (!isset($order_env->order['ref'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"ref" not defined in $order array'; } if (!isset($order_env->order['date'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"date" not defined in $order array'; } if (!isset($order_env->order['mode'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"mode" not defined in $order array'; } if (!isset($order_env->order['url'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"url" not defined in $order array'; } if (!isset($order_env->order['proforma'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"proforma" not defined in $order array'; } if (!isset($order_env->order['offer']['operator'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"offer"/"operator" not defined in $order array'; } else { if (count($order_env->order['offer']['operator']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order[' . $x . ']["offer"]["operator"] array is empty'; } else { if (!isset($order_env->order['offer']['operator']['code'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"code" not defined in $order["offer"]["operator"] array'; } if (!isset($order_env->order['offer']['operator']['label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"label" not defined in $order["offer"]["operator"] array'; } if (!isset($order_env->order['offer']['operator']['logo'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"logo" not defined in $order["offer"]["operator"] array'; } } } if (!isset($order_env->order['service'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"operator" not defined in $order array'; } else { if (count($order_env->order['service']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order["service"] array is empty'; } else { if (!isset($order_env->order['service']['code'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"code" not defined in $order["service"] array'; } if (!isset($order_env->order['service']['label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"label" not defined in $order["service"] array'; } } } if (!isset($order_env->order['price'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"price" not defined in $order array'; } else { if (count($order_env->order['price']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order["price"] array is empty'; } else { if (!isset($order_env->order['price']['currency'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"currency" not defined in $order["price"] array'; } if (!isset($order_env->order['price']['tax-exclusive'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"tax-exclusive" not defined in $order["price"] array'; } if (!isset($order_env->order['price']['tax-inclusive'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"tax-inclusive" not defined in $order["price"] array'; } } } if (!isset($order_env->order['collection'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"collection" not defined in $order array'; } else { if (count($order_env->order['collection']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order["collection"] array is empty'; } else { if (!isset($order_env->order['collection']['code'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"code" not defined in $order["collection"] array'; } if (!isset($order_env->order['collection']['type_label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"type_label" not defined in $order["collection"] array'; } if (!isset($order_env->order['collection']['date'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"date" not defined in $order["collection"] array'; } if (!isset($order_env->order['collection']['time'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"time" not defined in $order["collection"] array'; } if (!isset($order_env->order['collection']['label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"label" not defined in $order["collection"] array'; } } } if (!isset($order_env->order['delivery'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"delivery" not defined in $order array'; } else { if (count($order_env->order['delivery']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order["delivery"] array is empty'; } else { if (!isset($order_env->order['delivery']['code'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"code" not defined in $order["delivery"] array'; } if (!isset($order_env->order['delivery']['type_label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"type_label" not defined in $order["delivery"] array'; } if (!isset($order_env->order['delivery']['date'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"date" not defined in $order["delivery"] array'; } if (!isset($order_env->order['delivery']['time'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"time" not defined in $order["delivery"] array'; } if (!isset($order_env->order['delivery']['label'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"label" not defined in $order["delivery"] array'; } } } if (!isset($order_env->order['alerts'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"alerts" not defined in $order array'; } elseif (count($order_env->order['alerts']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order["alerts"] array is empty'; } if (!isset($order_env->order['chars'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"chars" not defined in $order array'; } elseif (count($order_env->order['chars']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order["chars"] array is empty'; } if (!isset($order_env->order['labels'])) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], ERROR); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '"labels" not defined in $order array'; } elseif (count($order_env->order['labels']) == 0) { $result['additionals'][0]['state'] = max($result['additionals'][0]['state'], WARNING); $result['additionals'][0]['info'][count($result['additionals'][0]['info'])] = '$order["labels"] array is empty'; } } $result['duration'] = microtime_float() - $start; return $result; }
'type' => 'colis', 'dimensions' => array( 1 => array('poids' => 21, 'longueur' => 7, 'largeur' => 8, 'hauteur' => 11), 2 => array('poids' => 15, 'longueur' => 9, 'largeur' => 8, 'hauteur' => 11) ) ); */ /* * $additionalParams contains all additional parameters for your request, it includes filters or offer's options * A list of all possible parameters is available here : http://ecommerce.envoimoinscher.com/api/documentation/commandes/ * For an order, you have to provide at least all offer's mandatory parameters returned by the quotation * You can also find all optional parameters (filter not included) in the same quotation */ $additionalParams = array('collection_date' => date('Y-m-d'), 'delay' => 'aucun', 'content_code' => 40110, 'colis.description' => "books", 'assurance.selection' => false, 'saturdaydelivery.selection' => false, 'url_push' => 'www.my-website.com/push.php&order=', 'depot.pointrelais' => 'MONR-000515', 'retrait.pointrelais' => 'MONR-087106', 'operator' => 'MONR', 'service' => 'CpourToi', 'colis.valeur' => "42.655"); // Prepare and execute the request $lib = new Quotation(); $orderPassed = $lib->makeOrder($from, $to, $parcels, $additionalParams); echo "<h3>API Quotation > makeOrder :</h3>"; if (!$lib->curl_error && !$lib->resp_error) { if ($orderPassed) { echo '<div class="alert alert-success"> Order passed with the reference ' . $lib->order['ref'] . '</div>'; } else { echo '<div class="alert alert-warning"> Your order has been refused </div>'; } } else { echo '<div class="alert alert-danger">'; handle_errors($lib); echo '</div>'; } require_once '../layout/quotation_datails.php'; ?>
$additionalParams = array('collection_date' => date("Y-m-d"), 'delay' => 'aucun', 'content_code' => 10120, 'colis.valeur' => "42.655"); /* Optionally you can define which carriers you want to quote if you don't want to quote all carriers $additionalParams['offers'] = array( 0 => 'MONRCpourToi', 1 => 'SOGPRelaisColis', 2 => 'POFRColissimoAccess', 3 => 'CHRPChrono13', 4 => 'UPSEExpressSaver', 5 => 'DHLEExpressWorldwide' ); */ /* Parcels informations */ $parcels = array('type' => 'colis', 'dimensions' => array(1 => array('poids' => 1, 'longueur' => 15, 'largeur' => 16, 'hauteur' => 8))); $currency = array('EUR' => '€', 'USD' => '$'); // Prepare and execute the request $lib = new Quotation(); $lib->getQuotation($from, $to, $parcels, $additionalParams); if (!$lib->curl_error && !$lib->resp_error) { ?> <h3>API Quotation :</h3> <div class="row"> <table class="table table-hover table-striped table-bordered"> <thead> <tr> <th>Operator</th> <th>Offers</th> <th>Price</th> <th>Collect</th> <th>Delivery</th> <th>Details</th> <th>Warning</th>