autoaction / hg
HG
1.6.1
2023-08-20 18:31 UTC
Requires
- php: >=7.0
- ext-json: *
- ext-redis: *
- autoaction/utils: ^1.12
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- phpunit/phpunit: ^6.5
This package is auto-updated.
Last update: 2025-03-06 00:46:47 UTC
README
Este projeto tem como objetivo facilitar a integração com a HG API.
Dependências
- Redis
- PHP 7.0 ou superior
- Ser um parceiro Auto Avaliar / Auto Action
Como configurar o seu container de dependencia da HG?
<?php
use AutoAction\Hg\HgClient;
use AutoAction\Hg\HgConfig;
use AutoAction\Utils\Cache\RedisCustom;
require 'vendor/autoload.php';
// A ideia é usar estas configurações em um container de dependencia do seu projeto
// - - - - - - - - - - - - - - - - - - - - - - - - - -
// Redis
// - - - - - - - - - - - - - - - - - - - - - - - - - -
$redis = new RedisCustom();
// alguns redis não utiliza senha
if('{SE_REDIS_SENHA}'){
$redis->auth('{REDIS_SENHA}');
}
$redis->connect('{REDIS_HOST}', '{REDIS_PORTA}');
// - - - - - - - - - - - - - - - - - - - - - - - - - -
// Configuração
// - - - - - - - - - - - - - - - - - - - - - - - - - -
$config = new HgConfig('NOME_DO_SEU_PROJETO', $redis);
$config->setCountryId('ID_DO_PAIS');
$config->setHost('HOST_DA_HG');
$config->setPartnerUser('USUARIO_DO_PARCEIRO');
$config->setPartnerPassword('SENHA_DO_PARCEIRO');
// - - - - - - - - - - - - - - - - - - - - - - - - - -
// Client
// - - - - - - - - - - - - - - - - - - - - - - - - - -
$client = new HgClient($config);
// a ideia é que seu container de dependencia retorne o HgClient
Como utilizar o pacote HG?
// um exemplo de um container de dependencia
$client = $this->di->getHgClient();
// recuperando o token de parceiro
$partnerToken = $client->getPartnerToken();
// fazendo o login de um usuário
$user = $client->getUserData('USUARIO', 'SENHA');
// chamando um endpoint qualquer na HG
$config = $client->post('ENDPOINT', ['PARAMETRO' => 'VALOR'], ['PARAMETRO_HEADER','VALOR_HEADER']);
// exemplo de uso para traduções
use AutoAction\Hg\Translate\HgTranslateConfig;
use AutoAction\Hg\Translate\HgTranslate;
use AutoAction\Hg\Translate\HgLocalStringSample;
$client = $this->di->getHgClient();
$config = new HgTranslateConfig();
$config->setSystemId('ID_DO_SISTEMA');
$config->setInstanceId('ID_DA_INSTANCIA');
$translate = HgTranslate::getInstance($config, $client, new HgLocalStringSample);
$string = $translate->get('ROOT_DA_STRING');
Vai contribuir com o projeto?
Que legal que vai contribuir, então segue as informações para poder rodar o docker do projeto.
Informações Docker
Adicione no seu arquivo de hosts
Normalmente este arquivo fica em: `/etc/hosts`
Para iniciar o container rode o comando:
`docker-compose up -d`
### Acessando a URL do projeto
Adicione no seu navegador ou postman `http://web.local:8199`
### Configurando o Xdebug no PhpStorm
Vá no menu de configuração `File > Settings... > Languagens & Frameworks > PHP > Debug`
Na seção `Xdebug` no campo `Debug port:` coloque a porta `10099`
Também é preciso mapear as pastas do container
Vá no menu de configuração `File > Settings... > Languagens & Frameworks > PHP > Servers`
### Outros comandos Docker
Inicia Docker: `docker-compose up -d`
Encerrar Docker: `docker-compose down`
Levantar o docker com rebuild do container: `docker-compose up -d --build`
Entrar no shell do container: `docker exec -it autoaction-hg-phpfpm /bin/sh`
Verificar os logs de acesso do nginx: `docker logs -tf autoaction-hg-web`