Sign in

Documentation Max

Документация WhatsApp

Instance management

Description

This method is used to complete instance authorization.

During the authorization process, an SMS confirmation code will be sent to the specified phone number. The received code must be passed via the /sendCode method to complete authorization.

Before starting, make sure that the specified number already has a MAX messenger account registered in the mobile app.

Resource URL:
https://app.api-messenger.com/max-v1/start

Input data

Parameter Required Value
phone Yes The phone number required to complete authorization in MAX
For example, 79000000000

Output data

The output data structure is shown below.

   {
        "status": "{enum}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message A text description of the error that occurred.

The parameter is displayed only if status=ERROR

Examples


$token = '1xmrd7YHjff5';

$array = array(
            'phone' => '79999999999'
        );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/start?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    echo 'OK';
} else {
    echo 'ERROR: ' . $data['message'];
}

Description

This method completes the instance authorization process. Enter the SMS code sent after executing the /start method.

Resource URL:
https://app.api-messenger.com/max-v1/sendcode

Input data

Parameter Required Value
code Yes Verification code from the SMS. For example 000000

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message Text description of the error that occurred.

The parameter is displayed only if status=ERROR

Examples


$token = '1xmrd7YHjff5';

$array = array(
            'code' => '000000'
        );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/sendcode?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array

if ($data['status'] == 'OK') {
    echo 'OK';
} else {
    echo 'ERROR: ' . $data['message'];
}

Description

This method allows you to get the instance status.

Resource URL:
https://app.api-messenger.com/max-v1/status

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "account": "{string}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
account Instance status.

Possible values:

  • auth — authorization successful, connected.

  • reboot — rebooting

  • launched — instance launched, waiting for verification code from SMS.

  • no_auth — instance closed. No authorization

The parameter is displayed only if status=OK
message Text description of the error that occurred.

The parameter is displayed only if status=ERROR

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/status?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    echo 'Status: ' . $data['account'];
} else {
    echo 'ERROR: ' . $data['message'];
}

Description

This method allows you to restart an instance from the Connected state.

Resource URL:
https://app.api-messenger.com/max-v1/reboot

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message Text description of the error that occurred.

The parameter is displayed only if status=ERROR

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/reboot?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
echo $result;

Description

This method allows you to close the current instance.

Resource URL:
https://app.api-messenger.com/max-v1/exit

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message Text description of the error that occurred.

The parameter is displayed only if status=ERROR

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/exit?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
echo $data['status'];

Sending and receiving messages

Description

This method allows you to queue test messages for sending.
The message is kept in the queue for 24 hours.
Instance authorization is not checked.

Resource URL:
https://app.api-messenger.com/max-v1/sendmessage

Input data

POST request body structure:

    [
        {
            "chatId": "{string}",
            "message": "{string}"
        },
        ...
    ]

The following parameters are passed in the POST request body:

Parameter Required Value
chatId Yes Message recipient in the following format:
00000000 - individual chat ID
-10000000000000 - group chat ID
message Yes Text message

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "message": "{string}",
        "internalId": [
            "{string}",
            ...
            ]
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message Message containing an error description or, if successful, the number of messages added in the following format Successfully added 10
internalId Array of internal view identifiers 18627b48-1ff2-4e33-9747-9d0abea583b3

The parameter is displayed only if status=OK

Limitations

A single request can contain no more than 100 messages.

Examples


