PHP package to easily interact with waapi.app.
composer require waapi/waapi-php-sdk
use WaAPI\WaAPISdk\WaAPISdk;
$apiToken = 'xxxxxxxxxxxxxxxxxxxxxx';
$sdk = new WaAPISdk($apiToken);
$isAvailable = $sdk->isApiAvailable();
$instance = $sdk->createInstance();
$instanceId = $instance->id;
$instanceId = 10; //you need to know your instance id at this point
$instance = $sdk->getInstance($instanceId);
$instanceId = 10; //you need to know your instance id at this point
//if a subscribed event occurs, this url will be requested with the event data
//can also be null if you do not want to receive webhooks
$webhookUrl = '';
$subscribedEvents = ['', '']; //can also be null or an empty array
$sdk->updateInstance($instanceId, $webhookUrl, $subscribedEvents);
//if you have an instance object, you can also use the following method
$instance = $sdk->getInstance($instanceId);
$instance->update($webhookUrl, $subscribedEvents);
$instanceId = 10; //you need to know your instance id at this point
$sdk->deleteInstance($instanceId);
//if you have an instance object, you can also use the following method to delete this instance
$instance = $sdk->getInstance($instanceId);
$instance->delete();
After creating a new instance, you need to connect your WhatsApp phone number with this instance. With the following code, you are able to receive the current QR-Code.
$instanceId = 10; //you need to know your instance id at this point
$response = $sdk->getInstanceClientQrCode($instanceId);
//if you have an instance object, you can also use the following method to delete this instance
$instance = $sdk->getInstance($instanceId);
$response = $instance->clientQrCode();
// The QR code as a base64 image string (data:image/png;base64,…).
// Set this string in the src attribute of a <img src=““> html tag.
$qrCode = $response->qrCode;
An instance always has a status.
Status | Description |
---|---|
booting | The node is starting the instance. The status will change to loading_screen soon. |
loading_screen | The instance is starting WhatsApp Web. The status will change to qr or ready soon. |
qr | The instance needs to be connected with a WhatsApp phone number. You can fetch the QR code now. |
authenticated | The connection via the QR code was successful. The status will change to ready soon. |
auth_failure | The connection via the QR code failed or WhatsApp Web is down. |
ready | The instance is ready to use. You are able to execute actions and send messages. |
disconnected | Disconnected from WhatsApp Web |
$instanceId = 10; //you need to know your instance id at this point
$response = $sdk->getInstanceClientStatus($instanceId);
//if you have an instance object, you can also use the following method to delete this instance
$instance = $sdk->getInstance($instanceId);
$response = $instance->clientStatus();
$instanceStatus = $response->instanceStatus;
$instanceId = 10; //you need to know your instance id at this point
$response = $sdk->getInstanceClientInfo($instanceId);
//if you have an instance object, you can also use the following method to delete this instance
$instance = $sdk->getInstance($instanceId);
$response = $instance->clientInfo();
//your public name of your WhatsApp profile (your name)
$displayName = $response->displayName;
//the connected WhatsApp phone number (your phone number)
$phoneNumber = $response->formattedNumber;
//profile image url of the connected WhatsApp phone number (your profile picture)
$profileUrl = $response->profilePicUrl;
//a unique identifier for your WhatsApp account / profile / phone number
$whatsAppId = $response->contactId;
The MIT License (MIT). Please see License File for more information.