jetimob / rdstation-sdk-php-laravel
Requires
- php: ^8.1
- ext-json: *
- illuminate/console: ^9 || ^10
- illuminate/container: ^9 || ^10
- illuminate/support: ^9 || ^10
- jetimob/http-php-laravel: ^2.2.1
Requires (Dev)
- orchestra/testbench: ^8.0.4
- phpunit/phpunit: ^v10.0.13
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.
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
- 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 ocode
para realizar os testes.
- Insira o
RDSTATION_OAUTH_CLIENT_ID
eRDSTATION_OAUTH_CLIENT_SECRET
do seu aplicativo no arquivo.phpunit.xml
e troqueRDSTATION_OAUTH_AUTHORIZATION_URI
para:https://api.rd.services/auth/dialog?client_id=<CLIENT_ID>&redirect_uri=<REDIRECT_URI>&state=state
, trocando <CLIENT_ID> e <REDIRECT_URI> pelos valores correspondentes. - Execute qualquer teste que precise de autenticação com o comando
phpunit --filter <nome_do_teste>
. - Uma exceção será lançada, com o link para você realizar a autenticação. Copie o link e cole no seu navegador.
- 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.
- Copie o valor do parâmetro
code
da URL de callback.
Se o artisan
estiver disponivel
- 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
- Insira o valor de
code
no arquivotests\Feature\AuthzTest
como parâmetro do métodohandleAuthorizationCodeExchange
e execute o teste.
- Agora você pode executar os testes que precisam de autenticação.
Licença
rdstation-sdk-php-laravel está licenciado sob The MIT License (MIT).