メール検証API。
フォームには単一アドレスのチェックを、顧客リストには非同期タスクをご利用ください。現在のメールプロバイダーはそのまま使えます。
最初のリクエスト。
キー不要の無料デモエンドポイントをご利用ください。レート制限があり、サービスのお試し用です。
curl -X POST https://api.zbounce.net/v1/demo \
-H 'Content-Type: application/json' \
-d '{"email":"hello@example.com"}'
有料のチェックには、 パッケージを購入 し、 /v1/fast-verify を使用します。キーは X-API-Keyで送信してください。キーをURL、ソース管理、アナリティクスに含めないでください。
curl -X POST https://api.zbounce.net/v1/fast-verify \
-H 'Content-Type: application/json' \
-H "X-API-Key: $ZBOUNCE_API_KEY" \
-d '{"email":"hello@example.com"}'
Pythonの例
import os, requests
response = requests.post(
"https://api.zbounce.net/v1/fast-verify",
headers={"X-API-Key": os.environ["ZBOUNCE_API_KEY"]},
json={"email": "hello@example.com"},
timeout=35,
)
response.raise_for_status()
print(response.json())
Node.jsの例
const response = await fetch("https://api.zbounce.net/v1/fast-verify", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.ZBOUNCE_API_KEY,
},
body: JSON.stringify({ email: "hello@example.com" }),
signal: AbortSignal.timeout(35000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
大きなリストを検証。
POST /v1/tasks1タスクあたり最大10,000件のアドレスを送信できます。返されたタスクIDを保存し、 accepted, skipped および invalidsを確認してください。すべての入力がキューに入るとは限りません。重複、形式不正、配信停止済みのアドレスは除外されることがあり、残高が少ない場合は一部のみ受け付けられることがあります。
curl -X POST https://api.zbounce.net/v1/tasks \
-H 'Content-Type: application/json' \
-H "X-API-Key: $ZBOUNCE_API_KEY" \
-d '{"emails":["hello@example.com","contact@example.org"]}'
ステータスをポーリングしてから、各結果ページを取得してください。無効な入力のみを含むレスポンスでは、タスクIDが空になることがあります。その場合はポーリングしないでください。
curl "https://api.zbounce.net/v1/tasks/$TASK_ID" \
-H "X-API-Key: $ZBOUNCE_API_KEY"
curl "https://api.zbounce.net/v1/tasks-results/$TASK_ID?page=1&per_page=100" \
-H "X-API-Key: $ZBOUNCE_API_KEY"
完了したタスクの結果はJSON形式です。受け付けられたリスト全体を取得するまで、ページの取得を続けてください。完了を自動で通知するには、 mode: "completed" を指定したWebhookをタスク作成時に渡してください。
{
"emails": ["hello@example.com"],
"webhook": {
"url": "https://your-app.example/hooks/verification",
"mode": "completed",
"secret": "YOUR_PRIVATE_WEBHOOK_SECRET"
}
}
本番環境で有効にする前に、スキーマでWebhookの設定と署名の検証方法を確認してください。
形式が正しくても、存在するとは限りません。
これらは別々のシグナルです。形式が正しいアドレスでも、存在しない、使い捨てである、または確認できない場合があります。
| フィールド | 意味 |
|---|---|
valid
|
アドレスが構文検証を通過しました。これだけではメールボックスの存在は確認されません。 |
exists
|
メールボックス確認の結果です。エラーやキャッチオールのシグナルと合わせて解釈してください。 |
disposable
|
ドメインが一時的なメールプロバイダーとして認識されました。 |
accept_all
|
サーバーが任意のアドレスを受け入れるため、特定のメールボックスを確実に確認できません。 |
error_category
|
no_mx、risky、一時的なサーバーの問題など、失敗やリスクの理由を示します。 |
permanent_error
|
チェック中に恒久的な失敗が返されました。一時的な失敗を恒久的な拒否として扱わないでください。 |
ttl
|
返された場合、再試行やキャッシュのタイミングの目安(秒)を示します。 |
検証によって、配信を保証したり、苦情をなくしたり、メールボックスの所有を証明したりすることはできません。
残高を把握する。
GET /v1/me
curl https://api.zbounce.net/v1/me \
-H "X-API-Key: $ZBOUNCE_API_KEY"
レスポンスには、残りのクレジット、予約済みのクレジット、使用済みのクレジット、キーの種類、有効期限が含まれます。通常の検証では1クレジットを使用しますが、実際のフィルタリングと課金は、ルートとタスクの受け付け状況によって異なります。アップロードしたリスト全体を処理済みとみなす前に、レスポンスを確認してください。
429レスポンスは、リクエストが制限されていることを意味します。間隔を空けてから再試行してください。現在のAPIでは、その他のエラーがJSONまたはテキストで返されることがあります。HTTPエラーを検証結果として解釈しないでください。
検証APIの仕様。
公開仕様には、デモ、高速検証、タスク、タスクのステータス、結果、アカウント残高が含まれます。配信および管理用のエンドポイントは、この検証リファレンスの対象外です。
プラットフォームとの接続でお困りですか? support@zbounce.net