CountdownMail API
このガイドは、CountdownMail APIの使用開始を支援します。セットアップ、認証、エラー処理、カウントダウンタイマーの操作方法について説明します。
クイックスタート
このセクションでは、CountdownMail APIを使用する準備をし、最初のAPIリクエストの方法を示します。
- APIキーを取得:
- CountdownMailアカウントにログインしてください。
- プロフィール » APIに移動してください。
- APIキーをコピーしてください。
- 最初のAPIリクエストを行う:
- 例として「タイマーを作成」エンドポイントを使用します。
- cURLやPostmanなどのツールを使用して、https://countdownmail.com/api/createにPOSTリクエストを送信してください。
- AuthorizationヘッダーにAPIキーを追加してください。
- リクエストボディに必要なタイマーの詳細を含めてください(JSON形式)。
cURLを使用した例:
リクエスト
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
"skin_id": 1,
"name": "Big Sale!",
"time_end": "2025-04-21 20:00:00",
"time_zone": "America/Los_Angeles",
"font_family": "Roboto-Bold",
"color_primary": "FF3A43",
"color_text": "FFFFFF",
"color_bg": "000000"
}'
- YOUR_API_KEYを実際のAPIキーに置き換えてください。
- すべてが正常に動作すると、このような応答が返されます:
レスポンス
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
このレスポンスには、タイマーコード(例:「td」)とタイマー画像のURLが含まれます。
認証
CountdownMail APIを使用するには、すべてのリクエストをAPIキーで認証する必要があります。方法は次のとおりです:
- リクエストにAuthorizationヘッダーを追加してください。値はAPIキーです。
- または、基本認証を使用します:APIキーをユーザー名として設定し、パスワードは空のままにしてください。
Authorizationヘッダーを使用した例(cURL):
リクエスト
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X GET "https://countdownmail.com/api/some_endpoint"
- YOUR_API_KEYを実際のAPIキーに置き換えてください。
- 常に認証を含めてください。そうしないと、401 Unauthorizedエラーが発生します。
Postmanの使用
Postmanを使用すると、APIリクエストのテストが簡単になります。CountdownMailで使用するには:
エラー
APIリクエストが失敗することがあります。CountdownMail APIは、何が問題だったかを伝えるためにHTTPステータスコードを使用します。考えられるエラー、その意味、対処法のリストは次のとおりです:
| コード | ステータス名 | 説明 | 推奨アクション | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | 不正なリクエスト | リクエストに問題があります。 | リクエストがドキュメントと一致し、正しい構文を使用しているか確認してください。 | ||||||||
| 401 | 未認証 | このリクエストを行う権限がありません。 | Authorizationヘッダーで有効なAPIキーを使用していることを確認してください。 | ||||||||
| 404 | 見つかりません | サーバーはリクエストされたものを見つけられません。 | URLが有効なAPIエンドポイントと一致しているか確認してください。 | ||||||||
| 405 | メソッドが許可されていません | エンドポイントはそのメソッドをサポートしていません。 | ドキュメントに示されている正しいHTTPメソッド(例:GET、POST)を使用してください。 | ||||||||
| 429 | リクエストが多すぎます | クライアントが1分間に多すぎるリクエストを送信しました。 | 各レスポンスで送信されるヘッダーを使用して、レート制限の現在のステータスを確認できます。
| ||||||||
| 500 | 内部サーバーエラー | CountdownMail側で何かが壊れました。 | 後でもう一度お試しください。問題が続く場合は、サポートにお問い合わせください。 | ||||||||
| 503 | サービス利用不可 | 現在サーバーが混雑しています。 | 少し待ってからもう一度お試しください。 |
エラーレスポンスの例(401 Unauthorized):
レスポンス
{
"status": "error",
"message": "Unauthorized"
}
エラーが表示されたら、ステータスコードとメッセージを確認し、推奨アクションに従ってください。
タイマーモデル
タイマーリソースには、カウントダウンタイマーに関するすべての情報が含まれています。カウントダウンタイマーを定義するために使用できるフィールドは次のとおりです:
| プロパティ | タイプ | 説明 | 必須 | 備考 |
|---|---|---|---|---|
| skin_id | 整数 | タイマーのデザインスタイル(テンプレート)。 | はい | 1から23の間の数字である必要があります。 |
| name | 文字列 | タイマーの名前。 | はい | 最大100文字。例:Big Sale! |
| time_end | 文字列 | タイマーが終了する時刻(YYYY-MM-DD HH:MM:SS)。 | はい | 例:2025-04-09 04:57:16 |
| time_zone | 文字列 | タイマーのタイムゾーン。 | はい | 例:America/Los_Angeles。利用可能なすべてのtime_zone値を参照してください。 |
| font_family | 文字列 | タイマーテキストのフォント。 | いいえ | 例:Roboto-Bold。利用可能なすべてのfont_family値を参照してください。 |
| label_font_family | 文字列 | タイマーラベルのフォント。 | いいえ | 例:Roboto-Bold。利用可能なすべてのfont_family値を参照してください。 |
| color_primary | 文字列 | メインカラー(16進コード)。 | はい | 例:FF3A43(赤)。 |
| color_text | 文字列 | テキストカラー(16進コード)。 | はい | 例:FFFFFF(白)。 |
| color_bg | 文字列 | 背景色(16進コード)。 | はい | 例:000000(黒)。 |
| font_size | 整数 | タイマーテキストのサイズ。 | いいえ | 14から73の間。 |
| label_font_size | 整数 | ラベルテキストのサイズ。 | いいえ | 0から50の間。 |
| day | 整数 | 日数を表示(0 = いいえ、1 = はい)。 | いいえ | 0または1である必要があります。 |
| lang | 文字列 | 言語コード(ISO 2文字)。 | いいえ | 例:en(英語)。サポートされている54言語すべてを参照してください。 |
| transparent | 整数 | 背景:0 = 単色、1 = 透明。 | いいえ | 0または1である必要があります。 |
| expired_mes_on | 整数 | 有効期限メッセージを表示(0 = いいえ、1 = はい)。 | いいえ | 0または1である必要があります。 |
| expired_mes | 文字列 | タイマー終了時のメッセージ。 | いいえ | 最大100文字。例:This offer has expired |
| labels | 整数 | カスタムラベルを使用(0 = いいえ、1 = はい)。 | いいえ | 0または1である必要があります。 |
| days | 文字列 | 日のラベル。 | いいえ | 最大15文字。例:days |
| hours | 文字列 | 時間のラベル。 | いいえ | 最大15文字。例:hours |
| minutes | 文字列 | 分のラベル。 | いいえ | 最大15文字。例:minutes |
| seconds | 文字列 | 秒のラベル。 | いいえ | 最大15文字。例:seconds |
| timer_type | 整数 | タイマータイプ:1 = 共有日付タイマー、2 = パーソナルタイマー、3 = リンクタイマー。 | いいえ | 1、2、または3である必要があります。デフォルトは1(共有日付タイマー)です。 |
| duration | 整数 | タイマーの持続時間(秒単位)(パーソナルタイマーの場合)。 | いいえ | timer_typeが2(パーソナルタイマー)の場合は必須です。例:86400(24時間)。 |
| advanced_params | オブジェクト | 追加設定(例:区切り文字の色)。 | いいえ | 例 |
タイマーを作成
このエンドポイントでタイマーを作成できます。新しいタイマーを作成するには、すべての必須プロパティを指定する必要があります。
リクエスト例:
リクエスト
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
"skin_id":3,
"name":"Big Sale!",
"time_end":"2026-02-02 20:00:00",
"time_zone":"America\/Los_Angeles",
"font_family":"Roboto-Bold",
"color_primary":"FF3A43",
"color_text":"FFFFFF",
"color_bg":"000000",
"transparent":"0",
"font_size":"38",
"lang":"en",
"expired_mes_on":"1",
"expired_mes":"This offer has expired",
"labels":"1",
"days":"days",
"hours":"hours",
"minutes":"minutes",
"seconds":"seconds"
}'
レスポンス
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
タイマーを更新
このエンドポイントでタイマーの任意の属性を更新できます。タイマーを更新するには、更新したいフィールドを含むPUTリクエストを/update/{code}に送信してください。{code}をタイマーのコード(例:「td」)に置き換えてください。
リクエスト例:
リクエスト
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X PUT "https://countdownmail.com/api/update/{code}" \
-d '{
"skin_id":6,
"name":"Flash Sale!",
"time_end":"2026-02-02 20:00:00"
}'
レスポンス
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
タイマーを複製
既存のタイマーのコピーを作成するには、/duplicate/{code}にPOSTリクエストを送信してください。{code}をコピーしたいタイマーの一意のコードに置き換えてください。これにより、元のタイマーと同じ設定で始まる新しいタイマーが作成されます。
リクエストボディにJSONオブジェクトを追加して、新しいタイマーの詳細を更新できます。これにより、終了時刻や名前などの特定の属性を変更しながら、その他すべてを元のタイマーと同じに保つことができます。更新できる属性は、新しいタイマーを作成するときに設定できるものと同じです(完全なリストについてはタイマーモデルセクションを参照してください)。属性を含めない場合、元のタイマーと同じままになります。
重要:元のタイマーは変更されません。リクエストで送信した更新の影響を受けるのは新しいタイマーのみです。
リクエスト例:
リクエスト
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/duplicate/{code}" \
-d '{
"skin_id":6,
"name":"Flash Sale!",
"time_end":"2026-02-02 20:00:00"
}'
レスポンス
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
タイマーを無効化
タイマーを停止(アーカイブ)するには、/deactivate/{code}にGETリクエストを送信してください。{code}をタイマーのコードに置き換えてください。
タイマーを有効化
タイマーを再度有効にするには、/activate/{code}にGETリクエストを送信してください。{code}をタイマーのコードに置き換えてください。
タイマーを削除
タイマーを削除するには、/delete/{code}にDELETEリクエストを送信してください。{code}をタイマーのコードに置き換えてください。
このガイドで、CountdownMail APIの使用を開始するために必要なすべてが得られるはずです。APIキーを安全に保管し、タイムゾーンやフォントなどのフィールドの詳細については公式ドキュメントを参照してください!
