<?php
///////////////////////////////////////////////////////////////////////////////
define('CATEGORIA', '2500');
define('TURISMOS', '250025002500');
define('TODO_TERRENO', '250028102810');
//SOLICITUD DE TOKEN///////////////////////////////////////////////////////////
include('token.php');
//CONSULTO LOS DATOS DEL VEHICULO//////////////////////////////////////////////
$datos_v = consultoDatosVehicle($bd_conn, $_POST['id_vehicle']);
$cod_car = trim($_POST['id_vehicle']);
$uniq_id = $_POST['id_vehicle'];
$year = $datos_v["ANO_FAB"];
$doorsNumbers = 5;
$categoryId = '';
$plate = $datos_v["MATRICULA"];
$version_base = $datos_v["VERSION"];
$tipo = $datos_v["TIPO"];
$km = $datos_v["KM"];
$caja_cambios = $datos_v["CAJACAMBIOS"];
$garantia = $datos_v["GARANTIA"];
$vin = $datos_v["BASTIDOR"];
$color = $datos_v["COLOR"];
$venta_total = $datos_v["VENTA_TOTAL"];
$dist_amb = $datos_v["DISTINTIVO_AMB"];
//CONSULTO LAS MARCAS DE LOS COCHES////////////////////////////////////////////
$url = 'https://api.carfactory.es/publishing/api/v3/Brands?categoryId=' . CATEGORIA;
$headers = array(
    'Authorization: Bearer ' . $token,
    'accept: application/json' 
);
$get_marcas = curlGetData($url,$headers);
//COMPARO LA MARCA DEL COCHE///////////////////////////////////////////////////
foreach ($get_marcas as $key => $value) {
    if ( $datos_v["MARCA"] == $get_marcas[$key]->value ) {
        //CODIGO MARCA COCHES NET//////////////////////////////////////////////
        $brand = $get_marcas[$key]->key;
    }  
}
//OBTENGO EL TIPO DE COMBUSTIBLE///////////////////////////////////////////////
switch ($datos_v["COMBUSTIBLE"]) {
    case 1:
        $fuel = 1;
        break;

    case 2:
        $fuel = 2;
        break;
    
    case 3:
        $fuel = 3;
        break;
    
    case 4:
        $fuel = 3;
        break;
    
    case 5:
        $fuel = 3;
        break;
    
    case 6:
        $fuel = 3;
        break;

    default:
        $fuel = 4;
        break;
}
//CONSULTO LOS MODELOS DE TURISMOS DE LA MARCA/////////////////////////////////
$url = 'https://api.carfactory.es/publishing/api/v3/Models?brand='.$brand.'&categoryId='.TURISMOS.'&fuelType='.$fuel.'&year=' . $year;
$headers = array(
    'Authorization: Bearer ' . $token,
    'accept: application/json' 
);
$get_models = curlGetData($url,$headers);
//COMPARO LOS MODELOS OBTENIDOS////////////////////////////////////////////////
foreach ($get_models as $key => $value) {
    if ( $datos_v["MODELO"] == $get_models[$key]->value ) {
        //CODIGO MODELO COCHES NET//////////////////////////////////////////////
        $model = $get_models[$key]->key;
        $model_desc = $get_models[$key]->value;
        $categoryId = TURISMOS;
    }  
}
//NO SE ENCONTRO EL MODELOS EN LOS TURISMOS Y BUCO EN TODO TERRENO/////////////
if ( $model == '') {
    //CONSULTO LOS MODELOS DE TODO TERRENO DE LA MARCA/////////////////////////
    $url = 'https://api.carfactory.es/publishing/api/v3/Models?brand='.$brand.'&categoryId='.TODO_TERRENO.'&fuelType='.$fuel.'&year=' . $year;
    $headers = array(
        'Authorization: Bearer ' . $token,
        'accept: application/json' 
    );
    $get_models = curlGetData($url,$headers);
    //COMPARO LOS MODELOS OBTENIDOS////////////////////////////////////////////
    foreach ($get_models as $key => $value) {
        if ( $datos_v["MODELO"] == $get_models[$key]->value ) {
            //CODIGO MODELO COCHES NET/////////////////////////////////////////
            $model = $get_models[$key]->key;
            $model_desc = $get_models[$key]->value;
            $categoryId = TODO_TERRENO;
        }  
    }
}
//CONSULTO LOS BODY TYPES DE TURISMOS DE LA MARCA//////////////////////////////
$url = 'https://api.carfactory.es/publishing/api/v3/BodyTypes?brand='.$brand.'&model='.$model.'&year=' . $year;
$headers = array(
    'Authorization: Bearer ' . $token,
    'accept: application/json' 
);
$get_bodyTypes = curlGetData($url,$headers);
$bodyTypes = $get_bodyTypes[0]->key;
//CONSULTAR LA VERSION DEL COCHE////////////////////////////////////////////////
$url = 'https://api.carfactory.es/publishing/api/v3/Versions?bodytype='.$bodyTypes.'&numdoors='.$doorsNumbers.'&fueltype='.$fuel.'&brand='.$brand.'&model='.$model.'&year='.$year.'&categoryId=' . $categoryId;
$headers = array(
    'Authorization: Bearer ' . $token,
    'accept: application/json' 
);
$get_version = curlGetData($url,$headers);
//ELIMINO EL MODELO DE LA VERSION-----------------------------------------------
$version = str_replace($model_desc, '', $version_base);
//COMPARO LAS VERSIONES OBTENIDOS///////////////////////////////////////////////
foreach ($get_version as $key => $value) {
    if ( trim($version) == $get_version[$key]->value ) {
        //CODIGO MODELO COCHES NET//////////////////////////////////////////////
        $cod_version = $get_version[$key]->key;
    }  
}
//OFFERTYPE/////////////////////////////////////////////////////////////////////
$offerType = ($tipo == 'VN') ? 1 : 0 ;
//CONSULTAR UNIQUE VEHICLE//////////////////////////////////////////////////////
$url = 'https://api.carfactory.es/publishing/api/v3/UniqueVehicles?bodytype='.$bodyTypes.'&numdoors='.$doorsNumbers.'&fueltype='.$fuel.'&brand='.$brand.'&model='.$model.'&year='.$year.'&version=' . $cod_version;
$headers = array(
    'Authorization: Bearer ' . $token,
    'accept: application/json' 
);
$get_unique = curlGetData($url,$headers);
$unique = $get_unique[0]->key;
//CAJA DE CAMBIOS////////////////////////////////////////////////////////////////
$transmision = ( $caja_cambios == 1 ) ? 2 : 1 ;
//EVALUO LA GARANTIA////////////////////////////////////////////////////////////
switch ($garantia) {
    case 0:
        $warranty = 1;
        break;
    case 12:
        $warranty = 2;
        break;
    case 18:
        $warranty = 3;
        break;
    case 24:
        $warranty = 4;
        break;
    case 36:
        $warranty = 5;
        break;
    case 48:
        $warranty = 6;
        break;
    case 60:
        $warranty = 7;
        break;
    case 72:
        $warranty = 8;
        break;
    case 84:
        $warranty = 9;
        break;    
    default:
        $warranty = 1;
        break;
}
//COLOR//////////////////////////////////////////////////////////////////////////
$url = 'https://api.carfactory.es/publishing/api/v3/Colors';
$headers = array(
    'Authorization: Bearer ' . $token,
    'accept: application/json' 
);
$get_color = curlGetData($url,$headers);

