Автоматизация регистраций: Интеграция Quix.email API в ваши скрипты на Python.

Для эффективной автоматизации процессов регистрации необходимо надежное API, которое отдает данные в структурированном виде. Quix.email использует интуитивно понятную архитектуру ответов, где каждый запрос возвращает статус выполнения и результат в объекте result. В этой статье мы напишем Python-скрипт, учитывающий все особенности обработки ответов сервиса.

Структура ответов API Все ответы приходят в формате JSON и содержат три ключевых поля:

  1. success (boolean) - флаг успешности операции.

  2. error (string) - описание ошибки (если success = false).

  3. result (object) - полезная нагрузка запроса (если success = true).

Практический пример на Python

Для реализации нам потребуется библиотека requests. Скрипт ниже демонстрирует полный цикл: от аренды почты до получения кода.

import requests
import time

API_KEY = "vash_api_kluch"
SITE = "example.com"
DOMAIN = "all"

def get_temp_email():
    # Шаг 1: Запрашиваем почтовый ящик
    url = f"http://quix.email/api/v1/{API_KEY}/emailGet?site={SITE}&domain={DOMAIN}"
    resp = requests.get(url).json()
    
    if resp.get("success"):
        # Данные находятся в поле result
        res = resp["result"]
        print(f"Почта: {res['email']} | ID активации: {res['id']}")
        return res['id']
    else:
        print(f"Ошибка при получении почты: {resp.get('error')}")
        return None

def get_activation_code(activation_id):
    # Шаг 2: Ожидание кода/ссылки
    print("Ожидание письма...")
    for _ in range(12): # Ждем до 60 секунд
        time.sleep(5)
        url = f"http://quix.email/api/v1/{API_KEY}/emailCode?id={activation_id}"
        resp = requests.get(url).json()
        
        if resp.get("success"):
            # Извлекаем код из вложенного объекта result
            code = resp["result"]["code"]
            print(f"Код подтверждения: {code}")
            return code
        else:
            # Если письмо еще не пришло, success будет false
            print("Письмо еще не получено...")
            
    print("Время ожидания истекло.")
    return None

# Запуск процесса
act_id = get_temp_email()
if act_id:
    get_activation_code(act_id)

Преимущества такой структуры Благодаря полю success, ваш код защищен от непредвиденных ошибок: вы всегда знаете, прошел ли запрос успешно, прежде чем обращаться к данным в result. Использование метода emailCode избавляет вас от необходимости самостоятельно парсить текст письма - сервис возвращает готовую ссылку или код.