Skip to content

SMOService/telegram-mini-app-bot-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

SMOService Bot API - Документация для разработчиков

📋 Содержание

🚀 Обзор API

SMOService Bot API предоставляет разработчикам возможность интегрировать функциональность нашего SMM сервиса в свои приложения. API позволяет создавать заказы, отслеживать их статус, управлять балансом и получать информацию о доступных сервисах.

Основная информация

  • Базовый URL: https://urlgo.ru/api/v2
  • Протокол: HTTPS
  • Метод: POST
  • Формат ответа: JSON
  • Кодировка: UTF-8

🔐 Аутентификация

Все запросы к API должны содержать ваш API ключ. Ключ можно передать одним из способов:

Способ 1: В заголовке HTTP

X-API-Key: your_api_key_here

Способ 2: В параметрах запроса

?key=your_api_key_here

Получение API ключа

  1. Откройте бота @smoservicebot
  2. Перейдите в Настройки�� API Ключи
  3. Нажмите "Создать новый ключ"
  4. Введите название для ключа (например, "Мое приложение")
  5. Сохраните полученный ключ в безопасном месте

⚠️ Важно: Храните API ключи в безопасности и не передавайте их третьим лицам!

🛠️ Базовые принципы

Формат запросов

Все запросы отправляются методом POST с данными в формате application/x-www-form-urlencoded.

Формат ответов

Все ответы возвращаются в формате JSON:

{
  "success": true,
  "data": {
    // Данные ответа
  }
}

Коды состояния HTTP

  • 200 - Успешный запрос
  • 400 - Неверные параметры
  • 401 - Неверный API ключ
  • 429 - Превышен лимит запросов
  • 500 - Внутренняя ошибка сервера

�� Методы API

1. Получение списка сервисов

Endpoint: /api/v2/services

Описание: Возвращает список всех доступных сервисов с их параметрами.

Параметры: Нет

Пример запроса:

curl -X POST https://urlgo.ru/api/v2/services \
  -H "X-API-Key: your_api_key_here"

Пример ответа:

{
  "success": true,
  "data": [
    {
      "service": 1,
      "name": "Instagram Followers",
      "type": "Default",
      "category": "Social Media",
      "rate": "0.90",
      "min": "50",
      "max": "10000",
      "refill": true,
      "cancel": true
    },
    {
      "service": 2,
      "name": "Instagram Comments",
      "type": "Custom Comments",
      "category": "Social Media",
      "rate": "8.00",
      "min": "10",
      "max": "1500",
      "refill": false,
      "cancel": true
    },
    {
      "service": 3,
      "name": "Telegram Members",
      "type": "Default",
      "category": "Messaging",
      "rate": "2.50",
      "min": "100",
      "max": "5000",
      "refill": true,
      "cancel": true
    }
  ]
}

2. Создание заказа

Endpoint: /api/v2/add

Описание: Создает новый заказ на указанном сервисе.

Обязательные параметры:

  • service - ID сервиса (число)
  • link - Ссылка на страницу (строка)
  • quantity - Количество (число)

Дополнительные параметры:

  • runs - Количество запусков для интервальных заказов (число)
  • interval - Интервал в минутах для интервальных заказов (число)

Пример запроса:

curl -X POST https://urlgo.ru/api/v2/add \
  -H "X-API-Key: your_api_key_here" \
  -d "service=1&link=https://instagram.com/username&quantity=100"

Пример ответа:

{
  "success": true,
  "data": {
    "order": 23501
  }
}

3. Получение статуса заказа

Endpoint: /api/v2/status

Описание: Возвращает текущий статус заказа.

Обязательные параметры:

  • order - ID заказа (число)

Пример запроса:

curl -X POST https://urlgo.ru/api/v2/status \
  -H "X-API-Key: your_api_key_here" \
  -d "order=23501"

Пример ответа:

{
  "success": true,
  "data": {
    "charge": "0.27819",
    "start_count": "3572",
    "status": "In progress",
    "remains": "157",
    "currency": "USD"
  }
}

4. Получение баланса

Endpoint: /api/v2/balance

Описание: Возвращает текущий баланс пользователя.

Параметры: Нет

Пример запроса:

curl -X POST https://urlgo.ru/api/v2/balance \
  -H "X-API-Key: your_api_key_here"

Пример ответа:

{
  "success": true,
  "data": {
    "balance": "100.84292",
    "currency": "USD"
  }
}

5. Создание дозаказа

Endpoint: /api/v2/refill

Описание: Создает дозаказ для существующего заказа.

Обязательные параметры:

  • order - ID заказа (число)

Пример запроса:

curl -X POST https://urlgo.ru/api/v2/refill \
  -H "X-API-Key: your_api_key_here" \
  -d "order=23501"

Пример ответа:

{
  "success": true,
  "data": {
    "refill": "1"
  }
}

6. Отмена заказов

Endpoint: /api/v2/cancel

