Skip to content

Send Image

Send image to a chat.

Usage

The Message facade's sendImage method may be used to send an image to a chat. You must provide a MessageImageData DTO.

php
use NjoguAmos\Waha\Facades\Message;
use NjoguAmos\Waha\Dto\MessageImageData;

$data = new MessageImageData(
    chatId: '[email protected]',
    file: ['url' => 'https://example.com/image.jpg'],
    caption: 'Check this out!',
);

/** @var \Saloon\Http\Response $response */
$response = Message::sendImage(data: $data);
php
use NjoguAmos\Waha\Facades\Message;
use NjoguAmos\Waha\Dto\MessageImageData;

$data = new MessageImageData(
    chatId: '[email protected]',
    file: [
        'mimetype' => 'image/jpeg',
        'filename' => 'image.jpg',
        'data'     => 'base64-encoded-data...',
    ],
    caption: 'Check this out!',
);

/** @var \Saloon\Http\Response $response */
$response = Message::sendImage(data: $data);
php
use NjoguAmos\Waha\Facades\Message;
use NjoguAmos\Waha\Dto\MessageImageData;

$data = new MessageImageData(
    chatId: '[email protected]',
    file: ['url' => 'https://example.com/image.jpg'],
    reply_to: '[email protected]_AAA',
);

/** @var \Saloon\Http\Response $response */
$response = Message::sendImage(data: $data);

Response

The response returned by the sendImage method is an instance of Saloon\Http\Response. You may use the json method to retrieve the response as an array:

php
/** @var \Saloon\Http\Response $response */

$response->status(); // 201
$response->json();   // ["id" => "[email protected]_BAE6A33293978B16", "timestamp" => 1629200000, ...]
php
use NjoguAmos\Waha\Facades\Message;
use NjoguAmos\Waha\Dto\MessageImageData;

$data = new MessageImageData(
    chatId: '[email protected]',
    file: ['url' => 'https://example.com/image.jpg'],
);

/** @var \Saloon\Http\Response $response */
$response = Message::sendImage(data: $data);
$json = $response->json();

Image File Format

WhatsApp works best when images are sent in JPEG format. You must convert to JPEG image/jpeg before sending. In your request, set file.mimetype to image/jpeg and use a .jpg/.jpeg filename.

Engines

WEBJSWPPNOWEBGOWS

References

Released under the MIT License.