Войти

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

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

Управление инстансами

Описание

Данный метод используется для выполнения авторизации инстанса.

В ходе процедуры авторизации на указанный номер телефона будет отправлен SMS-код подтверждения. Полученный код необходимо передать через метод /sendCode, чтобы завершить авторизацию.

Перед началом убедитесь, что на указанном номере уже зарегистрирован аккаунт мессенджера MAX в мобильном приложении.

URL ресурса:
https://app.api-messenger.com/max-v1/start

Входные данные

Параметр Обязателен Значение
phone Да Номер телефона, необходимый для выполнения авторизации в MAX
Например 79000000000

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Текстовое описание возникшей ошибки.

Параметр выводится только при 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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
if ($data['status'] == 'OK') {
    echo 'OK';
} else {
    echo 'ERROR: ' . $data['message'];
}

Описание

Данный метод завершает процесс авторизации инстанса. Введите SMS-код, отправленный после выполнения метода /start.

URL ресурса:
https://app.api-messenger.com/max-v1/sendcode

Входные данные

Параметр Обязателен Значение
code Да Проверочный код из SMS
Например 000000

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Текстовое описание возникшей ошибки.

Параметр выводится только при 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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив

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

Описание

Метод позволяет получить статус инстанса.

URL ресурса:
https://app.api-messenger.com/max-v1/status

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
account Статус инстанса.

Возможные значения:

  • auth — авторизация пройдена, подключен.

  • reboot — перезагружается

  • launched — инстанс запущен, ожидание ввода проверочного кода из смс.

  • no_auth — инстанс закрыт. нет авторизации

Параметр выводится только при status=OK
message Текстовое описание возникшей ошибки.

Параметр выводится только при 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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
if ($data['status'] == 'OK') {
    echo 'Status: ' . $data['account'];
} else {
    echo 'ERROR: ' . $data['message'];
}

Описание

Метод позволяет перезапустить инстанс из статуса Подключен.

URL ресурса:
https://app.api-messenger.com/max-v1/reboot

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Текстовое описание возникшей ошибки.

Параметр выводится только при 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); // Отправим запрос
curl_close($ch);
echo $result;

Описание

Метод позволяет закрыть текущий инстанс.

URL ресурса:
https://app.api-messenger.com/max-v1/exit

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Текстовое описание возникшей ошибки.

Параметр выводится только при 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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
echo $data['status'];

Отправка и приём сообщений

Описание

Метод позволяет ставить тестовые сообщения в очередь на отправку.
Сообщение на отправку хранится 24 часа в очереди.
Проверка авторизации инстанса не выполняется.

URL ресурса:
https://app.api-messenger.com/max-v1/sendmessage

Входные данные

Структура тела POST-запроса:

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

В теле POST-запроса передаются следующие параметры:

Параметр Обязателен Значение
chatId Да Получатель сообщения в формате:
00000000 - идентификатор индивидуального чата
-10000000000000 - идентификатора группового чата
message Да Текстовое сообщение

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Сообщение, содержащее описание ошибки, или, в случае успеха, количество добавленных сообщений в формате Successfully added 10
internalId Массив внутренних идентификаторов ввида 18627b48-1ff2-4e33-9747-9d0abea583b3

Параметр выводится только при status=OK

Ограничения

В одном запросе можно передать не более чем 100 сообщений.

Примеры


$token = '1xmrd7YHjff5';

    $array = array(
        array(
            'chatId' => '00000000', // chatId можно получить в webhook или методом /checkNumber
            'message' => 'Hello!', // Сообщение
        )
);

$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
echo $data['status'] . ': ' . $data['message'];

Описание

Метод позволяет ставить сообщение с локацией в очередь на отправку.
Сообщение на отправку хранится 24 часа в очереди.
Проверка авторизации инстанса не выполняется.

URL ресурса:
https://app.api-messenger.com/max-v1/sendlocation

Входные данные

Структура тела POST-запроса:

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

В теле POST-запроса передаются следующие параметры:

