В статье приведён минимальный рабочий запрос для каждого из пяти распространённых окружений интеграции. Каждый пример отправляет GET-запрос к эндпоинту /validate и читает поле status из ответа. Формат запроса и ответа описан в статье «Справочник API».
cURL
Команда отправляет запрос с использованием ключа API, сохранённого в переменной окружения.
curl -H "X-API-Key: $CLEANCONTACT_KEY" \
"https://api.cleancontact.ru/validate?email=someone@example.com"Node.js (JavaScript)
В примере используется функция fetch, встроенная в Node.js версии 18 и выше. Дополнительный пакет не требуется. Ключ считывается из переменной окружения и не появляется в исходном коде.
const API_KEY = process.env.CLEANCONTACT_KEY
async function validateEmail(email) {
const params = new URLSearchParams({ email })
const response = await fetch(`https://api.cleancontact.ru/validate?${params}`, {
headers: { 'X-API-Key': API_KEY }
})
return response.json()
}
validateEmail('someone@example.com')
.then((data) => console.log(data.result.status))Node.js (TypeScript)
Тот же запрос с явными типами для формы ответа. Поле status ограничено тремя значениями, которые возвращает эндпоинт.
const API_KEY = process.env.CLEANCONTACT_KEY as string
type ValidationStatus = 'Good' | 'Bad' | 'Unknown'
interface ValidationResult {
value: string
result: {
status: ValidationStatus
detail: string
}
}
async function validateEmail(email: string): Promise<ValidationResult> {
const params = new URLSearchParams({ email })
const response = await fetch(`https://api.cleancontact.ru/validate?${params}`, {
headers: { 'X-API-Key': API_KEY }
})
return response.json() as Promise<ValidationResult>
}
validateEmail('someone@example.com')
.then((data) => console.log(data.result.status))Web (JavaScript)
Запрос, отправляемый напрямую из браузера, требует ключ публичного типа, защищённый капчей, как описано в статье «Аутентификация и ключи API». Серверный ключ не должен появляться в коде браузера. Значение captchaToken в примере получено от виджета капчи до отправки запроса.
const params = new URLSearchParams({ email, captchaToken })
fetch(`https://api.cleancontact.ru/validate?${params}`, {
headers: { 'X-API-Key': 'your-public-key' }
})
.then((response) => response.json())
.then((data) => {
console.log(data.result.status)
})PHP
В примере используется расширение cURL, входящее в стандартную установку PHP. Синтаксис PHP требует точку с запятой в конце каждой инструкции, поэтому в коде ниже она сохранена.
<?php
$apiKey = getenv('CLEANCONTACT_KEY');
$email = 'someone@example.com';
$url = 'https://api.cleancontact.ru/validate?' . http_build_query(['email' => $email]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-Key: ' . $apiKey]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo $data['result']['status'];Обработка ошибок в примерах опущена для краткости. Реальная интеграция должна проверять код состояния HTTP и обрабатывать ответы 400, 401 и 429, описанные в статье «Справочник API».