🔔 Push API

Система push-уведомлений для Android приложений

📱 Android Приложение

Получайте push-уведомления мгновенно через наше приложение

📦 RuStore

QR код RuStore

Отсканируйте QR-код для установки

📥 Открыть в RuStore

📥 Прямая загрузка

QR код APK

Отсканируйте для загрузки APK

📥 Скачать APK (6.5 MB)

Версия: 2.0.14

Требования: Android 8.0+ (API 26)

Размер: ~6.5 MB

📖 Инструкция по приложению

  1. Скачайте и установите APK

    Разрешите установку из неизвестных источников в настройках Android

  2. Запустите приложение

    Токен устройства будет сгенерирован автоматически

  3. Скопируйте токен

    Настройки → Токен устройства → Копировать

  4. Настройте сервисы (опционально)

    Настройки → Push-сервисы → FCM / WorkManager

  5. Используйте токен в API

    Отправляйте уведомления через API с вашим токеном

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

Базовый URL

https://push.mrkz.ru/api/

Методы API

POST send.php

Отправка уведомления

Параметр Тип Обязательно Описание
token string Да Токен устройства (16-128 символов)
title string Да Заголовок уведомления (макс. 256 символов)
message string Да Текст уведомления (макс. 2048 символов)
data object Нет Дополнительные данные (JSON)
priority string Нет Приоритет: normal, high (по умолчанию normal)
delivery_method string Нет Режим доставки: auto, fcm, poll, both (по умолчанию auto)

Примеры кода

PHP (cURL)
<?php
/**
 * Отправка push-уведомления через API
 * @param string $token Токен устройства
 * @param string $title Заголовок
 * @param string $message Текст сообщения
 * @param array $data Дополнительные данные
 * @param string $priority Приоритет: normal/high
 * @return array Результат
 */
function send_push($token, $title, $message, $data = [], $priority = 'normal') {
    $url = 'https://push.mrkz.ru/api/send.php';

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
        'token' => $token,
        'title' => $title,
        'message' => $message,
        'data' => $data,
        'priority' => $priority
    ]));
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($httpCode === 200) {
        return json_decode($response, true);
    }

    return ['success' => false, 'error' => 'HTTP ' . $httpCode];
}

// Использование
$result = send_push(
    'push_abc123',
    'Заголовок',
    'Текст уведомления',
    ['url' => 'https://example.com', 'action' => 'open_page'],
    'high'
);
if ($result['success']) {
    echo "Отправлено! ID: " . $result['message_id'];
}
?>
Python 3 (urllib)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Отправка push-уведомлений через API
Без сторонних библиотек (Python 3)
"""

import urllib.request
import urllib.parse
import json

def send_push(token, title, message, data=None, priority='normal'):
    """
    Отправка push-уведомления
    @param token: Токен устройства
    @param title: Заголовок
    @param message: Текст сообщения
    @param data: Дополнительные данные (dict)
    @param priority: Приоритет: normal/high
    @return: dict Результат
    """
    url = 'https://push.mrkz.ru/api/send.php'

    payload = {
        'token': token,
        'title': title,
        'message': message,
        'priority': priority
    }
    if data:
        payload['data'] = data

    req = urllib.request.Request(
        url,
        data=json.dumps(payload).encode('utf-8'),
        headers={'Content-Type': 'application/json'}
    )

    try:
        with urllib.request.urlopen(req) as response:
            result = json.loads(response.read().decode('utf-8'))
            return result
    except urllib.error.HTTPError as e:
        return {'success': False, 'error': f'HTTP {e.code}'}
    except Exception as e:
        return {'success': False, 'error': str(e)}

# Использование
if __name__ == '__main__':
    result = send_push(
        'push_abc123',
        'Заголовок',
        'Текст уведомления',
        {'url': 'https://example.com'},
        'high'
    )
    if result.get('success'):
        print(f"Отправлено! ID: {result['message_id']}")
    else:
        print(f"Ошибка: {result.get('error')}")
C++ (libcurl)
/**
 * Отправка push-уведомлений через API
 * Требуется: libcurl
 * Компиляция: g++ -o push_client push_client.cpp -lcurl
 */

#include <iostream>
#include <string>
#include <curl/curl.h>

// Callback для записи ответа
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
    size_t totalSize = size * nmemb;
    userp->append((char*)contents, totalSize);
    return totalSize;
}

/**
 * Отправка push-уведомления
 * @param token Токен устройства
 * @param title Заголовок
 * @param message Текст сообщения
 * @param priority Приоритет: normal/high
 * @return JSON ответ сервера
 */
std::string send_push(const std::string& token,
                      const std::string& title,
                      const std::string& message,
                      const std::string& priority = "normal") {
    CURL* curl;
    CURLcode res;
    std::string readBuffer;

    std::string json_data = "{\"token\":\"" + token +
                           "\",\"title\":\"" + title +
                           "\",\"message\":\"" + message +
                           "\",\"priority\":\"" + priority + "\"}";

    curl = curl_easy_init();
    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "https://push.mrkz.ru/api/send.php");
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_data.c_str());

        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Content-Type: application/json");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);

        res = curl_easy_perform(curl);
        curl_easy_cleanup(curl);

        if (res != CURLE_OK) {
            return "{\"success\":false,\"error\":\"" + std::string(curl_easy_strerror(res)) + "\"}";
        }
    }

    return readBuffer;
}

int main() {
    curl_global_init(CURL_GLOBAL_DEFAULT);

    std::string response = send_push(
        "push_abc123",
        "Заголовок",
        "Текст уведомления",
        "high"
    );
    std::cout << "Ответ: " << response << std::endl;

    curl_global_cleanup();
    return 0;
}

📤 Примеры кода POST запроса

🧪 Тестирование API

💡 Примечание: API также поддерживает GET запросы для простой отправки уведомлений.

📥 Примеры кода GET запроса

GET запросы используются для простой отправки уведомлений через URL параметры.

cURL (Bash)
curl "https://push.mrkz.ru/api/send.php?token=push_abc123&title=Заголовок&message=Текст уведомления"
PHP (file_get_contents)
<?php
$url = 'https://push.mrkz.ru/api/send.php?' . http_build_query([
    'token' => 'push_abc123',
    'title' => 'Заголовок',
    'message' => 'Текст уведомления'
]);
$response = file_get_contents($url);
echo $response;
?>
Python (urllib)
import urllib.request
import urllib.parse

url = 'https://push.mrkz.ru/api/send.php?' + urllib.parse.urlencode({
    'token': 'push_abc123',
    'title': 'Заголовок',
    'message': 'Текст уведомления'
})
response = urllib.request.urlopen(url)
print(response.read().decode())
Bash (wget)
wget -qO- "https://push.mrkz.ru/api/send.php?token=push_abc123&title=Заголовок&message=Текст уведомления"