Параметр Обязателен Значение
chatId Да Получатель сообщения в формате:
00000000 - идентификатор индивидуального чата
-10000000000000 - идентификатора группового чата
latitude Да Широта
longitude Да Долгота

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Сообщение, содержащее описание ошибки, либо, в случае успешного выполнения, уведомление о том, что сообщение добавлено в очередь.
internalId Внутренний идентификатор ввида 18627b48-1ff2-4e33-9747-9d0abea583b3

Параметр выводится только при status=OK

Примеры


$token = '1xmrd7YHjff5';

$array = array(
        'chatId' => '00000000', // chatId можно получить в webhook или методом /checkNumber
        '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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
echo $data['status'];

Описание

Метод позволяет поставить в очередь на отправку файл.
Файл хранится 24 часа в очереди.
Проверка авторизации инстанса не выполняется.

URL ресурса:
https://app.api-messenger.com/max-v1/sendfile

Входные данные

Структура тела POST-запроса:

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

В теле POST-запроса передаются следующие параметры:

Параметр Обязателен Значение
chatId Да Получатель сообщения в формате:
00000000 - идентификатор индивидуального чата
-10000000000000 - идентификатора группового чата
body Да Строка в формате base64
filename Да Название файла с расширением.
caption Нет Подпись к файлу, которую увидит получатель.

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Сообщение, содержащее описание ошибки, либо, в случае успешного выполнения, уведомление о том, что файл добавлен в очередь.
internalId Внутренний идентификатор ввида 18627b48-1ff2-4e33-9747-9d0abea583b3

Параметр выводится только при status=OK

Примеры


$token = '1xmrd7YHjff5';

$array = array(
        'body' => 'data:image/jpeg;base64,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',
        'filename' => 'filename_1.jpg',
        'caption' => 'подпись',
        'chatId' => '00000000', // chatId можно получить в webhook или методом /checkNumber);

$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
echo $data['status'] . ': ' . $data['message'];

Описание

Метод позволяет поставить в очередь на отправку файл по URL.
Файл хранится 24 часа в очереди.
Проверка авторизации инстанса не выполняется.

URL ресурса:
https://app.api-messenger.com/max-v1/sendfileurl

Входные данные

Структура тела POST-запроса:

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

В теле POST-запроса передаются следующие параметры:

Параметр Обязателен Значение
chatId Да Получатель сообщения в формате:
00000000 - идентификатор индивидуального чата
-10000000000000 - идентификатора группового чата
url Да Ссылка на файл
filename Да Название файла с расширением.
caption Нет Подпись к файлу, которую увидит получатель.

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Сообщение, содержащее описание ошибки, либо, в случае успешного выполнения, уведомление о том, что файл добавлен в очередь.
internalId Внутренний идентификатор ввида 18627b48-1ff2-4e33-9747-9d0abea583b3

Параметр выводится только при 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', // chatId можно получить в webhook или методом /checkNumber
);

$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
echo $data['status'];

Описание

Метод позволяет получить все сообщения за последние 30 дней.

URL ресурса:
https://app.api-messenger.com/max-v1/messages

Входные данные

Параметр Обязателен Значение
api Нет Получить сообщения отправленные через API. Принимает значение true
from Нет Получить сообщения начиная с (>=). Фильтрация происходит по параметру timestamp
to Нет Получить сообщения до (<=). Фильтрация происходит по параметру timestamp
page Нет Номер страницы результатов, которую необходимо показать в ответе.

Если указан номер страницы, превышающий общее количество найденных страниц, выдается ошибка.

Значение по умолчанию: 1.

Выходные данные

Структура выходных данных приведена ниже.

    { 
        "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},
                },
                ...
            ]
    }

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
pager Сводка по результатам поиска.
messages Список сообщений, удовлетворяющих условиям поиска.
Параметры, вложенные в pager
currentPage Номер выводимой страницы результатов.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска, не найдено, параметр не выводится.
pagesCount Количество страниц с результатами.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска, не найдено, параметр не выводится.
pageSize Количество выводимых на странице сообщений.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска, не найдено, параметр не выводится.
totalsMessage Общее количество найденных сообщений.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска, не найдено, значение параметра: 0.
Параметры, вложенные в messages
id Индивидуальный идентификатор сообщения в системе Max
body Текстовое сообщение
chatId Индивидуальный идентификатор чата
formattedTitle Название чата/группы
fromMe Возможные значения:

  • true — исходящее сообщение.

  • false — входящее сообщение.