//COMPARO LOS COLORES OBTENIDOS//////////////////////////////////////////////////
foreach ($get_color as $key => $value) {
    if ( trim($color) == $get_color[$key]->value ) {
        //CODIGO MODELO COCHES NET//////////////////////////////////////////////
        $cod_color = $get_color[$key]->key;
    }  
}
//EVALUO EL DISTINTIVO AMBIENTAL////////////////////////////////////////////////
switch ($dist_amb) {
    case 1:
        $environmentalLabel = "ECO";
        break;
    case 2:
        $environmentalLabel = "0";
        break;
    case 3:
        $environmentalLabel = "ECO";
        break;
    case 4:
        $environmentalLabel = "B";
        break;
    case 5:
        $environmentalLabel = "C";
        break;
    
    default:
        $environmentalLabel = "ECO";
        break;
}
//CREO LA PUBLICACION DEL COCHE/////////////////////////////////////////////////
$url = 'https://api.carfactory.es/publishing/api/v3/Vehicles';
$json_post_fields = '{
    "internalReference": "'.$uniq_id.'",
    "brand": '.$brand.',
    "year": '.$year.',
    "fuelType": '.$fuel.',
    "model": '.$model.',
    "version": '.$cod_version.',
    "bodyType": '.$bodyTypes.',
    "numberOfDoors": '.$doorsNumbers.',
    "categoryId": "'.$categoryId.'",
    "plate": "'.$plate.'",
    "offerType": '.$offerType.',
    "kilometers": '.$km.',
    "showCarfaxReport": true,
    "certified": 0,
    "uniqueVehicle": {
      "type": 1,
      "value": "'.$unique.'"
    },
    "transmissionType": '.$transmision.',
    "warranty": '.$warranty.',
    "officialWarranty": true,
    "vin": "'.$vin.'",
    "color": {
      "colorId": '.$cod_color.',
      "metalized": true,
      "additionalColor": ""
    },
    "price": {
      "priceValue": '.$venta_total.',
      "bestPrice": '.$venta_total.',
      "professionalPrice": '.$venta_total.',
      "financingPrice": '.$venta_total.',
      "monthlyQuota": '.$venta_total.'
    },
    "information": {
      "professional": "",
      "private": "",
      "additional": ""
    },
    "extras": [0],
    "environmentalLabel": "'.$environmentalLabel.'"
}';
$headers = array(
    'Authorization: Bearer ' . $token,
    'accept: application/json',
    'Content-Type: application/json'
);
$publish = curlPost($url,$json_post_fields,$headers);
//HAGO UPDATE DEL CODIGO EXTERNO///////////////////////////////////////////////
$idVehicle = $publish->id;
updateIdVehicle($bd_conn, $idVehicle, $cod_car);
$dataD = array ( 
    "code" => "Ok!",
    "result" => $publish
);
$result= json_encode($dataD);  
print_r($result);
?>