oaid = $oaid; $this->log = mfLoghandler::singleton(); } public function getFtuData($home_external_id) { // query Home to get FTU data from RIMO - GET /queryHomeWithId $params = []; $params['apiKey'] = RIMO_API_JSON_APIKEY; $params["homeId"] = $home_external_id; $ctx_opts = [ 'http' => [ 'method' => 'GET', 'header' => 'accept: application/json' ] ]; $qs = http_build_query($params); //echo $qs."\n"; $queryHomeEp = RIMO_API_JSON_URL.RIMO_API_JSON_EP_QUERY_HOME; $get_url = $queryHomeEp."?".$qs; $ctx = stream_context_create($ctx_opts); $this->log->debug(__METHOD__.": Getting Home to fetch FTU: $get_url"); $response = file_get_contents($get_url, false, $ctx); if($response === false) { $this->log->error("Fehler beim auslesen der FTU ".$this->oaid); return false; } $resp_data = json_decode($response); if(!is_object($resp_data)) { $this->log->error(__METHOD__.": OAID ".$this->oaid.": Cannot fetch Home from RIMO! Invalid Response!"); return false; } return $resp_data; } public function getOaid() { $params = []; $params['apiKey'] = RIMO_API_JSON_APIKEY; $ctx_opts = [ 'http' => [ 'method' => 'GET', 'header' => 'accept: application/json' ] ]; $qs = http_build_query($params); //echo $qs."\n"; $getOaidEp = RIMO_API_JSON_URL.RIMO_API_JSON_EP_GET_OAID; $getOaidEp .= "/".$this->oaid; $get_url = $getOaidEp."?".$qs; $ctx = stream_context_create($ctx_opts); $this->log->debug(__METHOD__.": Getting OAID from Rimo: $get_url"); $response = file_get_contents($get_url, false, $ctx); //var_dump($response);exit; if($response === false) { $this->log->error("Fehler beim abfragen der OAID in RIMO ".$this->oaid); return false; } $resp_data = json_decode($response); if(!is_object($resp_data)) { $this->log->error(__METHOD__.": OAID ".$this->oaid.": Cannot fetch OAID from RIMO! Invalid Response!"); return false; } return $resp_data; } public function createOaid() { $params = []; $params['apiKey'] = RIMO_API_JSON_APIKEY; $params['oaidName'] = $this->oaid; $ctx_opts = [ 'http' => [ 'method' => 'POST', 'header' => 'accept: application/json' ] ]; $qs = http_build_query($params); //echo $qs."\n"; $createOrderEp = RIMO_API_JSON_URL.RIMO_API_JSON_EP_CREATE_OAID; $post_url = $createOrderEp."?".$qs; $ctx = stream_context_create($ctx_opts); $this->log->debug(__METHOD__.": Creating OAID in Rimo: $post_url"); $response = file_get_contents($post_url, false, $ctx); //var_dump($response);exit; if($response === false) { $this->log->error("Fehler beim Erstellen der OAID in RIMO ".$this->oaid); return false; } $resp_data = json_decode($response); if(!$resp_data->id || !$resp_data->name) { $this->log->warning(__METHOD__.": Create OAID returned no ID or oaid name ".$this->oaid); return false; } return $resp_data; } public function unassignOaid($ftu_external_id) { $params = []; $params['apiKey'] = RIMO_API_JSON_APIKEY; $ctx_opts = [ 'http' => [ 'method' => 'DELETE', 'header' => 'accept: application/json' ] ]; $qs = http_build_query($params); $unassignEp = RIMO_API_JSON_URL.RIMO_API_JSON_EP_UNASSIGN_OAID_TO_FTU; $unassignEp = str_replace("{oaidName}", $this->oaid, $unassignEp); $unassignEp = str_replace("{ftuExternalId}", $ftu_external_id, $unassignEp); $delete_url = $unassignEp."?".$qs; $ctx = stream_context_create($ctx_opts); $this->log->debug(__METHOD__.": Unassigning OAID from FTU $ftu_external_id: $delete_url"); $response = file_get_contents($delete_url, false, $ctx); if($response === false) { $this->log->error("Fehler beim Unassignen der OAID in RIMO ".$this->oaid.": $delete_url"); return false; } $resp_data = json_decode($response); return $resp_data; } public function assignOaid($ftu_external_id) { $params = []; $params['apiKey'] = RIMO_API_JSON_APIKEY; $ctx_opts = [ 'http' => [ 'method' => 'POST', 'header' => 'accept: application/json' ] ]; $qs = http_build_query($params); $assignEp = RIMO_API_JSON_URL.RIMO_API_JSON_EP_ASSIGN_OAID_TO_FTU; $assignEp = str_replace("{oaidName}", $this->oaid, $assignEp); $assignEp = str_replace("{ftuExternalId}", $ftu_external_id, $assignEp); $post_url = $assignEp."?".$qs; $ctx = stream_context_create($ctx_opts); $this->log->debug(__METHOD__.": Assigning OAID to current FTU $ftu_external_id: $post_url"); $response = file_get_contents($post_url, false, $ctx); if($response === false) { $this->log->error("Fehler beim Assignen der OAID ".$this->oaid." in RIMO ".$this->oaid); return false; } $resp_data = json_decode($response); return $resp_data; } }