imgURL URL на аватар пользователя

Параметр выводится только при fromMe=false
notifyName Имя пользователя в Max

Параметр выводится только при fromMe=false
sender Идентификатор автора сообщения
timestamp Метка времени UNIX в секундах
api Флаг отправки через API. Принимает значения true / false
forwarded Флаг, указывающий, переслано ли сообщение. Принимает значения true / false
ack Статус доставки сообщения.

Возможные значения:

  • 1 — отправлено.

  • 2 — прочитано.

Параметр выводится только при fromMe=true
internalId Внутренний идентификатор ввида 18627b48-1ff2-4e33-9747-9d0abea583b3

Параметр выводится только при api=true
type Тип сообщения.

Основные возможные значения:

  • chat — текстовое сообщение.

  • location — местоположение.

  • contact — карточка контакта.

  • document — документ.

  • video — видео.

  • photo — изображение.

  • sticker — стикер.

  • audio — аудио запись.

  • removed — сообщение удалено.

  • edited — сообщение отредактировано.

Параметры, вложенные в quotedMessage (выводится при forwarded=true)
id Индивидуальный идентификатор сообщения в системе Max
sender Идентификатор автора сообщения
Параметры, вложенные в location (выводится при type=location)
latitude Широта
longitude Долгота
Параметры, вложенные в contact (выводится при type=contact)
name Имя контакта
phone Телефон контакта
Параметры, вложенные в files (выводится при type=document, video, photo, sticker, audio)
url URL на скачивание файла. Файл хранится в нашей системе 1 час после получения.
name Название файла. Работает корректно только для type=document, для остальных типов файлов имя формируется системой.
mime Классификация файла согласно Media Types
quickVideo Возможные значения:

  • true — видеосообщение в формате “кружка”.

  • false — стандартное видео.

Параметр выводится только при 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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
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'];

Управление очередями

Описание

Метод позволяет получить все сообщения которые стоят в очереди на отправку.

URL ресурса:
https://app.api-messenger.com/max-v1/messagesqueue

Входные данные

Параметр Обязателен Значение
filter Нет Фильтр по типу сообщения. Пример: filter=message,file,contact,fileurl,location
page Нет Номер страницы результатов, которую необходимо показать в ответе.

Если указан номер страницы, превышающий общее количество найденных страниц, выдается ошибка.

Значение по умолчанию: 1.

Выходные данные

Структура выходных данных приведена ниже.

    { 
        "status": "{enum}",
        "pager":
            {
                "currentPage": {int32},
                "pagesCount": {int32},
                "pageSize": {int32},
                "totalsMessage": {int32}
            },
        "messages":
            [
                {
                    "type": "{enum}",
                    "chatId": "{int32}",
                    ... // Параметры в соответствие с отправляемым методом
                },
                ...
            ]
    }

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
pager Сводка по результатам поиска.
messages Список сообщений, удовлетворяющих условиям поиска.
Параметры, вложенные в pager
currentPage Номер выводимой страницы результатов.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска не найдено, параметр не выводится.
pagesCount Количество страниц с результатами.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска не найдено, параметр не выводится.
pageSize Количество выводимых на странице сообщений.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска не найдено, параметр не выводится.
totalsMessage Общее количество найденных сообщений.

Если сообщений, удовлетворяющих заданным в запросе условиям поиска, не найдено, значение параметра: 0.
Параметры, вложенные в messages
type Тип сообщения.

Возможные значения:

  • file — файл.

  • contact — контакт.

  • message — текстовое сообщение.

  • fileurl — файл отправленный по URL.

  • location — местоположение.

chatId Индивидуальный идентификатор чата

Примеры


$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
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'];

Описание

Метод позволяет очистить все сообщения стоящие в очереди на отправку.

URL ресурса:
https://app.api-messenger.com/max-v1/clearmessagesqueue

Входные данные

Параметр Обязателен Значение
filter Нет Удалить только определенные типы сообщений. Пример: filter=message,file,contact,fileurl,location

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Сообщение, содержащее описание ошибки.

Параметр выводится только при 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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
echo $data['status'] . ': ' . $data['message'];

Дополнительно

Описание

