MyName 網域註冊服務

API 文件

MyName 網域註冊服務的完整 API 文件,包含 WebNIC API v2 整合和自訂 API 端點。

開發者資源 RESTful API 安全認證 完整文件

準備工作

在開始使用 MyName API 之前,請確保您已完成以下準備:

1. 註冊帳戶

建立 MyName 開發者帳戶

  • 前往 註冊頁面 建立帳戶
  • 完成電子郵件驗證
  • 設定付款方式

2. 取得 API 金鑰

申請開發者 API 金鑰

  • 登入會員中心
  • 前往「開發者設定」
  • 建立新的 API 金鑰

注意: 測試環境請使用測試 API 金鑰,正式環境請使用正式 API 金鑰。請勿將 API 金鑰提交到公開的版本控制系統。

環境設定

根據您的開發環境選擇合適的設定方式:

環境變數設定

.env
# MyName API 設定
MYNAME_API_KEY=your_api_key_here
MYNAME_API_SECRET=your_api_secret_here
MYNAME_API_BASE_URL=https://api.myname.com/v1

# WebNIC API 設定 (透過 MyName 代理)
WEBNIC_API_USERNAME=your_webnic_username
WEBNIC_API_PASSWORD=your_webnic_password
WEBNIC_API_BASE_URL=https://api.webnic.cc/domain/v2

# 環境設定
ENVIRONMENT=development  # development, staging, production
DEBUG=true

PHP 設定範例

config.php
<?php
// API 設定
define('MYNAME_API_KEY', getenv('MYNAME_API_KEY') ?: 'your_api_key_here');
define('MYNAME_API_SECRET', getenv('MYNAME_API_SECRET') ?: 'your_api_secret_here');
define('MYNAME_API_BASE_URL', getenv('MYNAME_API_BASE_URL') ?: 'https://api.myname.com/v1');

// WebNIC API 設定
define('WEBNIC_API_USERNAME', getenv('WEBNIC_API_USERNAME') ?: 'your_webnic_username');
define('WEBNIC_API_PASSWORD', getenv('WEBNIC_API_PASSWORD') ?: 'your_webnic_password');
define('WEBNIC_API_BASE_URL', getenv('WEBNIC_API_BASE_URL') ?: 'https://api.webnic.cc/domain/v2');

// 環境設定
define('ENVIRONMENT', getenv('ENVIRONMENT') ?: 'development');
define('DEBUG', getenv('DEBUG') === 'true');

// 請求標頭
$headers = [
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer ' . MYNAME_API_KEY,
    'X-API-Secret: ' . MYNAME_API_SECRET
];

提示: 建議使用環境變數管理敏感資訊,避免將 API 金鑰硬編碼在程式碼中。

第一個請求

讓我們從一個簡單的網域查詢開始:

檢查網域可用性

GET /v1/domain/check
檢查網域是否可註冊

請求參數

參數 類型 說明 必填
domain string 網域名稱(例如:example.com) 必填
tld string 頂級域(例如:com, net, org) 選填

請求範例

PHP
<?php
// 設定 API 端點
$apiUrl = 'https://api.myname.com/v1/domain/check';
$domain = 'example.com';

// 建立請求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . '?domain=' . urlencode($domain));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer ' . MYNAME_API_KEY,
    'X-API-Secret: ' . MYNAME_API_SECRET
]);

// 執行請求
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// 處理回應
if ($httpCode === 200) {
    $data = json_decode($response, true);
    if ($data['success']) {
        echo "網域 {$domain} " . ($data['available'] ? '可註冊' : '已註冊');
        if ($data['available']) {
            echo ",價格:{$data['price']} {$data['currency']}";
        }
    } else {
        echo "錯誤:{$data['message']}";
    }
} else {
    echo "請求失敗,HTTP 狀態碼:{$httpCode}";
}

回應範例

JSON
{
  "success": true,
  "domain": "example.com",
  "available": true,
  "price": 12.00,
  "currency": "USD",
  "message": "網域可註冊"
}

注意: 所有 API 請求都必須包含有效的認證標頭。請確保您的 API 金鑰有足夠的餘額來執行操作。

最佳實踐

遵循以下最佳實踐可以確保您的應用程式穩定、安全且高效:

安全性

  • 使用環境變數儲存 API 金鑰
  • 定期輪換 API 金鑰
  • 使用 HTTPS 加密所有通訊
  • 驗證和清理所有輸入資料

效能

  • 快取經常查詢的結果
  • 使用非同步請求處理批次操作
  • 監控 API 使用量和限制
  • 實作重試機制處理暫時性錯誤

錯誤處理

  • 檢查所有 API 回應的 HTTP 狀態碼
  • 實作適當的例外處理
  • 記錄錯誤以便除錯
  • 提供用戶友好的錯誤訊息

程式碼品質

  • 使用一致的命名慣例
  • 撰寫清晰的註解和文件
  • 使用版本控制系統
  • 定期重構和優化程式碼

提示: 建議使用現有的 API 客戶端庫或 SDK,可以簡化開發流程並減少錯誤。