Запросы принимает сервер https://app.whatsmaster.ru. Он передаёт команду в программу на вашем компьютере. WhatsApp в облако не переезжает: аккаунт должен быть авторизован в запущенной программе.
access_token. ID аккаунта — instance_id, его видно в программе и в ответе статуса.Без запущенной программы сервер отвечает, что рабочее место не на связи. Ключ без токена не принимается: 401 Authorization required.
Текст, картинка, файл или карточка контакта. Несколько номеров — поле numbers (до 50 за запрос).
| Поле | Описание |
|---|---|
| access_token | API-ключ |
| instance_id | ID аккаунта-отправителя |
| number или numbers | Получатель или массив номеров |
| type | text, image, document, contact. По умолчанию text |
| message | Текст или подпись |
| media, filename | Ссылка или base64 и имя файла для image/document |
| contact_name, contact_phone | Для type=contact |
curl -X POST https://app.whatsmaster.ru/api/send \
-H 'Content-Type: application/json' \
-d '{"access_token":"brk_ВАШ_КЛЮЧ","instance_id":"ID_АККАУНТА","number":"79991234567","type":"text","message":"Привет!"}'
Один номер — поле number. В ответе data.exists: true, если номер есть в WhatsApp, false если нет. Пачка — поле numbers, результат в data.results по каждому номеру.
curl -X POST https://app.whatsmaster.ru/api/contacts/check_number \
-H 'Content-Type: application/json' \
-d '{"access_token":"brk_ВАШ_КЛЮЧ","instance_id":"ID_АККАУНТА","numbers":["79991234567","70000000001"]}'
desktop_online — программа на связи. В accounts список аккаунтов: id, имя, телефон, state. state 2 — аккаунт авторизован.
Это серверная рассылка по запросу, не список из окна «Рассылка» в программе. Сначала загрузите получателей, затем создайте рассылку.
| Метод | Путь | Назначение |
|---|---|---|
| POST | /api/contacts/contact_upload | Группа получателей: name и contacts[{number, name}]. До 500 номеров. Поля контакта подставляются в текст как {name}. |
| POST | /api/bulk/create | Рассылка. group — имя или id группы, accounts — id аккаунтов через запятую, caption — текст, min_interval_per_post и max_interval_per_post — пауза в секундах. |
| POST | /api/bulk/update | status: 0 пауза, 1 запуск, 2 завершить. |
| POST | /api/bulk/stop | Остановить рассылку по id или все активные, если id не передан. |
| GET | /api/bulk/get_status | sent, failed, processed, total, percent. include_result=1 добавляет подробности. |
| GET | /api/bulk/get_all | Список рассылок. page, limit, status. |
| POST | /api/bulk/delete | Удалить рассылку по id. |
curl -X POST https://app.whatsmaster.ru/api/bulk/create \
-H 'Content-Type: application/json' \
-d '{"access_token":"brk_ВАШ_КЛЮЧ","name":"Акция","group":"Клиенты","accounts":"ID_АККАУНТА","caption":"Привет, {name}!","min_interval_per_post":20,"max_interval_per_post":60}'
| Метод | Путь | Назначение |
|---|---|---|
| POST | /api/chatbot/turn_on_off | instance_id и status: 1 включить, 0 выключить. |
| GET | /api/chatbot/get | Настройки чат-бота. instance_id необязателен. |
Ключ создаётся и отзывается на вкладке API в программе. Запросы списка ключей ходят с сессией пользователя, не с access_token.