+7 495 255 06 20
Log In Free trial
November 20, 11:00 AM

DIGITAL EMPLOYEE: TRUTH OR FICTION?

Learn at this webinar how AI-powered chatbots accept orders 24/7, saving you resources and dramatically increasing sales!
Participate for free

Sending messages

You can send text and file messages to the API. Template messages are available for WABA (WhatsApp Business API): template text, template file. For a better understanding, consider several options for sending messages:

Note: All request execution examples are in PHP using the Guzzle http-client.

Sending a message of type text:

$client = new GuzzleHttpClient();
$licenseId = 12345;
$messengerType = 'grWhatsApp';
$chatId = '70000000000'; // phone or chatId
$accessToken = '$2y$10$loFiiY4XsYIDv5lfuJ9qROnpfxe000fsvjR/F1qWYiTgJEXaDiMfa';
try {
    $response = $client->post(
        "https://api.chatapp.online/v1/licenses/$licenseId/messengers/$messengerType/chats/$chatId/messages/text",
        [
            'headers' => [
                'Authorization' => $accessToken,
            ],
            'json' => [
                'text' => 'Hello world!',
            ],
        ]
    );
    $body = $response->getBody();
    echo '<pre>';
    print_r(json_decode((string)$body));
} catch (Exception $e) {
    echo '<pre>';
    print_r([$e->getCode(), $e->getMessage()]);
}

Sending a message of type text with buttons:

$client = new GuzzleHttpClient();
$licenseId = 12345;
$messengerType = 'grWhatsApp';
$chatId = '70000000000'; // phone or chatId
$accessToken = '$2y$10$loFiiY4XsYIDv5lfuJ9qROnpfxe000fsvjR/F1qWYiTgJEXaDiMfa';
try {
    $response = $client->post(
        "https://api.chatapp.online/v1/licenses/$licenseId/messengers/$messengerType/chats/$chatId/messages/text",
        [
            'headers' => [
                'Authorization' => $accessToken,
            ],
            'json' => [
                'text' => 'Hello world!',
                'buttons' => [
                    'items' => [
                        [
                            'text' => 'Button 1'
                        ],
                        [
                            'text' => 'Button 2'
                        ]
                    ]
                ],
            ],
        ]
    );
    $body = $response->getBody();
    echo '<pre>';
    print_r(json_decode((string)$body));
} catch (Exception $e) {
    echo '<pre>';
    print_r([$e->getCode(), $e->getMessage()]);
}

Sending a message of type file via a public link to a file:

$client = new GuzzleHttpClient();
$licenseId = 12345;
$messengerType = 'grWhatsApp';
$chatId = '70000000000'; // phone or chatId
$accessToken = '$2y$10$loFiiY4XsYIDv5lfuJ9qROnpfxe000fsvjR/F1qWYiTgJEXaDiMfa';
$fileLink = 'https://download.samplelib.com/png/sample-green-400x300.png'; // публичная ссылка на файл
$fileName = 'sample-green-400x300.png'; // file name must be with extension
$caption = 'Test'; // file signature optional
try {
    $response = $client->post(
        "https://api.chatapp.online/v1/licenses/$licenseId/messengers/$messengerType/chats/$chatId/messages/file",
        [
            'headers' => [
                'Authorization' => $accessToken,
            ],
            'json' => [
                'file' => $fileLink,
                'fileName' => $fileName,
                'caption' => $caption
            ],
        ]
    );
    $body = $response->getBody();
    echo '<pre>';
    print_r(json_decode((string)$body));
} catch (Exception $e) {
    echo '<pre>';
    print_r([$e->getCode(), $e->getMessage()]);
}

Sending a file type message via multipart/form-data:

$client = new GuzzleHttpClient();
$licenseId = 12345;
$messengerType = 'grWhatsApp';
$chatId = '70000000000'; // phone or chatId
$accessToken = '$2y$10$loFiiY4XsYIDv5lfuJ9qROnpfxe000fsvjR/F1qWYiTgJEXaDiMfa';
$fileName = 'logo-64.png'; // file name must be with extension
$caption = 'Test'; // file signature optional
$filePath = '/source/public/images/logo-64.png'; // path to file on disk
try {
    $response = $client->post(
        "https://api.chatapp.online/v1/licenses/$licenseId/messengers/$messengerType/chats/$chatId/messages/file",
        [
            'headers' => [
                'Authorization' => $accessToken,
            ],
            'multipart' => [
                [
                    'name' => 'fileName',
                    'contents' => $fileName
                ],
                [
                    'name' => 'file',
                    'contents' => fopen($filePath, 'r'),
                    'filename' => $fileName
                ],
                [
                    'name' => 'caption',
                    'contents' => $caption
                ]
            ]
        ]
    );
    $body = $response->getBody();
    echo '<pre>';
    print_r(json_decode((string)$body));
} catch (Exception $e) {
    echo '<pre>';
    print_r([$e->getCode(), $e->getMessage()]);
}

