✏️ 正在编辑: Omega.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Service/Omega.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Service_Omega { private $_usuario; private $_senha; private $_apiKey; private $_authorization; private $_url = "https://omega-mais-negocios-api.herokuapp.com"; function __construct(array $options = null) { if (!$options) { $config = new Zend_Config_Ini( CLIENT_PATH . '/configs/application.ini', APPLICATION_ENV); if (!isset($config->omega)) { $msgErro = 'API do Ômega não está configurada para higienização.'; throw new Core_Exception($msgErro); } $options = $config->omega->toArray(); } $this->setOptions($options); } public function setOptions(array $options) { $this->_usuario = $options['username']; $this->_senha = $options['password']; return $this; } public function getUsuario() { return $this->_usuario; } public function getSenha() { return $this->_senha; } public function getUrl() { return $this->_url; } protected function getResponse($endPoint, $params, $method = 'GET') { $url = $this->_url . $endPoint; $options = [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ "ApiKey: {$this->_apiKey}", "Authorization: Bearer {$this->_authorization}", ], ]; if ($method == "GET") { $url .= '?' . http_build_query($params); $options[CURLOPT_CUSTOMREQUEST] = "GET"; } elseif ($method == "POST") { $options[CURLOPT_CUSTOMREQUEST] = "POST"; $options[CURLOPT_POSTFIELDS] = json_encode($params); $options[CURLOPT_HTTPHEADER][] = "Content-Type: application/json"; } $options[CURLOPT_URL] = $url; $curl = curl_init(); curl_setopt_array($curl, $options); $response = curl_exec($curl); curl_close($curl); return $response; } /** * @throws Exception */ protected function getTokenApi() { $body = json_encode([ 'username' => $this->getUsuario(), 'password' => $this->getSenha(), ]); $endPoint = '/auth'; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => $this->_url . $endPoint, CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $body, CURLOPT_HTTPHEADER => [ "ApiKey: {$this->_apiKey}", "Content-Type: application/json" ], ]); $response = curl_exec($curl); curl_close($curl); $token = json_decode($response); if (empty($token->access_token)) { throw new Exception($token->message ?? 'Houve um erro ao gerar o token.'); } $this->_authorization = $token->access_token; } /** * @param array $clientes * @param int $entidade * @return array * @throws Exception */ public function buscarLote($clientes, int $entidade) { $this->getTokenApi(); $endPoint = "/margem-consignacao/lote"; if (empty($entidade)) { $entidade = 1; //ECONSIG MS } $params = [ 'localPesquisa' => $entidade, 'convenio' => 2, 'listaMargemConsignacao' => [] ]; foreach ($clientes as $cliente) { array_push($params['listaMargemConsignacao'], [ 'cpf' => $cliente['cpf'] ]); } $this->getResponse($endPoint, $params, "POST"); } }
💾 保存文件
← 返回文件管理器