debug = debug_backtrace(); if ($this->getArgs(func_get_args())) { $this->params = array( "cpf" => $this->mask_cpf_cnpj($documento) ); $this->setMetodo('/condor/atual/publico/emailcobrancasemaberto'); return $this->setParams(); } else { return false; } } ######################################################################## ## FUNCOES DEFAULT DA CLASSE ## ######################################################################## /** * Coleta as informacoes iniciais para o inicio da integracao com a API. * * @param string $token * @param string $url * @param boolean $log */ public function __construct($url, $token = null) { $this->token = $token; $this->url = $url; $this->setLog(CONF_LOGGER_ATIVO); $this->log->info("Iniciando integracao", debug_backtrace()); } /** * Parametriza o metodo utilizado para a consulta. * * @param type $metodo */ private function setMetodo($metodo) { $this->metodo = $metodo; } /** * Escreve a query para ser passada para o curl * * @param string $query */ private function setQuery($query) { return $this->query .= $query; } /** * retorna a string pronta da query do curl e limpa a variavel. * * @return string $query */ private function getQuery() { $query = $this->query; unset($this->query); return $query; } /** * Informa o tipo de requisicao que sera feita pela cURL * @param bool $request */ private function request($request = null) { if (!$this->request || $request) { $this->request = (strtoupper($request) == 'POST' ? strtoupper($request) : "GET"); } $this->log->debug("HTTP Request: " . $this->request, debug_backtrace()); return $this->request; } /** * Constroi de forma dinamica a string para ser passada para a execucao do Curl * * @void */ private function curl() { $this->curl = curl_init(); curl_setopt($this->curl, CURLOPT_URL, $this->url . $this->getQuery()); curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->curl, CURLOPT_TIMEOUT, 10); $this->log->debug("Curl: {$this->curl}", debug_backtrace()); } /** * Recebe array de forma de indice e valor * * @example array("qtype" => 'test_api', "query" => '123', "oper" => '=') * * @obs sempre chamar a função debug_backtrace() para ser disponível em log * * @param type $params * @debug_track function debug_backtrace() */ private function setParams() { $this->setQuery($this->metodo . "?"); $this->setQuery(http_build_query($this->params)); unset($this->params); } /** * Recebe as informações e realiza a execucao da API * * @void */ private function exec() { /** * Caso tenha problema de requisição */ $content = curl_exec($this->curl); if (curl_errno($this->curl)) { $this->log->error(curl_error($this->curl), debug_backtrace()); curl_close($this->curl); $this->audioError(); return false; } curl_close($this->curl); return $this->response($content); } /** * Prepara dos dados para ser transmitidos para o metodo a ser retornado a * integracao. * * @return array */ private function response($data) { $this->log->debug("Reponse API: " . print_r($data, true), $this->debug); if ($data) { return $data; } else { return false; } } }