PHPackages                             wppconnect-team/wppconnect-php-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. wppconnect-team/wppconnect-php-client

ActiveLibr[API Development](/categories/api)

wppconnect-team/wppconnect-php-client
=====================================

Um simples cliente PHP que proporciona acesso fácil aos endpoints do WPPConnect Server.

v2.0.3(2y ago)4710.1k↓32.6%17Apache-2.0PHPPHP &gt;=7.3

Since Aug 24Pushed 2y ago5 watchersCompare

[ Source](https://github.com/wppconnect-team/wppconnect-php-client)[ Packagist](https://packagist.org/packages/wppconnect-team/wppconnect-php-client)[ Docs](https://github.com/wppconnect-team/wppconnect-php-client)[ RSS](/packages/wppconnect-team-wppconnect-php-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (5)Used By (0)

WPPConnect Team
===============

[](#wppconnect-team)

*Wppconnect PHP Client*
-----------------------

[](#wppconnect-php-client)

Um simples cliente PHP que proporciona acesso fácil aos endpoints do WPPConnect Server.

Nossos canais online
--------------------

[](#nossos-canais-online)

[![Discord](https://camo.githubusercontent.com/d295d006321f79f12fa09e3719443b33d80925205a2354e9c265c70f82ffaecb/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f3834343335313039323735383431333335333f636f6c6f723d626c756576696f6c6574266c6162656c3d446973636f7264266c6f676f3d646973636f7264267374796c653d666c6174)](https://discord.gg/JU5JGGKGNG)[![Telegram Group](https://camo.githubusercontent.com/110b312affbdcdbae8c57feae6d4fda7ed0c5b7bdc0ea31d38d64e646baf751c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f54656c656772616d2d47726f75702d3332414645443f6c6f676f3d74656c656772616d)](https://t.me/wppconnect)[![WhatsApp Group](https://camo.githubusercontent.com/abab26c6ead1458abad829719c8ced89a2bc6284a74c53d307cea7c0f359dd9c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f57686174734170702d47726f75702d3235443336363f6c6f676f3d7768617473617070)](https://chat.whatsapp.com/LJaQu6ZyNvnBPNAVRbX00K)[![YouTube](https://camo.githubusercontent.com/75360cffaab5dd13c92ba7450bcd5ce2fc07dcd1685fe79c5b192e1c1acd7b0a/68747470733a2f2f696d672e736869656c64732e696f2f796f75747562652f6368616e6e656c2f73756273637269626572732f554344374a394c473038506d4751724635495337597639413f6c6162656c3d596f7554756265)](https://www.youtube.com/c/wppconnect)

Requisitos
----------

[](#requisitos)

- PHP 7.4 ou superior.
- PHP Zip Extension

Instalação
----------

[](#instalação)

```
composer require wppconnect-team/wppconnect-php-client

```

Uso
---

[](#uso)

### Request

[](#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)

[](#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)
-------------------------------------------------------------

[](#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)
---------------------------------------------

[](#funçõesmétodos-suportados-até-este-momento)

Este cliente PHP ainda está em desenvolvimento. Veja [aqui](https://github.com/wppconnect-team/wppconnect-server/blob/main/src/routes/index.js) todos os endpoints do WPPConnect Server.

### Token

[](#token)

- generateToken(\[:session,:secret\_key\])

### Session

[](#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

[](#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

[](#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

[](#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

[](#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

[](#device)

- getBatteryLevel(\[:session,:token\]);
- hostDevice(\[:session,:token\]);

### Outros

[](#outros)

- allBroadcastList(\[:session,:token\]);
- subscribePresence(\[:session,:token,:isGroup,:all\]);
- killServiceWorkier(\[:session,:token\]);
- restartService(\[:session,:token\]);

Tutórial de Uso com Docker
--------------------------

[](#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](https://www.youtube.com/watch?v=o_TBIyxFbNI)

Postman
-------

[](#postman)

Acesse o [Postman Collection do WPPConnect](https://documenter.getpostman.com/view/9139457/TzshF4jQ) com todos os endpoints.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity39

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~228 days

Total

4

Last Release

1044d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/33b8a278749efde08227d7dcb6c95a209222c50b57f8df3b561fb8a842ff2b46?d=identicon)[bgastaldi](/maintainers/bgastaldi)

---

Top Contributors

[![bgastaldi](https://avatars.githubusercontent.com/u/3454381?v=4)](https://github.com/bgastaldi "bgastaldi (47 commits)")[![edgardmessias](https://avatars.githubusercontent.com/u/1530997?v=4)](https://github.com/edgardmessias "edgardmessias (2 commits)")[![RicardoRamirezR](https://avatars.githubusercontent.com/u/6526545?v=4)](https://github.com/RicardoRamirezR "RicardoRamirezR (1 commits)")

---

Tags

phpwhatsappwppconnectwppconnect-serverphprest-clientwppconnect

### Embed Badge

![Health badge](/badges/wppconnect-team-wppconnect-php-client/health.svg)

```
[![Health](https://phpackages.com/badges/wppconnect-team-wppconnect-php-client/health.svg)](https://phpackages.com/packages/wppconnect-team-wppconnect-php-client)
```

###  Alternatives

[deepseek-php/deepseek-php-client

deepseek PHP client is a robust and community-driven PHP client library for seamless integration with the Deepseek API, offering efficient access to advanced AI and data processing capabilities.

47073.9k5](/packages/deepseek-php-deepseek-php-client)[rubix/server

Deploy your Rubix ML models to production with scalable stand-alone inference servers.

632.3k](/packages/rubix-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
