✏️ 正在编辑: Assertiva.php
路径:
/srv/systems_dir/yuppiecred/library/Core/Service/Assertiva.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php /** * Classe responsável pela integração com o sistema da ASSERTIVA */ class Core_Service_Assertiva { private $_token; private $_ativo = false; private $_url = 'https://services.assertivasolucoes.com.br/v2/localize/1000/consultar?'; function __construct(array $options = array()) { if( !$options ){ $config = new Zend_Config_Ini( CLIENT_PATH . '/configs/application.ini', APPLICATION_ENV); if( !empty($config->assertiva) && !empty($config->assertiva->token) ){ $options = $config->assertiva->toArray(); } } if( $options ){ $this->setOptions($options); } } public function setOptions(array $options) { $this->_token = $options['token']; if( !is_null($this->_token) ){ $this->_ativo = true; } return $this; } function getAtivo() { return $this->_ativo; } function setAtivo($ativo) { $this->_ativo = $ativo; } protected function getUrl() { return $this->_url; } protected function getToken() { return $this->_token; } /** * Retorna informações de um cliente * * @param string $cpf * @return array */ public function getDadosPorCpf($cpf) { if( !$cpf ) return; return $this->localizaPessoas(String_Refatorar::formatarCpf($cpf)); } protected function localizaPessoas($cpf) { $token = $this->getToken(); if( !$token ) return; $url = $this->getUrl(); $params = http_build_query(array('cpf' => $cpf, 'idFinalidade' => 1)); $headers = array( 'Content-Type: application/json', 'Accept: application/json', 'Authorization : ' . $this->getToken(), 'User-Agent: ' . Zend_Http_UserAgent::DEFAULT_HTTP_USER_AGENT, ); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => true, CURLOPT_URL => $url . $params, CURLOPT_POST => true, CURLOPT_ENCODING => "UTF-8" ) ); $response = json_decode(curl_exec($curl)); curl_close($curl); if(!empty($response->erro)){ return; } return $this->extractDados($response); } protected function extractDados($json) { $dados = array(); if( !empty($json) ){ $dados['cpf'] = $json->cadastro->cpf; $dados['nome'] = $json->cadastro->nome; $dados['sexo'] = $json->cadastro->sexo; $dados['mae'] = $json->cadastro->maeNome; $dados['datanasc'] = $json->cadastro->dataNascimento; $dados['enderecos'] = array(); $dados['telefones'] = array(); $dados['emails'] = array(); $dados['origem'] = "Assertiva"; $telefones = isset($json->telefones) ? $json->telefones : array(); foreach ($telefones as $tipo){ if( !$tipo ){ continue; } foreach ($tipo as $registro){ $dados['telefones'][] = [ "numero" => $registro->telefone, "whatsapp" => !empty($registro->tags) && !empty($registro->tags->whatsapp) ? true : false ]; } } $emails = isset($json->emails) ? $json->emails : array(); foreach ( $emails as $registro ) { $dados['emails'][] = $registro->email; } $enderecos = isset($json->enderecos) ? $json->enderecos : array(); foreach ( $enderecos as $registro ) { $dados['enderecos'][] = array( 'logradouro' => $registro->logradouro, 'numero' => $registro->numero, 'complemento' => $registro->complemento, 'bairro' => $registro->bairro, 'cep' => $registro->cep, 'cidade' => $registro->cidade, 'uf' => $registro->uf ); } } return $dados; } }
💾 保存文件
← 返回文件管理器