Um simples cliente PHP que proporciona acesso fácil aos endpoints do WPPConnect Server.
Um simples cliente PHP que proporciona acesso fácil aos endpoints do WPPConnect Server.
composer require wppconnect-team/wppconnect-php-client
namespace WPPConnect;
require '../../vendor/autoload.php';
use WPPConnect\Http\Request;
use WPPConnect\Helpers\Util;
$wppconnect = new Request([
'base_url' => 'http://localhost:8081',
'secret_key' => 'MYKeYPHP',
'session' => 'mySession',
'token' => null
]);
$util = new Util();
# Function: Generated Token
# /api/:session/generate-token
$response = $wppconnect->generateToken();
$response = $util->toArray($response);
if (isset($response['status']) and $response['status'] == 'success') :
$wppconnect->options['token'] = $response['token'];
endif;
#debug
$util->debug($response);
# Function: Start Session
# /api/:session/start-session
$response = $wppconnect->startSession([
'webhook' => null,
'waitQrCode' => true
]);
$response = $wppconnect->toArray($response);
#debug
$util->debug($response);
# Function: Check Connection Session
# /api/:session/check-connection-session
$response = $wppconnect->checkConnectionSession([);
$response = $wppconnect->toArray($response);
#debug
$util->debug($response);
# Function: Send Message
# /api/:session/send-message
$response = $wppconnect->sendMessage([
'phone' => '5500000000000',
'message' => 'Opa, funciona mesmo!',
'isGroup' => false
]);
$response = $wppconnect->toArray($response);
#debug
$util->debug($response);
# Function: Send File Base64
# /api/:session/send-file-base64
$response = $wppconnect->sendFileBase64([
'phone' => '5500000000000',
'filename' => 'Xpto',
'base64' => $wppconnect->fileToBase64('xpto.jpg'),
'isGroup' => false
]);
$response = $wppconnect->toArray($response);
#debug
$util->debug($response);
# Function: Send Link Preview
# /api/:session/send-link-preview
$response = $wppconnect->sendLinkPreview([
'phone' => '5500000000000',
'url' => 'https://github.com/wppconnect-team',
'caption' => 'WppConnectTeam',
'isGroup' => false
]);
$response = $wppconnect->toArray($response);
#debug
$util->debug($response);
# Function: Send Location
# /api/:session/send-location
$response = $wppconnect->sendLocation([
'phone' => '5500000000000',
'lat' => '-23.5489',
'lng' => '-46.6388',
'title' => 'Cidade de São Paulo'
'isGroup' => false
]);
$response = $wppconnect->toArray($response);
#debug
$util->debug($response);
Exemplo de webhook para registrar/obter a solicitação/respostas do webhook WPPConnect.
namespace WPPConnect;
use WPPConnect\Http\Response;
use WPPConnect\Helpers\Util;
require '../../vendor/autoload.php';
$config = require_once('../config/config.php');
$webhook = new Response($config);
$util = new Util();
# QRCode
if ($webhook->getEvent() == 'qrcode') :
'File: ' .
$util->base64ToFile($webhook->getQrcode(), 'image/png', $webhook->getFilesFolder());
die;
endif;
# Message
if ($webhook->getEvent() == 'onmessage' and $webhook->getType() == 'chat') :
echo '
Content: ' . $webhook->getContent() . '
Date: ' . $webhook->getDate() . '
From: ' . $webhook->getFrom() . '
To: ' . $webhook->getTo();
die;
endif;
# File: Audio / Imagem / Arquivo / Video / Sticker
if (
$webhook->getEvent() == 'onmessage' and
(
$webhook->getType() == 'ptt' or
$webhook->getType() == 'image' or
$webhook->getType() == 'document' or
$webhook->getType() == 'video' or
$webhook->getType() == 'sticker'
)
) :
echo '
File: ' .
$util->base64ToFile(
$webhook->getBody(),
$webhook->getMimetype(),
$webhook->getFilesFolder()
) . '
Date: ' . $webhook->getDate() . '
From: ' . $webhook->getFrom() . '
To: ' . $webhook->getTo();
die;
endif;
namespace WPPConnect;
use WPPConnect\Db\Adapter;
use WPPConnect\Helpers\Util;
require '../../vendor/autoload.php';
$config = require_once('../config/config.php');
#SQLite
#$adapter = new Adapter($config, 'sqlite');
#Postgres
#$adapter = new Adapter($config, 'postgres');
#MySQL - Default
$adapter = new Adapter($config);
$util = new Util() ;
#Connect
$adapter->connect();
#Disconnect
$adapter->disconnect();
#Create Table
$adapter->createTable('mensagem', [
'id' => 'serial PRIMARY KEY', // use INTEGER instead of SERIAL on sqlite to get auto ids
'session' => 'varchar(255)',
'content' => 'varchar(255)'
]);
#Insert
$adapter->insert('mensagem', ['session' => 'MySessionName', 'content' => 'MyContent']);
#Update
$adapter->update('mensagem', ['content' => 'MyContent_Edit'], ['id' => 1]);
#Delete
$adapter->delete('mensagem', ['id' => 1]);
#Truncate Table
$adapter->truncateTable('mensagem');
#Drop Table
$adapter->dropTable('mensagem');
#Get All Tables
$adapter->getAllTables();
#Fetch
$adapter->fetchAll('mensagem', ['id', 'content'], ['id' => 1], [], [], ['id'], 'ASC', 3);
$adapter->fetchAll('mensagem');
$adapter->fetchRow('mensagem', [], [], [], [], ['id'], 'ASC');
#Exec / Query
$adapter->exec('SELECT * FROM mensagem WHERE id = 1');
$adapter->query('SELECT * FROM mensagem WHERE id = ?', 1);
#Others
$adapter->count('mensagem');
$adapter->getColumns('mensagem');
$adapter->hasTable('mensagem');
$adapter->hasColumn('mensagem', 'id');
$adapter->getColumnDatatype('mensagem', 'id');
$adapter->getPrimaryKey('mensagem');
#Foreign Keys
$adapter->getForeignKeys('session');
$adapter->getForeignTablesOut('session');
$adapter->getForeignTablesIn('mensagem');
$adapter->isForeignKey('session', 'id');
#Debug Query
$adapter->debugQuery("SELECT * FROM mensagem WHERE id = ? or id = ?", [1, 2]);
Este cliente PHP ainda está em desenvolvimento. Veja aqui todos os endpoints do WPPConnect Server.
Acesse o tutorial de como utilizar o PHP Client com Docker no nosso Canal do Youtube: https://www.youtube.com/watch?v=o_TBIyxFbNI
Acesse o Postman Collection do WPPConnect com todos os endpoints.