Download the PHP package rocketslab/wa-laravel without Composer

On this page you can find all versions of the php package rocketslab/wa-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package wa-laravel

WhatsApp for Laravel

[PT-BR] Este pacote adiciona o uso do whatsapp com Laravel. É um wrapper que se utiliza da api provida pela lib @tiagoandrepro/baileys-api, que simplifica o uso da lib @adiwajshing/Baileys.

Instalação

O service provider é registrado automáticamente no Laravel.

O comando acima instala as dependências de javascript incluindo as libs mencionadas na introdução.

Opcionalmente você pode publicar o arquivo de configuração:

Como esse pacote é fortemente dependente de websockets, tem incluído junto a lib @beyondcode/laravel-websockets.

Iniciando os serviços

Será necessário inciar ambos servidores de websocket e a própria lib baileys-api

Por padrão o servidor de websocket escuta a porta 6001. Pode-se utilizar outra porta e outras configurações do websocket, tudo isto está descrito na documentação do beyondcode/laravel-websockets. A configuração do websocket deve ser realizada como descrito na sua documentação.

Inciando o servidor de websocket:

O próximo passo é iniciar o servidor do baileys-api.

Por padrão o servidor da API do WA, inicia a comunicação em localhost na porta 3333. Estas configurações podem ser alteradas no arquivo de configuração em config/wa-laravel.

Funcionamento

O funcionamento deste wrapper ocorre disparando eventos para sua aplicação notificando via WebHooks o que ocorreu no WhatsApp.

O pacote contém já um EventSubscriber e um EventDispatcher para lidar com os eventos gerados, mas se você quiser ter maior controle sobre estes eventos, pode desativar o registro automático dos eventos alterando o parâmetro register_events no arquivo de configuração config/walaravel.php para false.

Lado do servidor

Criando uma nova sessão:

O retorno dos métodos é um Http/Response provido pelo cliente Http do Laravel.

Para enviar mensagens:

Lado cliente (Laravel Echo)

Configure o Laravel Echo conforme a documentação.

Os hooks enviados pela API chegam na forma de requisições POST para o servidor, esse pacote já tem estas rotas pré configuradas e para cada hook recebido é disparado um evento do lado do servidor, e este evento é feito um broadcast com os dados recebidos pelo evento.

Para que o cliente/browser possa receber estes eventos e processar a informação, precisa-se escutar um canal específico em walaravel.{id-da-sessão}.

Os eventos que podem ser escutados no momento são:

Evento Descrição
.connection-open Ocorre quando uma sessão foi estabelecida com sucesso.
.connection-closed Ocorre quando a conexão foi interrompida (logout).
.connection-connecting Ocorre quando se lê o QRCode e inicia-se a autenticação.
.connnection-qrcode Ocorre quando um QRCode é gerado para ser lido.
.connection-updated Ocorre quando há alguma atualização na conexão (WIP).
.message-upsert Ocorre quando há novas atualizações em mensagens e notificações.

Segue um pequeno exemplo:

Alterações no arquivo de layout (app.blade.php)...

No head do layout precisamos remover o link para o app.js e passar esse link para o final do body do layout.

Carregando a view...

Na rota que carrega a view pode-se passar um atributo $sessionId para identificar a sessão que vai receber os eventos, dessa forma se outro evento de outra sessão for enviado esse será descartado.

Colocando o Echo para escutar os eventos da sessão my-session...

Em alguma view blade coloque o bloco @push ao final. O $sessionId aqui do exemplo é recebida como retorno ao carregar a view, pode ser estático ou vindo de um banco de dados.

Continua...


Esta documentação está em WIP, assim como este pacote.

Qualquer dúvida ou sugestão por favor contate-nos via:

[email protected]

Criado por jjsquady

Colaborador tiagoandre

@2022 RocketsLab


All versions of wa-laravel with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0.2
beyondcode/laravel-websockets Version ^1.13
laravel/framework Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package rocketslab/wa-laravel contains the following files

Loading the files please wait ....