API

В Notify24 одновременно поддерживаются новый API v1 и старый API. Старые URL, ключи и параметры можно не менять: они проходят через тот же новый механизм доставки.

API v1 — для новых интеграций

POST /api/v1/messages

Передавайте ключ в заголовке Authorization: Bearer n24_live_.... Запрос создаёт сообщение и ставит доставки в очередь.

POST /api/v1/messages
Authorization: Bearer n24_live_xxxxxxxxx
Content-Type: application/json
Idempotency-Key: server-down-20260902-001

{
  "channel": "telegram",
  "group_id": 1,
  "text": "Сервер production недоступен",
  "parse_mode": "HTML"
}

Можно указать channel_id, group_id, recipient_id, external_id или старый chat_id. Telegram destination может быть личным чатом, группой, супергруппой или каналом. Если канал не указан, используется канал по умолчанию у API key либо первый активный Telegram-канал.

Ответ

{
  "success": true,
  "message_id": "e7f94f8f7ad64ebda6e756d0e77f2f76",
  "status": "queued",
  "recipient_count": 3
}

Проверка статуса

GET /api/v1/messages/{message_id} с тем же Bearer key.

{
  "success": true,
  "message_id": "e7f94f8f7ad64ebda6e756d0e77f2f76",
  "status": "completed",
  "recipient_count": 3,
  "success_count": 3,
  "failed_count": 0,
  "results": []
}

Старый API — полная совместимость

Legacy API остаётся синхронным: ответ возвращается после попытки доставки, как в старой версии. Legacy API keys не получают новый rate limit автоматически. Старый grp работает и для новых Telegram destinations, обнаруженных конкретным ботом через webhook.

Параметры legacy API

наименованиеописание
keyrequireстарый API KEY
textrequireтекст сообщения
grpстарый ID группы; по умолчанию 1
uidстарый ID получателя из _users_chatid.id
chat_idTelegram chat_id, включая прямую отправку без сохранённого получателя
parse_modeHTML (по умолчанию), MarkdownV2, Markdown или пустое значение

Legacy endpoints

/api/send/telegram, /send/telegram, /api.send.telegram, /api.send.telegram.php.

Общий старый endpoint: /api/send, /send, /api.send, /api.send.php.

Legacy ответ

{
  "success": true,
  "message": "ok",
  "sent": 1,
  "failed": 0,
  "results": [
    {"chat_id":"123456","success":true,"code":"200","message":""}
  ]
}

Очередь

API v1 требует запущенный worker. На VPS рекомендуется постоянный php worker.php под systemd/Supervisor. На обычном хостинге можно выполнять php cron.php раз в минуту.