1. Go to this page and download the library: Download sixtec/wbapi library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use Sixtec\WBApi\Webhook\Events\MessageReceivedEvent;
use Sixtec\WBApi\Webhook\Events\MessageDeliveredEvent;
use Sixtec\WBApi\Webhook\Events\MessageReadEvent;
use Sixtec\WBApi\Webhook\Events\MessageTypingEvent;
$payload = json_decode(file_get_contents('php://input'), true);
$events = WBMeta::webhook()->handle($payload);
foreach ($events as $event) {
match (true) {
$event instanceof MessageReceivedEvent => handleReceived($event),
$event instanceof MessageDeliveredEvent => handleDelivered($event),
$event instanceof MessageReadEvent => handleRead($event),
$event instanceof MessageTypingEvent => handleTyping($event),
};
}
function handleReceived(MessageReceivedEvent $event): void
{
// $event->messageId, $event->from, $event->type
// $event->textBody — preenchido quando type === 'text'
// $event->mediaData — preenchido para tipos de mídia
}
function handleTyping(MessageTypingEvent $event): void
{
// $event->contactId, $event->timestamp, $event->messageId
}
use Sixtec\WBApi\Config\WBMetaConfig;
use Sixtec\WBApi\WBMetaClient;
$client = WBMetaClient::fromConfig(
new WBMetaConfig(accessToken: env('WA_TOKEN'), phoneNumberId: env('WA_PHONE_ID')),
);
// Registrar no container e injetar onde necessário
use Sixtec\WBApi\Config\WBMetaConfig;
use Sixtec\WBApi\Tests\Fakes\FakeHttpClient;
use Sixtec\WBApi\WBMetaClient;
$config = new WBMetaConfig(accessToken: env('WA_TOKEN'), phoneNumberId: env('WA_PHONE_ID'));
$client = WBMetaClient::fromConfig($config, new FakeHttpClient());
// Registrar no container e injetar onde necessário
use Sixtec\WBApi\Tests\Fakes\FakeHttpClient;
use Sixtec\WBApi\WBMetaClient;
$fake = new FakeHttpClient();
$fake->addResponse(200, [
'contacts' => [['input' => '5511999999999']],
'messages' => [['id' => 'wamid.test01', 'message_status' => 'accepted']],
]);
$client = WBMetaClient::fromConfig($config, $fake);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.