GMCheck LogoGMCheck

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

Полное руководство по использованию GMCheck API с API ключами

Обзор

API Key позволяет пользователям премиум получать доступ к API проверки email без необходимости аутентификации при входе. Endpoints API Key используют отдельный префикс /api/v1/ и не требуют шифрования.

Требования

  • Только Премиум План: Функция API Key доступна исключительно для пользователей премиум
  • Каждый пользователь может иметь только один API ключ
  • Endpoints API key не используют шифрование (запросы/ответы в виде обычного текста)

Начало Работы

1. Создать API Key

Сначала вам нужно создать API ключ через веб-интерфейс:

  1. Войдите в свой аккаунт
  2. Нажмите на меню профиля
  3. Выберите "API Key" (видно только для пользователей премиум)
  4. Нажмите "Создать API Key"
  5. Важно: Скопируйте и сохраните ваш API ключ немедленно - вы больше не сможете его увидеть!

⚠️ Предупреждение: Вы больше не сможете увидеть ваш API ключ после создания. Пожалуйста, сохраните его безопасно.

2. Использование API Key

API Key может быть предоставлен тремя способами:

  1. X-API-Key Header (Рекомендуется):
    X-API-Key: your-api-key-here
  2. Authorization Header:
    Authorization: Bearer your-api-key-here
  3. Query Parameter (Менее безопасно):
    ?apiKey=your-api-key-here

API Endpoints

Все endpoints API key используют префикс /api/v1/ и не требуют шифрования.

1. Проверить Email

Отправить задачу для проверки адресов email.

Endpoint:

POST /api/v1/check-emails

Request:

{
  "input": "[email protected]\[email protected]\[email protected]"
}

Response:

{
  "success": true,
  "code": "JOB_SUBMITTED",
  "message": "Job submitted successfully",
  "data": {
    "jobId": "job-123-1234567890",
    "status": "pending",
    "emailsCount": 3
  }
}

2. Получить Историю Задач

Получить пагинированный список ваших задач.

Endpoint:

GET /api/v1/jobs/history?page=1&limit=20

3. Получить Статистику Задачи

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

Endpoint:

GET /api/v1/jobs/:jobId/stats

4. Получить Детали Задачи

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

Endpoint:

GET /api/v1/jobs/:jobId

5. Получить Статистику Использования

Получить вашу текущую статистику использования.

Endpoint:

GET /api/v1/usage

Примеры Кода

Пример cURL

# Check Gmail addresses
curl -X POST https://api.gmcheck.live/api/v1/check-emails \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"input": "[email protected]\[email protected]"}'

# Get job stats
curl -X GET https://api.gmcheck.live/api/v1/jobs/job-123-1234567890/stats \
  -H "X-API-Key: your-api-key-here"

Пример Python

import requests

API_KEY = "your-api-key-here"
BASE_URL = "https://api.gmcheck.live/api/v1"

headers = {
    "X-API-Key": API_KEY,
    "Content-Type": "application/json"
}

# Check emails
response = requests.post(
    f"{BASE_URL}/check-emails",
    headers=headers,
    json={"input": "[email protected]\[email protected]"}
)
job_data = response.json()
job_id = job_data["data"]["jobId"]

# Get job stats
stats_response = requests.get(
    f"{BASE_URL}/jobs/{job_id}/stats",
    headers=headers
)
stats = stats_response.json()
print(stats)

Пример JavaScript

const API_KEY = "your-api-key-here";
const BASE_URL = "https://api.gmcheck.live/api/v1";

const headers = {
  "X-API-Key": API_KEY,
  "Content-Type": "application/json"
};

// Check Gmail addresses
const checkEmails = async () => {
  const response = await fetch(`${BASE_URL}/check-emails`, {
    method: "POST",
    headers: headers,
    body: JSON.stringify({
      input: "[email protected]\[email protected]"
    })
  });
  
  const data = await response.json();
  const jobId = data.data.jobId;
  
  // Poll for job completion
  const pollJob = async () => {
    const statsResponse = await fetch(`${BASE_URL}/jobs/${jobId}/stats`, {
      headers: headers
    });
    const stats = await statsResponse.json();
    
    if (stats.data.status === "completed") {
      // Get full results
      const detailResponse = await fetch(`${BASE_URL}/jobs/${jobId}`, {
        headers: headers
      });
      const detail = await detailResponse.json();
      console.log(detail.data.result);
    } else {
      // Poll again after delay
      setTimeout(pollJob, 2000);
    }
  };
  
  pollJob();
};

Значения Статуса Email

  • LIVE: Email действителен и активен
  • VERIFY: Email требует проверки
  • DISABLE: Email отключен
  • NOT_EXIST: Email не существует
  • UNKNOWN: Неизвестный статус
  • PENDING: Email все еще обрабатывается

Значения Статуса Задачи

  • pending: Задача в очереди и ожидает обработки
  • processing: Задача обрабатывается
  • completed: Задача успешно завершена
  • stopped: Задача остановлена пользователем
  • failed: Задача не удалось завершить

Лучшие Практики Безопасности

  • Никогда не делитесь вашим API ключом: Относитесь к API ключу как к паролю
  • Используйте переменные окружения: Храните API ключи в переменных окружения, а не в коде
  • Регулярно обновляйте: Периодически пересоздавайте ваш API ключ
  • Отзовите при компрометации: Если вы подозреваете, что ваш API ключ скомпрометирован, немедленно отзовите его
  • Используйте только HTTPS: Всегда используйте HTTPS при выполнении API запросов
  • Мониторьте использование: Регулярно проверяйте статистику использования для обнаружения несанкционированного доступа

Ответы Об Ошибках

Invalid API Key:

{
  "success": false,
  "code": "INVALID_API_KEY",
  "message": "Invalid API key. Please check your API key and try again."
}

Premium Required:

{
  "success": false,
  "code": "PREMIUM_REQUIRED",
  "message": "API key feature is only available for premium users."
}

Monthly Limit Exceeded:

{
  "success": false,
  "code": "MONTHLY_LIMIT_EXCEEDED",
  "message": "Monthly limit exceeded. You have checked 100000 / 100000 emails this month."
}

Поддержка

По вопросам или проблемам, связанным с API ключами, пожалуйста, свяжитесь с поддержкой через страницу контактов или Telegram.