API利用サンプル

Contact/Reborn APIの使い方とサンプルコード

API概要

Contact/Reborn APIは、シンプルなWebAPIとして提供されています。 Bearer認証を使用し、JSON形式でデータをやり取りします。

ベースURL: https://contact-reborn.net/api

メールチェック: POST /check

認証方法

APIの利用には、管理画面で発行したAPIトークンが必要です。 リクエストヘッダーに以下のように設定してください。

Authorization: Bearer YOUR_API_TOKEN

メールチェックAPI

メールアドレスがブロック対象かどうかを判定します。

エンドポイント

POST /api/check

リクエスト

{
  "email": "check@example.com"
}

レスポンス(正常時)

{
  "result": "block",  // "block", "pass", "suspicious", "unknown"
  "status": "success",
  "message": ""
}

共通エラーレスポンス

429 Too Many Requests

API利用制限を超えた場合

{
  "result": null,
  "status": "failed",
  "message": "API利用制限を超えました。しばらく待ってから再試行してください。"
}

401 Unauthorized

認証エラーの場合

{
  "message": "Unauthenticated."
}

サンプルコード

実装例を参考にしてください

PHP cURLを使用した例

<?php
$ch = curl_init();

$data = [
    'email' => 'test@example.com'
];

curl_setopt($ch, CURLOPT_URL, 'https://contact-reborn.net/api/check');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer YOUR_API_TOKEN'
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);

if ($result['status'] === 'success') {
    if ($result['result'] === 'block') {
        echo "このメールアドレスはブロック対象です。";
    } else {
        echo "このメールアドレスは使用可能です。";
    }
} else {
    echo "エラー: " . $result['message'];
}
?>

WordPress Contact Form 7と連携する例

// functions.phpに追加
add_filter('wpcf7_validate', 'check_email_with_contactreborn', 10, 2);

function check_email_with_contactreborn($result, $tags) {
    $submission = WPCF7_Submission::get_instance();
    if ($submission) {
        $data = $submission->get_posted_data();
        $email = isset($data['your-email']) ? $data['your-email'] : '';
        
        if ($email) {
            $response = wp_remote_post('https://contact-reborn.net/api/check', [
                'headers' => [
                    'Content-Type' => 'application/json',
                    'Authorization' => 'Bearer YOUR_API_TOKEN'
                ],
                'body' => json_encode(['email' => $email])
            ]);
            
            if (!is_wp_error($response)) {
                $body = json_decode(wp_remote_retrieve_body($response), true);
                if ($body['status'] === 'success' && $body['result'] === 'block') {
                    $result->invalidate('your-email', 'このメールアドレスは使用できません。');
                }
            }
        }
    }
    
    return $result;
}

Composer 公式PHPクライアントライブラリ

# インストール
composer require contactreborn/php-client

# 使用例
<?php
use ContactReborn\ContactRebornClient;
use ContactReborn\Enums\CheckResult;

$client = new ContactRebornClient('YOUR_API_TOKEN');
$result = $client->checkEmail('test@example.com');

if (CheckResult::isBlocked($result['result'])) {
    echo "このメールアドレスはブロック対象です。";
} elseif (CheckResult::isSafe($result['result'])) {
    echo "このメールアドレスは使用可能です。";
}
?>

HTTPステータスコード

コード 説明
200 OK 正常に処理されました
400 Bad Request リクエストの形式が不正です
401 Unauthorized 認証に失敗しました(トークンが無効または期限切れ)
429 Too Many Requests レート制限を超えました
500 Internal Server Error サーバーエラーが発生しました

注意事項

  • APIトークンは安全に管理し、公開リポジトリにコミットしないでください
  • レート制限はプランによって異なります
  • 本番環境では適切なエラーハンドリングを実装してください

今すぐAPIを試してみませんか?

無料プランでもAPIをご利用いただけます

無料で始める