Code Monkey home page Code Monkey logo

rdstation-sdk-php-laravel's Introduction

rdstation-sdk-php-laravel

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).

rdstation-sdk-php-laravel's People

Contributors

alanwgt avatar garciaguilherms avatar medinaalexandre avatar reichert-lucas avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.