jetimob/rdstation-sdk-php-laravel

v3.1.3 2023-12-15 12:34 UTC

This package is not auto-updated.

Last update: 2024-05-03 14:38:27 UTC


README

rdstation-sdk-php-laravel foi criado e é mantido pela equipe Jetimob. É um SDK utilizado para interagir com a API da RDStation de forma simples e direta. A complexidade de autenticação OAuth2 é abstraída pelo pacote http-php-laravel, também desenvolvido dentro da Jetimob.

Regras de commit Downloads no Packagist Licença Última versão do pacote

Instalação

Utilizando o composer:

composer require jetimob/rdstation-sdk-php-laravel

Configuração

Publique as configurações do pacote:

php artisan rdstation:install

Este comando irá criar o arquivo de configuração rdstation.php no diretório config. Substitua os valores de oauth_client_id, oauth_client_secret e oauth_authorization_uri com os valores do seu aplicativo criado na RDStation AppStore.

Uso

Sempre que for chamar qualquer api do pacote rdstation-sdk-php-laravel, utilize o namespace Jetimob\RDStation\Facades\RDStation ou, simplesmente, RDStation. O namespace RDStation é registrado automaticamente pelo Laravel, ou seja, a importação pode ser feita apenas com use RDStation; no topo de um arquivo.

Qualquer uma das implementações de API encontradas na configuração api_impl podem ser acessadas diretamente através da façade RDStation, invocando um método de mesmo nome da chave de configuração. Em outras palavras, a chave webhook, que representa a classe \Jetimob\RDStation\Api\Webhook\WebhookApi::class, dentro do vetor api_impl do arquivo de configurações pode ser invocada com \RDStation::webhook(). O retorno desta função é uma instância de \Jetimob\RDStation\Api\Webhook\WebhookApi::class (definido pelo arquivo de configuração).

Testes

  1. Para os testes funcionarem, você deve possuir um aplicativo criado na RDStation AppStore. Se você ainda não tiver um aplicativo criado, você pode criar um aplicativo em https://appstore.rdstation.com/.

A URL de callback pode ser https://localhost, o importante é obtermos o code para realizar os testes.

  1. Insira o RDSTATION_OAUTH_CLIENT_ID e RDSTATION_OAUTH_CLIENT_SECRET do seu aplicativo no arquivo .phpunit.xml e troque RDSTATION_OAUTH_AUTHORIZATION_URI para: https://api.rd.services/auth/dialog?client_id=<CLIENT_ID>&#038;redirect_uri=<REDIRECT_URI>&#038;state=state, trocando <CLIENT_ID> e <REDIRECT_URI> pelos valores correspondentes.
  2. Execute qualquer teste que precise de autenticação com o comando phpunit --filter <nome_do_teste>.
  3. Uma exceção será lançada, com o link para você realizar a autenticação. Copie o link e cole no seu navegador.
  4. Você será redirecionado para a página de autenticação da RDStation. Faça o login e você será redirecionado para a URL de callback que você definiu no passo 1.
  5. Copie o valor do parâmetro code da URL de callback.
Se o artisan estiver disponivel
  1. Execute o comando php artisan rdstation:code <CODE> --test (a flag --test é importante para que o token seja salvo em um arquivo temporário acessado pelos testes).
Se o artisan NÃO estiver disponivel
  1. Insira o valor de code no arquivo tests\Feature\AuthzTest como parâmetro do método handleAuthorizationCodeExchange e execute o teste.
  1. Agora você pode executar os testes que precisam de autenticação.

Licença

rdstation-sdk-php-laravel está licenciado sob The MIT License (MIT).