$token = '1xmrd7YHjff5';

    $array = array(
        array(
            'chatId' => '00000000', // The chatId can be obtained in a webhook or using the /checkNumber method
            'message' => 'Hello!', // Message
        )
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/sendmessage?token=' . $token);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
echo $data['status'] . ': ' . $data['message'];

Description

This method allows you to queue a message with a location for sending.
The message is kept in the queue for 24 hours.
Instance authorization is not checked.

Resource URL:
https://app.api-messenger.com/max-v1/sendlocation

Input data

POST request body structure:

   {
        "chatId": "{string}",
        "latitude": "{string}",
        "longitude": "{string}"
    }

The following parameters are passed in the POST request body:

Parameter Required Value
chatId Yes Message recipient in the following format:
00000000 - individual chat ID
-10000000000000 - group chat ID
latitude Yes Latitude
longitude Yes Longitude

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "message": "{string}",
        "internalId": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message A message containing a description of the error or, if successful, a notification that the message has been added to the queue.
internalId Internal view identifier 18627b48-1ff2-4e33-9747-9d0abea583b3

The parameter is displayed only if status=OK

Examples


$token = '1xmrd7YHjff5';

$array = array(
        'chatId' => '00000000', // The chatId can be obtained in a webhook or using the /checkNumber method
        'latitude' => '37.422', 
        'longitude' => '-122.084'
    );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/sendlocation?token=' . $token);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
echo $data['status'];

Description

This method allows you to queue a file for sending.
The file is stored in the queue for 24 hours.
Instance authorization is not checked.

Resource URL:
https://app.api-messenger.com/max-v1/sendfile

Input data

POST request body structure:

{
        "chatId": "{string}",
        "body": "{string}",
        "filename": "{string}",
        "caption": "{string}"
    }

The following parameters are passed in the POST request body:

Parameter Required Value
chatId Yes The recipient of the message in the format:
00000000 - the ID of the individual chat
-10000000000000 - group chat ID
body Yes A base64-encoded string
filename Yes The file name with extension.
caption No The file caption that the recipient will see.

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "message": "{string}",
        "internalId": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message A message containing a description of the error, or, if successful, a notification that the file has been added to the queue.
internalId Internal identifier of the view 18627b48-1ff2-4e33-9747-9d0abea583b3

The parameter is displayed only if status=OK

Examples


$token = '1xmrd7YHjff5';

$array = array(
        'body' => 'data:image/jpeg;base64,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',
        'filename' => 'filename_1.jpg',
        'caption' => 'подпись',
        'chatId' => '00000000', // The chatId can be obtained in a webhook or using the /checkNumber method);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/sendfile?token=' . $token);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
echo $data['status'] . ': ' . $data['message'];

Description

This method allows you to queue a file for sending by URL.
The file is stored in the queue for 24 hours.
Instance authorization is not checked.

Resource URL:
https://app.api-messenger.com/max-v1/sendfileurl

Input data

POST request body structure:

   {
        "chatId": "{string}",
        "url": "{string}",
        "filename": "{string}",
        "caption": "{string}"
    }

The following parameters are passed in the POST request body:

Parameter Required Value
chatId Yes Message recipient in the following format:
00000000 - individual chat ID
-10000000000000 - group chat ID
url Yes Link to the file
filename Yes File name with extension.
caption No The caption for the file that will be seen recipient.

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "message": "{string}",
        "internalId": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message A message containing a description of the error or, if successful, a notification that the file has been added to the queue.
internalId Internal identifier of the view 18627b48-1ff2-4e33-9747-9d0abea583b3

The parameter is displayed only if status=OK

Examples


$token = '1xmrd7YHjff5';

$array = array(
        'url' => 'https://img1.goodfon.ru/wallpaper/nbig/a/69/kartinka-3d-dikaya-koshka.jpg',
        'filename' => 'filename_1.jpg',
        'caption' => 'caption',
        'chatId' => '00000000', // The chatId can be obtained in a webhook or using the /checkNumber method
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/sendfileurl?token=' . $token);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
echo $data['status'];

Description

This method retrieves all messages for the last 30 days.

Resource URL:
https://app.api-messenger.com/max-v1/messages

Input data

Parameter Required Value
api No Get messages sent via the API. Evaluates to true
from No Get messages starting with (>=). Filtering is performed by the timestamp parameter
to No Get messages up to (<=). Filtering is performed by the timestamp parameter
page No The page number of the results to display in the response.

If the specified page number exceeds the total number of pages found, an error is returned.

Default value: 1.

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "pager":
            {
                "currentPage": {int32},
                "pagesCount": {int32},
                "pageSize": {int32},
                "totalsMessage": {int32}
            },
        "messages":
            [
                {
                    "id": "{string}",
                    "body": "{string}",
                    "chatId": "{int32}",
                    "formattedTitle": "{string}",
                    "fromMe": {boolean},
                    "imgURL": "{string}",
                    "notifyName": "{string}",
                    "sender": "{int32}",
                    "timestamp": {int64},
                    "api": {boolean},
                    "forwarded": {boolean},
                    "ack": "{int32}",
                    "internalId": "{string}",
                    "type": "{enum}"
                    "quotedMessage": {object},
                    "location": {object},
                    "contact": {object},
                    "files": {array},
                },
                ...
            ]
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
pager Summary of search results.
messages List of messages matching the search criteria.
Parameters nested in pager
currentPage The number of the results page to display.

If no messages matching the search criteria specified in the query are found, the parameter is not displayed.
pagesCount Number of pages with results.

If no messages matching the search criteria specified in the query are found, the parameter is not displayed.
pageSize The number of messages displayed per page.

If no messages matching the search criteria are found, this parameter is not displayed.
totalsMessage The total number of messages found.

If no messages matching the search criteria are found, this parameter value is: 0.
Parameters nested in messages
id Individual message identifier in the Max system
body Text message
chatId Individual chat identifier
formattedTitle Chat/group name
fromMe Possible values:

  • true — outgoing message.

  • false — incoming message.
imgURL URL to the users avatar

This parameter is only displayed when fromMe=false
notifyName Username in Max

This parameter is only displayed when fromMe=false
sender Message author ID
timestamp UNIX timestamp in seconds
api API sending flag. Accepts values true / false
forwarded Flag indicating whether the message has been forwarded. Accepts values true / false
ack Message delivery status.

Possible values:

  • 1 — sent.

  • 2 — read.

The parameter is displayed only if fromMe=true
internalId Views internal ID 18627b48-1ff2-4e33-9747-9d0abea583b3

The parameter is displayed only if api=true
type Message type.

Main possible values:

  • chat — text message.

  • location — location.

  • contact — contact card.

  • document — document.

  • video — video.

  • photo — image.

  • sticker — sticker.

  • audio — audio recording.

  • removed — message deleted.

  • edited — message edited.

Parameters nested in quotedMessage (выводится при forwarded=true)
id Individual message identifier in the Max system
sender Message author ID
Parameters nested in location (выводится при type=location)
latitude Latitude.
longitude Longitude.
Parameters nested in contact (выводится при type=contact)
name Contact name
phone Contact phone number
Parameters nested in files (выводится при type=document, video, photo, sticker, audio)
url URL for file download. The file is stored in our system for 1 hour after receiving.
name File name. Works correctly only for type=document; for other file types, the name is generated by the system.
mime File classification according to Media Types
quickVideo Possible values:

  • true — video message in "mug" format.

  • false — standard video.

The parameter is displayed only if type=video

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/messages?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    if ($data['pager']['totalsMessage'] > 0) {
        foreach ($data['messages'] as $v) {
            echo '

Отправитель: ' . (int) $v['sender'] . '
Сообщение: ' . $v['body'] . '

'; } } else echo 'no messages'; } else echo $data['status'] . ': ' . $data['message'];

Queue management

Description

This method allows you to get all messages queued for sending.

Resource URL:
https://app.api-messenger.com/max-v1/messagesqueue

Input data

Parameter Required Value
filter No Filter by message type. Example: filter=message,file,contact,fileurl,location
page No The page number of the results to display in the response.

If the specified page number is greater than the total number of pages found, an error is returned.

Default value: 1.

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "pager":
            {
                "currentPage": {int32},
                "pagesCount": {int32},
                "pageSize": {int32},
                "totalsMessage": {int32}
            },
        "messages":
            [
                {
                    "type": "{enum}",
                    "chatId": "{int32}",
                    ... // Parameters according to the sending method
                },
                ...
            ]
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
pager Summary of search results.
messages List of messages that match the search criteria.
Parameters nested in pager
currentPage The number of the results page to display.

If no messages matching the search criteria specified in the query were found, the parameter is not displayed.
pagesCount Number of pages with results.

If no messages matching the search criteria specified in the query were found, found, parameter is not displayed.
pageSize Number of messages displayed per page.

If no messages matching the search criteria are found, the parameter is not displayed.
totalsMessage Total number of messages found.

If no messages matching the search criteria are found, the parameter value is: 0.
Parameters nested in messages
type Message type.

Possible values:

  • file — file.

  • contact — contact.

  • message — text message.

  • fileurl — file sent via URL.

  • location — location.

chatId Individual chat ID

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/messagesqueue?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    if ($data['pager']['totalsMessage'] > 0) {
        foreach ($data['messages'] as $v) {
            echo '

Recipient: ' . (int) $v['chatId'] . '
Message: ' . $v['message'] . '

'; } } else echo 'no messages'; } else echo $data['status'] . ': ' . $data['message'];

Description

This method clears all messages in the message queue for sending.

Resource URL:
https://app.api-messenger.com/max-v1/clearmessagesqueue

Input data

Parameter Required Value
filter No Delete only certain message types. Example: filter=message,file,contact,fileurl,location

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message A message containing a description of the error.

This parameter is only displayed when status=ERROR

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/clearmessagesqueue?files=true&token=' . $token);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
echo $data['status'] . ': ' . $data['message'];

Additional

Description

This method checks the existence of a user with the specified phone number in Max.

Resource URL:
https://app.api-messenger.com/max-v1/checknumber

Input data

Parameter Required Value
phone Yes Phone number in the format 71111111111

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "result": {
            "numberExists": "{boolean}",
            "chatId": "{int32}",
            "img": "{string}"
        }
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
result Query result.

This parameter is only displayed if status=OK
message A message containing a description of the error.

The parameter is displayed only if status=ERROR
Parameters nested in result
numberExists The number exists in Max.

Possible values:

  • true — the number is registered in Max.
  • false — the number is not registered in Max.
chatId The individual chat ID.

This parameter is only displayed if numberExists=true
img URL to a contacts avatar in Max

This parameter is only displayed if numberExists=true and if the contact has an avatar set and its display is allowed by privacy settings.

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/checknumber?phone=79999999999&token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
print_r($data);

Webhook

Description

This method allows you to get an installed webhook.

Resource URL:
https://app.api-messenger.com/max-v1/webhook

Output data

The output data structure is shown below.

    { 
        "status": "{enum}",
        "webhook": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
webhook An installed webhook or its absence.

Examples


$token = '1xmrd7YHjff5';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/webhook?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
        echo !empty($data['webhook']) ? $data['webhook'] : 'no webhook';
} else
    echo $data['status'];

Description

This method allows you to set a URL for receiving webhook.

Resource URL:
https://app.api-messenger.com/max-v1/setwebhook

Input data

POST request body structure:

    {
        "webhook": "{string}"
    }

The following parameters are passed in the POST request body:

Parameter Required Value
webhook Yes URL for receiving webhook

Output data

The output data structure is shown below.

    { 
        "status": "{enum}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.

Examples


$token = '1xmrd7YHjff5';

$array = array(
    'webhook' => 'http://your.site/incoming_message.php'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/max-v1/setwebhook?token=' . $token);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($array));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
echo $data['status'];

The system can send event notifications (incoming messages, status of sent messages, instance state changes). To send notifications to external systems, an HTTP address must be configured in the user account. The order in which notifications are received by the external system is not defined. This must be taken into account when processing events based on the timestamp in the timestamp field.

Request format type=stateInstance

    { 
        "type": "stateInstance",
        "instance": "max",                
        "status": "{enum}",
        "token": "{string}"
    }

Parameter description:

Parameter Value
status Instance status.

Possible values:

  • launched — instance launched, waiting for verification code from SMS.

  • no_auth — instance closed. No authorization
token Token

Request format type=messageOrAsk

    { 
        "type": "messageOrAsk",
        "instance": "max",                
        "messages":
            [
                {
                    "id": "{string}",
                    "body": "{string}",
                    "chatId": "{int32}",
                    "formattedTitle": "{string}",
                    "fromMe": {boolean},
                    "imgURL": "{string}",
                    "notifyName": "{string}",
                    "sender": "{int32}",
                    "timestamp": {int64},
                    "api": {boolean},
                    "forwarded": {boolean},
                    "ack": "{int32}",
                    "internalId": "{string}",
                    "type": "{enum}"
                    "quotedMessage": {object},
                    "location": {object},
                    "contact": {object},
                    "files": {array},
                },
                ...
            ],
        "ask":
            [
                {
                    "status": "{int}",
                    "chatId": "{int32}",
                    "message": {object}
                },
                ...
            ]
    }

Parameter description:

Parameter Value
Parameters attached to messages
id Individual message identifier in the Max system
body Text message
chatId Individual chat identifier
formattedTitle Chat/group name
fromMe Possible values:

  • true — outgoing message.

  • false — incoming message.
imgURL URL to the users avatar

This parameter is only displayed when fromMe=false
notifyName Username in Max

This parameter is only displayed when fromMe=false
sender Message author ID
timestamp UNIX timestamp in seconds
api API sending flag. Accepts values true / false
forwarded Flag indicating whether the message has been forwarded. Accepts values true / false
ack Message delivery status.

Possible values:

  • 1 — sent.

  • 2 — read.

The parameter is displayed only if fromMe=true
internalId Views internal ID 18627b48-1ff2-4e33-9747-9d0abea583b3

The parameter is displayed only if api=true
type Message type.

Main possible values:

  • chat — text message.

  • location — location.

  • contact — contact card.

  • document — document.

  • video — video.

  • photo — image.

  • sticker — sticker.

  • audio — audio recording.

  • removed — message deleted.

  • edited — message edited.

Parameters nested in quotedMessage (выводится при forwarded=true)
id Individual message identifier in the Max system
sender Message author ID
Parameters nested in location (выводится при type=location)
latitude Latitude.
longitude Longitude.
Parameters nested in contact (выводится при type=contact)
name Contact name
phone Contact phone number
Parameters nested in files (выводится при type=document, video, photo, sticker, audio)
url URL for file download. The file is stored in our system for 1 hour after receiving.
name File name. Works correctly only for type=document; for other file types, the name is generated by the system.
mime File classification according to Media Types
quickVideo Possible values:

  • true — video message in "mug" format.

  • false — standard video.

The parameter is displayed only if type=video
Parameters attached to ask
status Message delivery status.

Possible values:

  • -1 — error, message not sent.

  • 1 — sent.

  • 2 — read.

chatId Individual chat ID
message Message object. If status=-1 only contains the internalId parameter

Examples


// First, set up a webhook according to the documentation
// e.g., http://yoursite/incoming_message.php

// Decode the JSON received via webhook
$data = json_decode(file_get_contents('php://input'), true);
foreach($data['messages'] as $message){ // Print each message
    // Process each message here:
    // Add to the database or reply immediately    
}

For partners

Description

Adds a new instance to the user account (money is debited from the monthly balance according to the pricing schedule)

Resource URL:
https://app.api-messenger.com/account/add

Input data

Parameter Required Value
key Yes A key for using the partner API.
Currently only available through technical support.
Use the key for testing demo
name No Instance name

Output data

The output data structure is shown below.

   {
        "status": "{enum}",
        "token": "{string}",
        "before": "{string}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
token A token for further use of the instance
before The last date until which the instance (token) will be active. The instance is automatically renewed three days before the expiration date if there are sufficient funds in the balance. In the format YYYY-mm-dd
message The parameter is displayed only in case of an error

Examples


$key = 'demo';
$name = 'Custom name';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/account/add?key=' . $key.'&name='.$name);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    echo $data['token'];
} else {
    echo 'ERROR: ' . $data['message'];
}

Description

Deletes an instance from the user account (funds for unused days are refunded to the balance)

Resource URL:
https://app.api-messenger.com/account/delete

Input data

Parameter Required Value
key Yes Key for working with the partner API.
Currently, it can only be obtained through technical support.
For testing, use the key demo
token Yes Token of the instance to be deleted

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "message": "{string}"
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message The parameter is displayed only in case of an error

Examples


$key = 'demo';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/account/delete?token=ttttt&key=' . $key);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    echo 'OK';
} else {
    echo 'ERROR: ' . $data['message'];
}

Description

Get all instances from the user account

Resource URL:
https://app.api-messenger.com/account/list

Input data

Parameter Required Value
key Yes Key for Working with the partner API.
Currently, this information can only be obtained through technical support.
For testing, use the key demo

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "message": "{string}",
        "result": [
                {
                    "name": "{string}",
                    "token": "{string}",
                    "before": "{string}",
                },
            ]
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message The parameter is displayed only in case of an error
Parameters attached to result
name Instance name specified in the dashboard
token Instance token
before The last date until which the instance (token) will be active. The instance is automatically renewed 3 days before the date if there are funds in the balance. In the format YYYY-mm-dd

Examples


$key = 'demo';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/account/list?key=' . $key);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    foreach ($data['result'] as $v) {
        echo 'Name: ' . $v['name'] . ', Token: ' . $v['token'] . ', Before: '. $v['before'];
    }
} else {
    echo 'ERROR: ' . $data['message'];
}

Description

Get the total account balance. Replenishment occurs through technical support upon receipt of a key for working with the partner API.

Resource URL:
https://app.api-messenger.com/account/balance

Input data

Parameter Required Value
key Yes Key for working with the partner API.
Currently, it can only be obtained through technical support.
Use the key for testing. demo

Output data

The output data structure is shown below.

    {
        "status": "{enum}",
        "message": "{string}",
        "balance": "{int32}",
    }

Parameter description:

Parameter Value
status Response status.

Possible values:

  • ERROR — an error occurred.

  • OK — the request was successful.
message The parameter is displayed only in case of an error.
balance Account balance.

Examples


$key = 'demo';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.api-messenger.com/account/balance?key=' . $key);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json; charset=utf-8'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch); // Send a request
curl_close($ch);
$data = json_decode($result, true); // Parse the received JSON into an array
if ($data['status'] == 'OK') {
    echo 'Balance:' . $data['balance'];
} else {
    echo 'ERROR: ' . $data['message'];
}
whatsapp business api,подключение whatsapp business api,whatsapp business api цена,whatsapp business api стоимость,whatsapp business api как подключить,whatsapp бизнес api,facebook whatsapp api,whatsapp бот api,twilio whatsapp api,сколько стоит whatsapp business api,whatsapp cloud api,whatsapp business api рассылка,интеграция whatsapp business api,whatsapp business api waba,официальный whatsapp business api,whatsapp api интеграция,green api whatsapp,whatsapp business api получить,business account whatsapp api,whatsapp business api скачать на андроид,whatsapp business cloud api,green api whatsapp proxy,green api whatsapp отзывы,meta api whatsapp,meta whatsapp cloud api,как получить доступ к api whatsapp bisnes,сервис whatsapp business api