🔌 API валидации email

Позволяет запускать валидацию из другого сервиса программно, без веб-интерфейса.

1. Получить ключ

Зарегистрируйтесь — ключ создаётся автоматически и виден в профиле. Передавайте его в заголовке X-API-Key в каждом запросе.

2. Запустить валидацию — POST /api/v1/validate

Вариант A — список email в JSON (проще для программной интеграции):

curl -X POST http://verimail.ru/api/v1/validate \ -H "X-API-Key: ВАШ_КЛЮЧ" \ -H "Content-Type: application/json" \ -d '{"emails": ["a@example.com", "b@example.com"], "options": {"timeout": 10, "validation_mode": "strict"}}'

Вариант B — файл (.xlsx/.xls/.csv), как через веб-форму:

curl -X POST http://verimail.ru/api/v1/validate \ -H "X-API-Key: ВАШ_КЛЮЧ" \ -F "file=@emails.xlsx" \ -F "timeout=10" \ -F "split_by_validity=true"

Ответ в обоих случаях:

{"task_id": "c3f5e2a1-..."}

Необязательные поля options (JSON) / формы (файл): timeout (сек, по умолчанию 10), validation_mode (strict или lenient), max_emails, split_by_validity, split_by_provider, split_personal_corporate (bool).

3. Проверить статус — GET /api/v1/status/<task_id>

curl http://verimail.ru/api/v1/status/c3f5e2a1-... \ -H "X-API-Key: ВАШ_КЛЮЧ" { "status": "processing", "progress": 42.5, "processed": 85, "total": 200, "eta_seconds": 38.2, "message": "Файл: emails.xlsx — обработано 85 из 200 (42.5%)" }

status: pending / processing / completed / error.

4. Получить результат — GET /api/v1/result/<task_id>

Если валидация была запущена JSON-списком email — возвращается JSON-массив результатов:

curl http://verimail.ru/api/v1/result/c3f5e2a1-... \ -H "X-API-Key: ВАШ_КЛЮЧ" { "results": [ {"Email": "a@example.com", "Валидность": "Да", "Провайдер": "google", "..." : "..."}, {"Email": "b@example.com", "Валидность": "X", "Провайдер": "other", "..." : "..."} ] }

Если валидация была запущена файлом — возвращается файл (.xlsx или .zip, если было включено разделение), так же как при скачивании через сайт.

Коды ошибок

  • 401 — заголовок X-API-Key отсутствует или ключ неверный.
  • 404 — задача не найдена или принадлежит другому пользователю.
  • 400 — некорректный запрос (например, пустой список emails или неподдерживаемый формат файла).

Ограничение: rate-limit пока не реализован — не отправляйте параллельно избыточное количество задач с одного ключа.