Метод позволяет проверить сущестование в Max пользователя с указанным номером телефона.

URL ресурса:
https://app.api-messenger.com/max-v1/checknumber

Входные данные

Параметр Обязателен Значение
phone Да Номер телефона в формате 71111111111

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
result Результат запроса.

Параметр выводится только при status=OK
message Сообщение, содержащее описание ошибки.

Параметр выводится только при status=ERROR
Параметры, вложенные в result
numberExists Существование номера в Max

Возможные значения:

  • true — номер зарегистрирован в Max.
  • false — номер не зарегистрирован в Max.
chatId Индивидуальный идентификатор чата.

Параметр выводится только при numberExists=true
img URL на аватар контакта в Max

Параметр выводится только при numberExists=true и если у контакта установлен аватар и его отображение разрешено настройками приватности.

Примеры


$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
print_r($data);

Webhook

Описание

Метод позволяет получить установленный Webhook.

URL ресурса:
https://app.api-messenger.com/max-v1/webhook

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
webhook Установленный Webhook либо его отсутствие.

Примеры


$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
if ($data['status'] == 'OK') {
        echo !empty($data['webhook']) ? $data['webhook'] : 'no webhook';
} else
    echo $data['status'];

Описание

Метод позволяет установить URL для получения webhook.

URL ресурса:
https://app.api-messenger.com/max-v1/setwebhook

Входные данные

Структура тела POST-запроса:

    {
        "webhook": "{string}"
    }

В теле POST-запроса передаются следующие параметры:

Параметр Обязателен Значение
webhook Да URL адрес для получения webhook

Выходные данные

Структура выходных данных приведена ниже.

    { 
        "status": "{enum}"
    }

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.

Примеры


$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
echo $data['status'];

Система умеет отправлять уведомления о событиях (входящие сообщения, статус отправленных сообщений, изменения состояния инстанса). Для отправки уведомлений во внешние системы в личном кабинете должен быть настроен HTTP адрес. Порядок получения уведомлений на стороне внешней системы не определен. Необходимо учитывать это при обработке событий опираясь на метку времени в поле timestamp.

Формат запроса type=stateInstance

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

Описание параметров:

Параметр Значение
status Статус инстанса.

Возможные значения:

  • launched — инстанс запущен, ожидание ввода проверочного кода из смс.

  • no_auth — инстанс закрыт. нет авторизации
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}
                },
                ...
            ]
    }

Описание параметров:

Параметр Значение
Параметры, вложенные в messages
id Индивидуальный идентификатор сообщения в системе Max
body Текстовое сообщение
chatId Индивидуальный идентификатор чата
formattedTitle Название чата/группы
fromMe Возможные значения:

  • true — исходящее сообщение.

  • false — входящее сообщение.
imgURL URL на аватар пользователя

Параметр выводится только при fromMe=false
notifyName Имя пользователя в Max

Параметр выводится только при fromMe=false
sender Идентификатор автора сообщения
timestamp Метка времени UNIX в секундах
api Флаг отправки через API. Принимает значения true / false
forwarded Флаг, указывающий, переслано ли сообщение. Принимает значения true / false
ack Статус доставки сообщения.

Возможные значения:

  • 1 — отправлено.

  • 2 — прочитано.

Параметр выводится только при fromMe=true
internalId Внутренний идентификатор ввида 18627b48-1ff2-4e33-9747-9d0abea583b3

Параметр выводится только при api=true
type Тип сообщения.

Основные возможные значения:

  • chat — текстовое сообщение.

  • location — местоположение.

  • contact — карточка контакта.

  • document — документ.

  • video — видео.

  • photo — изображение.

  • sticker — стикер.

  • audio — аудио запись.

  • removed — сообщение удалено.

  • edited — сообщение отредактировано.

Параметры, вложенные в quotedMessage (выводится при forwarded=true)
id Индивидуальный идентификатор сообщения в системе Max
sender Идентификатор автора сообщения
Параметры, вложенные в location (выводится при type=location)
latitude Широта
longitude Долгота
Параметры, вложенные в contact (выводится при type=contact)
name Имя контакта
phone Телефон контакта
Параметры, вложенные в files (выводится при type=document, video, photo, sticker, audio)
url URL на скачивание файла. Файл хранится в нашей системе 1 час после получения.
name Название файла. Работает корректно только для type=document, для остальных типов файлов имя формируется системой.
mime Классификация файла согласно Media Types
quickVideo Возможные значения:

  • true — видеосообщение в формате “кружка”.

  • false — стандартное видео.