Описание: Отменяет один или несколько заказов.

Обязательные параметры:

  • orders - ID заказов через запятую (строка)

Пример запроса:

curl -X POST https://urlgo.ru/api/v2/cancel \
  -H "X-API-Key: your_api_key_here" \
  -d "orders=23501,23502,23503"

Пример ответа:

{
  "success": true,
  "data": [
    {
      "order": 23501,
      "cancel": 1
    },
    {
      "order": 23502,
      "cancel": 1
    },
    {
      "order": 23503,
      "cancel": 1
    }
  ]
}

�� Статусы заказов

Статус Описание
Pending Ожидает обработки
In progress В процессе выполнения
Completed Завершен
Partial Частично выполнен
Canceled Отменен
Error Ошибка

💻 Примеры использования

Python

import requests

class SMOServiceAPI:
    def __init__(self, api_key, base_url="https://urlgo.ru/api/v2"):
        self.api_key = api_key
        self.base_url = base_url
        self.headers = {"X-API-Key": api_key}
    
    def get_services(self):
        """Получение списка сервисов"""
        response = requests.post(f"{self.base_url}/services", headers=self.headers)
        return response.json()
    
    def create_order(self, service_id, link, quantity):
        """Создание заказа"""
        data = {
            "service": service_id,
            "link": link,
            "quantity": quantity
        }
        response = requests.post(f"{self.base_url}/add", headers=self.headers, data=data)
        return response.json()
    
    def get_order_status(self, order_id):
        """Получение статуса заказа"""
        data = {"order": order_id}
        response = requests.post(f"{self.base_url}/status", headers=self.headers, data=data)
        return response.json()
    
    def get_balance(self):
        """Получение баланса"""
        response = requests.post(f"{self.base_url}/balance", headers=self.headers)
        return response.json()

# Пример использования
api = SMOServiceAPI("your_api_key_here")

# Получение сервисов
services = api.get_services()
print("Доступные сервисы:", services)

# Создание заказа
order = api.create_order(1, "https://instagram.com/username", 100)
print("Создан заказ:", order)

# Проверка статуса
status = api.get_order_status(order["data"]["order"])
print("Статус заказа:", status)

# Проверка баланса
balance = api.get_balance()
print("Баланс:", balance)

PHP

<?php
class SMOServiceAPI {
    private $api_key;
    private $base_url;
    
    public function __init__($api_key, $base_url = "https://urlgo.ru/api/v2") {
        $this->api_key = $api_key;
        $this->base_url = $base_url;
    }
    
    private function makeRequest($endpoint, $data = []) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $this->base_url . $endpoint);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Key: " . $this->api_key]);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($ch);
        curl_close($ch);
        
        return json_decode($response, true);
    }
    
    public function getServices() {
        return $this->makeRequest("/services");
    }
    
    public function createOrder($service_id, $link, $quantity) {
        return $this->makeRequest("/add", [
            "service" => $service_id,
            "link" => $link,
            "quantity" => $quantity
        ]);
    }
    
    public function getOrderStatus($order_id) {
        return $this->makeRequest("/status", ["order" => $order_id]);
    }
    
    public function getBalance() {
        return $this->makeRequest("/balance");
    }
}

// Пример использования
$api = new SMOServiceAPI("your_api_key_here");

// Получение сервисов
$services = $api->getServices();
echo "Доступные сервисы: " . print_r($services, true);

// Создание заказа
$order = $api->createOrder(1, "https://instagram.com/username", 100);
echo "Создан заказ: " . print_r($order, true);
?>

JavaScript

class SMOServiceAPI {
    constructor(apiKey, baseUrl = "https://urlgo.ru/api/v2") {
        this.apiKey = apiKey;
        this.baseUrl = baseUrl;
    }
    
    async makeRequest(endpoint, data = {}) {
        const formData = new URLSearchParams();
        for (const [key, value] of Object.entries(data)) {
            formData.append(key, value);
        }
        
        const response = await fetch(this.baseUrl + endpoint, {
            method: "POST",
            headers: {
                "X-API-Key": this.apiKey,
                "Content-Type": "application/x-www-form-urlencoded"
            },
            body: formData
        });
        
        return await response.json();
    }
    
    async getServices() {
        return await this.makeRequest("/services");
    }
    
    async createOrder(serviceId, link, quantity) {
        return await this.makeRequest("/add", {
            service: serviceId,
            link: link,
            quantity: quantity
        });
    }
    
    async getOrderStatus(orderId) {
        return await this.makeRequest("/status", { order: orderId });
    }
    
    async getBalance() {
        return await this.makeRequest("/balance");
    }
}

// Пример использования
const api = new SMOServiceAPI("your_api_key_here");

// Получение сервисов
api.getServices().then(services => {
    console.log("Доступные сервисы:", services);
});

// Создание заказа
api.createOrder(1, "https://instagram.com/username", 100).then(order => {
    console.log("Создан заказ:", order);
});

