Files
dev-chiefworks f76abffdcd first commit
2022-05-31 16:21:53 -04:00

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];
}
}