Параметр выводится только при type=video
Параметры, вложенные в ask
status Статус доставки сообщения.

Возможные значения:

  • -1 — ошибка, сообщение не отправлено.

  • 1 — отправлено.

  • 2 — прочитано.

chatId Индивидуальный идентификатор чата
message Объект сообщения. Если status=-1 содержит только параметр internalId

Примеры


// Сначала установите webhook согласно 
// документации например на http://ваш.сайт/incoming_message.php

// Декодируем пришедший по webhook JSON
$data = json_decode(file_get_contents('php://input'), true);
foreach($data['messages'] as $message){ // Распечатаем каждое сообщение
    // Здесь уже обработайте каждое сообщение:
    // Добавьте в базу данных или сразу ответьте    
}

Для партнеров

Описание

Добавляет новый инстанс в кабинет пользователя (деньги списываются с баланса за месяц в соответствии с тарифной сеткой)

URL ресурса:
https://app.api-messenger.com/account/add

Входные данные

Параметр Обязателен Значение
key Да Ключ для работы с партнерским API.
Получить в данный момент возможно только через тех.поддержку.
Для тестирования используйте ключ demo
name Нет Название инстанса

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
token Токен для дальнейшей работы с инстансом
before Крайняя дата до которой инстанс (токен) будет работать. Инстанс автоматически продлевается за 3 дня до даты если есть денежные средства на балансе. В формате YYYY-mm-dd
message Параметр выводится только в случае ошибки

Примеры


$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
if ($data['status'] == 'OK') {
    echo $data['token'];
} else {
    echo 'ERROR: ' . $data['message'];
}

Описание

Удаление инстанса из кабинета пользователя (происходит возврат денежных средств на баланс за неиспользованные дни)

URL ресурса:
https://app.api-messenger.com/account/delete

Входные данные

Параметр Обязателен Значение
key Да Ключ для работы с партнерским API.
Получить в данный момент возможно только через тех.поддержку.
Для тестирования используйте ключ demo
token Да Токен инстанса который необходимо удалить

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Параметр выводится только в случае ошибки

Примеры


$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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
if ($data['status'] == 'OK') {
    echo 'OK';
} else {
    echo 'ERROR: ' . $data['message'];
}

Описание

Получение всех инстансов из кабинета пользователя

URL ресурса:
https://app.api-messenger.com/account/list

Входные данные

Параметр Обязателен Значение
key Да Ключ для работы с партнерским API.
Получить в данный момент возможно только через тех.поддержку.
Для тестирования используйте ключ demo

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Параметр выводится только в случае ошибки
Параметры, вложенные в result
name Название инстанса указанный в кабинете
token Токен инстанса
before Крайняя дата до которой инстанс (токен) будет работать. Инстанс автоматически продлевается за 3 дня до даты если есть денежные средства на балансе. В формате 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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
if ($data['status'] == 'OK') {
    foreach ($data['result'] as $v) {
        echo 'Name: ' . $v['name'] . ', Token: ' . $v['token'] . ', Before: '. $v['before'];
    }
} else {
    echo 'ERROR: ' . $data['message'];
}

Описание

Получение общего баланса аккаунта. Пополнение происходит через тех.поддержку при получении ключа для работы с партнерским API.

URL ресурса:
https://app.api-messenger.com/account/balance

Входные данные

Параметр Обязателен Значение
key Да Ключ для работы с партнерским API.
Получить в данный момент возможно только через тех.поддержку.
Для тестирования используйте ключ demo

Выходные данные

Структура выходных данных приведена ниже.

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

Описание параметров:

Параметр Значение
status Статус ответа.

Возможные значения:

  • ERROR — произошла ошибка.

  • OK — запрос выполнен успешно.
message Параметр выводится только в случае ошибки
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); // Отправим запрос
curl_close($ch);
$data = json_decode($result, true); // Разберем полученный JSON в массив
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