Node.js

const axios = require('axios');

class SMOServiceAPI {
    constructor(apiKey, baseUrl = "https://urlgo.ru/api/v2") {
        this.apiKey = apiKey;
        this.baseUrl = baseUrl;
        this.client = axios.create({
            baseURL: baseUrl,
            headers: {
                "X-API-Key": apiKey,
                "Content-Type": "application/x-www-form-urlencoded"
            }
        });
    }
    
    async getServices() {
        const response = await this.client.post("/services");
        return response.data;
    }
    
    async createOrder(serviceId, link, quantity) {
        const response = await this.client.post("/add", {
            service: serviceId,
            link: link,
            quantity: quantity
        });
        return response.data;
    }
    
    async getOrderStatus(orderId) {
        const response = await this.client.post("/status", {
            order: orderId
        });
        return response.data;
    }
    
    async getBalance() {
        const response = await this.client.post("/balance");
        return response.data;
    }
}

// Пример использования
const api = new SMOServiceAPI("your_api_key_here");

async function main() {
    try {
        // Получение сервисов
        const services = await api.getServices();
        console.log("Доступные сервисы:", services);
        
        // Создание заказа
        const order = await api.createOrder(1, "https://instagram.com/username", 100);
        console.log("Создан заказ:", order);
        
        // Проверка статуса
        const status = await api.getOrderStatus(order.data.order);
        console.log("Статус заказа:", status);
        
    } catch (error) {
        console.error("Ошибка:", error.response?.data || error.message);
    }
}

main();

⚠️ Обработка ошибок

Формат ошибок

Все ошибки возвращаются в формате:

{
  "success": false,
  "error": "Описание ошибки"
}

Коды ошибок

Код HTTP Описание
400 Неверные параметры запроса
401 Неверный или неактивный API ключ
429 Превышен лимит запросов (1000/час)
500 Внутренняя ошибка сервера

Примеры ошибок

Неверный API ключ:

{
  "success": false,
  "error": "Invalid or inactive API key"
}

Неверные параметры:

{
  "success": false,
  "error": "Missing required parameters"
}

Превышен лимит:

{
  "success": false,
  "error": "Rate limit exceeded"
}

📏 Ограничения

Rate Limiting

  • Лимит: 1000 запросов в час на один API ключ
  • Окно: Скользящее окно в 1 час
  • При превышении: Возвращается ошибка 429

Размеры заказов

  • Минимальный размер: Зависит от сервиса (обычно 10-50)
  • Максимальный размер: Зависит от сервиса (обычно 1000-10000)
  • Проверка: Автоматическая валидация при создании заказа

Размеры данных

  • Максимальная длина ссылки: 2048 символов
  • Максимальное количество заказов для отмены: 100 за раз
  • Максимальная длина комментариев: 1000 символов

🔒 Безопасность

Рекомендации

  1. Храните API ключи в безопасности - не передавайте их третьим лицам
  2. Используйте HTTPS - для всех запросов к API
  3. Регулярно обновляйте ключи - для повышения безопасности
  4. Мониторьте активность - отслеживайте использование API
  5. Отзывайте неиспользуемые ключи - удаляйте старые ключи

Лучшие практики

# ✅ Правильно - используйте переменные окружения
import os
api_key = os.getenv('SMOSERVICE_API_KEY')

# ❌ Неправильно - не хардкодите ключи
api_key = "your_secret_key_here"

Партнеры и интеграции

Платежные партнеры

Мы рекомендуем использовать наших проверенных партнеров для приема платежей:

  • Tegro Money - Маркетплейс банковских решений
  • Tegro Finance - Платформа финансовых услуг

Успешные интеграции

Следующие сервисы уже интегрировали наше API:

Стать партнером

Хотите стать нашим партнером? Свяжитесь с нами по email: support@smofast.com

Для обратной связи

Контакты

Часто задаваемые вопросы

Q: Как получить API ключ? A: Откройте бота @smoservicebot, перейдите в Настройки → API Ключи → Создать новый ключ

Q: Какие лимиты у API? A: 1000 запросов в час на один API ключ

Q: Как отозвать API ключ? A: В боте: Настройки → API Ключи → Отозвать ключ

Q: Поддерживается ли веб-хук? A: В данный момент API работает только через HTTP/HTTPS запросы

Q: Как добавить новый сервис? A: Обратитесь в поддержку по email: support@ros.media

Q: Какие платежные системы поддерживаются? A: Рекомендуем использовать Tegro Money и Tegro Finance

Обновления API

  • Версия: v2.0
  • Дата последнего обновления: 1 сентября 2025
  • Совместимость: Обратная совместимость с v1.x

SMOService Bot API - мощный инструмент для интеграции SMM сервисов в ваши приложения! 🚀

Для получения дополнительной информации посетите основную документацию.

Теперь вы можете скопировать это содержимое и вставить его в GitHub Wiki!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published