Sending a template text message:

$client = new GuzzleHttpClient();
$licenseId = 12345;
$messengerType = 'grWhatsApp';
$chatId = '70000000000'; // phone or chatId
$accessToken = '$2y$10$loFiiY4XsYIDv5lfuJ9qROnpfxe000fsvjR/F1qWYiTgJEXaDiMfa';
$templateId = '0c20b30c-2b92-436d-a6b1-4a1b8f9c0614';
$templateParams = ['test 1', 'test 2', 'test 3'];
try {
    $response = $client->post(
        "https://api.chatapp.online/v1/licenses/$licenseId/messengers/$messengerType/chats/$chatId/messages/template",
        [
            'headers' => [
                'Authorization' => $accessToken,
            ],
            'json' => [
                'template' => [
                    'id' => $templateId,
                    'params' => $templateParams,
                ]
            ],
        ]
    );
    $body = $response->getBody();
    echo '<pre>';
    print_r(json_decode((string)$body));
} catch (Exception $e) {
    echo '<pre>';
    print_r([$e->getCode(), $e->getMessage()]);
}

Sending a template file message via a public link to the file:

$client = new GuzzleHttpClient();
$licenseId = 12345;
$messengerType = 'grWhatsApp';
$chatId = '70000000000'; // phone or chatId
$accessToken = '$2y$10$loFiiY4XsYIDv5lfuJ9qROnpfxe000fsvjR/F1qWYiTgJEXaDiMfa';
$templateId = '33cd9d37-4375-4f7f-838c-228c1be32299';
$templateParams = [];
$fileLink = 'https://download.samplelib.com/png/sample-green-400x300.png';
try {
    $response = $client->post(
        "https://api.chatapp.online/v1/licenses/$licenseId/messengers/$messengerType/chats/$chatId/messages/template",
        [
            'headers' => [
                'Authorization' => $accessToken,
            ],
            'json' => [
                'template' => [
                    'id' => $templateId,
                    'params' => $templateParams,
                ],
                'file' => $fileLink
            ],
        ]
    );
    $body = $response->getBody();
    echo '<pre>';
    print_r(json_decode((string)$body));
} catch (Exception $e) {
    echo '<pre>';
    print_r([$e->getCode(), $e->getMessage()]);
}

Sending a template file message via multipart/form-data:

$client = new GuzzleHttpClient();
$licenseId = 12345;
$messengerType = 'grWhatsApp';
$chatId = '70000000000'; // phone or chatId
$accessToken = '$2y$10$loFiiY4XsYIDv5lfuJ9qROnpfxe000fsvjR/F1qWYiTgJEXaDiMfa';
$templateId = '33cd9d37-4375-4f7f-838c-228c1be32299';
$templateParams = [];
$fileName = 'logo-64.png'; // file name must be with extension
$filePath = '/source/public/images/logo-64.png'; // path to file on disk
try {
    $response = $client->post(
        "https://api.chatapp.online/v1/licenses/$licenseId/messengers/$messengerType/chats/$chatId/messages/template",
        [
            'headers' => [
                'Authorization' => $accessToken,
            ],
            'multipart' => [
                [
                    'name' => 'template[id]',
                    'contents' => $templateId
                ],
                [
                    'name' => 'file',
                    'contents' => fopen($filePath, 'r'),
                    'filename' => $fileName
                ],
                /*[
                    'name' => 'template[params][0]',
                    'contents' => 'Test'
                ],
                [
                    'name' => 'template[params][1]',
                    'contents' => 'Test2'
                ],*/
            ]
        ]
    );
    $body = $response->getBody();
    echo '<pre>';
    print_r(json_decode((string)$body));
} catch (Exception $e) {
    echo '<pre>';
    print_r([$e->getCode(), $e->getMessage()]);
}