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.
https://app.api-messenger.com/max-v1/start
| Parameter | Required | Value |
|---|---|---|
| phone | Yes | The phone number required to complete authorization in MAX For example, 79000000000 |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| message | A text description of the error that occurred. The parameter is displayed only if status=ERROR |
$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'];
}
This method completes the instance authorization process. Enter the SMS code sent after executing the /start method.
https://app.api-messenger.com/max-v1/sendcode
| Parameter | Required | Value |
|---|---|---|
| code | Yes | Verification code from the SMS. For example 000000 |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| message | Text description of the error that occurred. The parameter is displayed only if status=ERROR |
$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'];
}
This method allows you to get the instance status.
Resource URL:https://app.api-messenger.com/max-v1/status
The output data structure is shown below.
{
"status": "{enum}",
"account": "{string}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| account | Instance status. Possible values:
The parameter is displayed only if status=OK
|
| message | Text description of the error that occurred. The parameter is displayed only if status=ERROR |
$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'];
}
This method allows you to restart an instance from the Connected state.
Resource URL:https://app.api-messenger.com/max-v1/reboot
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| message | Text description of the error that occurred. The parameter is displayed only if status=ERROR |
$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;
This method allows you to close the current instance.
Resource URL:https://app.api-messenger.com/max-v1/exit
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| message | Text description of the error that occurred. The parameter is displayed only if status=ERROR |
$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'];
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.
https://app.api-messenger.com/max-v1/sendmessage
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 |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}",
"internalId": [
"{string}",
...
]
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| 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-9d0abea583b3The parameter is displayed only if status=OK |
$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'];
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.
https://app.api-messenger.com/max-v1/sendlocation
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 |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}",
"internalId": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| 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-9d0abea583b3The parameter is displayed only if status=OK |
$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'];
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.
https://app.api-messenger.com/max-v1/sendfile
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. |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}",
"internalId": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| 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-9d0abea583b3The parameter is displayed only if status=OK |
$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'];
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.
https://app.api-messenger.com/max-v1/sendfileurl
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. |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}",
"internalId": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| 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-9d0abea583b3The parameter is displayed only if status=OK |
$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'];
This method retrieves all messages for the last 30 days.
Resource URL:https://app.api-messenger.com/max-v1/messages
| 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. |
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:
|
| 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:
|
| 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:
The parameter is displayed only if fromMe=true
|
| internalId | Views internal ID 18627b48-1ff2-4e33-9747-9d0abea583b3The parameter is displayed only if api=true |
| type | Message type. Main possible values:
|
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:
The parameter is displayed only if type=video
|
$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'];
This method allows you to get all messages queued for sending.
Resource URL:https://app.api-messenger.com/max-v1/messagesqueue
| 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. |
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:
|
| 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:
|
| chatId | Individual chat ID |
$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'];
This method clears all messages in the message queue for sending.
Resource URL:https://app.api-messenger.com/max-v1/clearmessagesqueue
| Parameter | Required | Value |
|---|---|---|
| filter | No | Delete only certain message types. Example: filter=message,file,contact,fileurl,location |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| message | A message containing a description of the error. This parameter is only displayed when status=ERROR |
$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'];
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
| Parameter | Required | Value |
|---|---|---|
| phone | Yes | Phone number in the format 71111111111 |
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:
|
| 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:
|
| 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. |
$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);
This method allows you to get an installed webhook.
Resource URL:https://app.api-messenger.com/max-v1/webhook
The output data structure is shown below.
{
"status": "{enum}",
"webhook": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| webhook | An installed webhook or its absence. |
$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'];
This method allows you to set a URL for receiving webhook.
Resource URL:https://app.api-messenger.com/max-v1/setwebhook
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 |
The output data structure is shown below.
{
"status": "{enum}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
$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.
type=stateInstance {
"type": "stateInstance",
"instance": "max",
"status": "{enum}",
"token": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Instance status. Possible values:
|
| token | Token |
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:
|
| 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:
The parameter is displayed only if fromMe=true
|
| internalId | Views internal ID 18627b48-1ff2-4e33-9747-9d0abea583b3The parameter is displayed only if api=true |
| type | Message type. Main possible values:
|
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:
The parameter is displayed only if type=video
|
Parameters attached to ask
| |
| status | Message delivery status. Possible values:
|
| chatId | Individual chat ID |
| message | Message object. If status=-1 only contains the internalId parameter |
// 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
}
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
| 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 |
The output data structure is shown below.
{
"status": "{enum}",
"token": "{string}",
"before": "{string}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| 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 |
$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'];
}
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
| 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 |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}"
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| message | The parameter is displayed only in case of an error |
$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'];
}
Get all instances from the user account
Resource URL:https://app.api-messenger.com/account/list
| 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 |
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:
|
| 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 |
$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'];
}
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
| 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 |
The output data structure is shown below.
{
"status": "{enum}",
"message": "{string}",
"balance": "{int32}",
}
Parameter description:
| Parameter | Value |
|---|---|
| status | Response status. Possible values:
|
| message | The parameter is displayed only in case of an error. |
| balance | Account balance. |
$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'];
}