75 lines
2.8 KiB
PHP
75 lines
2.8 KiB
PHP
<?php
|
|
require_once('../common/Api.php');
|
|
require_once('../common/Logger.php');
|
|
class QuoteApi
|
|
{
|
|
public static $job_name="";
|
|
public static function schedule_quote($origin, $destination, $country, $member_id, $transport_provider, $trackedemail_item_id = 0, $prefill = 't', $pool = 1)
|
|
{
|
|
if ($origin != "" && $destination != "" && $transport_provider > 0) { // minimal sanity
|
|
$payload = "{
|
|
\"origin\":\"${origin}\",
|
|
\"destination\":\"${destination}\",
|
|
\"member_id\":${member_id},
|
|
\"transport_provider_id\":${transport_provider},
|
|
\"trackedemail_item_id\":${trackedemail_item_id},
|
|
\"country\":\"${country}\",
|
|
\"group_quote_id\":0,
|
|
\"prefill\":\"${prefill}\",
|
|
\"pool\":${pool}
|
|
}";
|
|
|
|
$input_data = $payload;
|
|
$endpoint = "/trips/api/quote";
|
|
$payload = Api::postData($endpoint, $input_data);
|
|
$log = [
|
|
'job_name' => self::$job_name,
|
|
'function' => __FUNCTION__,
|
|
'request' => $endpoint,
|
|
'input_data' => $input_data,
|
|
'response_data' => $payload,
|
|
];
|
|
Logger::debug($log);
|
|
if (is_array($payload) && array_key_exists('id', $payload) && $payload['id'] > 0) {
|
|
if (array_key_exists('cost', $payload) && $payload['cost'] > 0) {
|
|
return [2, $payload['id']];//completed
|
|
}
|
|
if (array_key_exists('travel_date', $payload) && $payload['travel_date'] != '') {
|
|
return [-1, $payload['id']];
|
|
}
|
|
return [1, $payload['id']];
|
|
} else {
|
|
return [-2, null];
|
|
}
|
|
}
|
|
return [-3, null];
|
|
}
|
|
|
|
public static function check_quote($id)
|
|
{
|
|
if ($id > 0) { // minimal sanity
|
|
list($payload, $decrypted, $result, $body) = Api::getData("/trips/api/quote/" . $id);
|
|
$log = [
|
|
'job_name' => self::$job_name,
|
|
'function' => __FUNCTION__,
|
|
'request' => "/trips/api/quote/" . $id,
|
|
'input_data' => $id,
|
|
'response_data' => $payload,
|
|
];
|
|
Logger::debug($log);
|
|
if (is_array($payload) && array_key_exists('id', $payload) && $payload['id'] > 0) {
|
|
if (array_key_exists('cost', $payload) && $payload['cost'] > 0) {
|
|
return [2, $payload['cost']];//completed
|
|
}
|
|
if (array_key_exists('travel_date', $payload) && $payload['travel_date'] != '') {
|
|
return [-1, null];
|
|
}
|
|
} else {
|
|
return [-2, null];
|
|
}
|
|
}
|
|
return [-3, null];
|
|
}
|
|
|
|
}
|