wppconnect-team/wppconnect-php-client
最新稳定版本:v2.0.3
Composer 安装命令:
composer require wppconnect-team/wppconnect-php-client
包简介
Um simples cliente PHP que proporciona acesso fácil aos endpoints do WPPConnect Server.
README 文档
README
Wppconnect PHP Client
Um simples cliente PHP que proporciona acesso fácil aos endpoints do WPPConnect Server.
Nossos canais online
Requisitos
- PHP 7.4 ou superior.
- PHP Zip Extension
Instalação
composer require wppconnect-team/wppconnect-php-client
Uso
Request
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);
Response (Webhook)
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;
Funções para uso do Banco de Dados (SQLite, MySQL e Postgres)
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]);
Funções/Métodos Suportados (até este momento)
Este cliente PHP ainda está em desenvolvimento. Veja aqui todos os endpoints do WPPConnect Server.
Token
- generateToken([:session,:secret_key])
Session
- startAll([:secret_key,:token])
- showAllSessions([:session,,:token]);
- startSession([:session,:token,:webhook,:waitQrCode]);
- closeSession([:session,:token]);
- logoutSession([:session,:token]);
- checkConnectionSession([:session,:token]);
- statusSession([:session,:token]);
- qrcodeSession([:session,:token]);
Mensagem
- sendMessage([:session,:token,:phone,:message,:isGroup]);
- sendReply([:session,:token,:phone,:message,:messageId,:isGroup]);
- sendFileBase64([:session,:token,:phone,:filename:base64:isGroup]);
- sendStatus([:session,:token,:message,:isGroup]);
- sendLinkPreview([:session,:token,:phone,:url,:caption,:isGroup]);
- sendLocation([:session,:token,:phone,:lat,:lng,:title,:isGroup]);
- sendMentioned([:session,:token,:phone,:message,:mentioned,:isGroup]);
- sendButtons([:session,:token,:phone,:message,:title,:footer,:buttons]);
Grupo
- createGroup([:session,:token,:participants[:phone,:phone,...],:name]);
- leaveGroup([:session,:token,:groupId]);
- joinCode([:session,:token,:inviteCode]);
- groupMembers([:session,:token,:groupId]);
- addParticipantGroup([:session,:token,:groupId,:phone]);
- removeParticipantGroup([:session,:token,:groupId,:phone,]);
- promoteParticipantGroup([:session,:token,:groupId,:phone]);
- demoteParticipantGroup([:session,:token,:groupId,:phone]);
- groupAdmins([:session,:token,:groupId]);
- groupInviteLink([:session,:token,:groupId]);
- groupRevokeLink([:session,:token,:groupId]);
- allGroups([:session,:token]);
- groupInfoFromInviteLink([:session,:token,:inviteCode]);
- groupMembersIds([:session,:token,:groupId]);
- groupDescription([:session,:token,:groupId,:description]);
- groupProperty([:session,:token,:groupId,:property,:value]);
- groupSubject([:session,:token,:groupId,:title]);
- messagesAdminsOnly([:session,:token,:groupId,:value]);
Chat
- archiveChat([:session,:token,:phone,:isGroup]);
- clearChat([:session,:token,:phone,:isGroup]);
- deleteChat([:session,:token,:phone]);
- deleteMessage([:session,:token,:phone,:messageId]);
- forwardMessages([:session,:token,:phone,:messageId]);
- allChats([:session,:token]);
- allChatsWithMessages([:session,:token]);
- allMessagesInChat([:session,:token,:phone]);
- allNewMessages([:session,:token,:phone]);
- unreadMessages([:session,:token]);
- allUnreadMessages([:session,:token]);
- chatById([:session,:token,:phone]);
- chatIsOnline([:session,:token,:phone]);
- lastSeen([:session,:token,:phone]);
- listMutes([:session,:token,:type]);
- loadMessagesInChat([:session,:token,:phone]);
- markUnseen([:session,:token,:phone]);
- pinChat([:session,:token,:phone,:state,:isGroup]);
- contactVcard([:session,:token,:phone,:contactsId]);
- sendMute([:session,:token,:phone,:time,:type]);
- sendSeen([:session,:token,:phone]);
- chatState([:session,:token,:phone,:chatstate]);
- typing([:session,:token,:phone,:value,:isGroup]);
- starMessage([:session,:token,:messageId,:star]);
- getMediaByMessage([:session,:token,:messageId]);
Contatos
- checkNumberStatus([:session,:token,:phone]);
- allContacts([:session,:token]);
- contact([:session,:token,:phone]);
- profile([:session,:token,:phone,]);
- profilePic([:session,:token,:phone]);
- profileStatus([:session,:token,:phone]);
- blockContact([:session,:token,:phone]);
- unblockContact([:session,:token,:phone]);
- blocklist([:session,:token]);
- setProfileStatus([:session,:token,:status]);
- changeUsername([:session,:token,:name]);
Device
- getBatteryLevel([:session,:token]);
- hostDevice([:session,:token]);
Outros
- allBroadcastList([:session,:token]);
- subscribePresence([:session,:token,:isGroup,:all]);
- killServiceWorkier([:session,:token]);
- restartService([:session,:token]);
Tutórial de Uso com Docker
Acesse o tutorial de como utilizar o PHP Client com Docker no nosso Canal do Youtube: https://www.youtube.com/watch?v=o_TBIyxFbNI
Postman
Acesse o Postman Collection do WPPConnect com todos os endpoints.
统计信息
- 总下载量: 8.31k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 48
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2021-08-23