はじめに:ベース URL・認証・エンドポイント一覧
実装前に読むページです。ベース URL、API キー認証と接続元 IP 制限、エンドポイント一覧、HTTP ステータス・レート制限・重複注文の扱いをまとめています。
ページ更新日:2026/10/12 / 仕様変更の履歴 / BASE URL https://www.slogical.co.jp/ssl/api/v1/
ベース URL
API は本番環境とサンドボックス環境で同じ URL を利用します。
- URL:
https://www.slogical.co.jp/ssl/api/v1/
サンドボックス環境では実際の請求や証明書発行は行われません。疎通確認や実装テストにご利用ください。
※サンドボックス注文すると、マイページで「キャンセルされた注文」としてご確認いただけます。
※サンドボックス注文では、ファイル認証のAPIキーや証明書などのレスポンスがダミー値になります。
認証(API キー)
API の利用には、事前に マイページ からお申込みいただいた API キー が必要です。
弊社にて内容確認のうえ、本番用・サンドボックス用の API キーを発行します。
リクエストヘッダーに、以下の形式で API キーを送信してください。
Authorization: ApiKey <発行されたAPIキー>
接続元 IP アドレス制限 をしておりますので、アクセス元IPアドレスをお教えください。
登録されていない IP からのAPIアクセスは認証エラーとなります。
エンドポイント一覧
| HTTP メソッド | パス | 概要 |
|---|---|---|
| POST | /ssl/api/v1/orders | 注文作成(証明書の新規発行/更新) |
| GET | /ssl/api/v1/orders/{order_id} | 注文ステータス・DCV 用トークン取得 |
| DELETE | /ssl/api/v1/orders/{order_id} | 注文キャンセル |
| GET | /ssl/api/v1/orders | オーダー一覧取得 |
| POST | /ssl/api/v1/csrs | CSR 作成(秘密鍵生成を含む) |
| POST | /ssl/api/v1/orders/{order_id}/reissue | 証明書再発行 |
| DELETE | /ssl/api/v1/orders/{order_id}/reissue | 再発行キャンセル |
| GET | /ssl/api/v1/certificates/{order_id} | 証明書/中間証明書のダウンロード |
| GET | /ssl/api/v1/usage | API 利用状況の取得(当月のコール数・エンドポイント別件数等) |
| GET | /ssl/api/v1/expiry?type={renewal|reissue|cert} | 満了間近コモンネーム一覧の取得(マイページの CSV と同内容) |
| GET | /ssl/api/v1/monitor | SSL監視の最新チェック結果の取得(SSL監視プラン Pro 限定) |
| GET | /ssl/api/v1/dcv/persistent?common_name={CN} | Persistent DNS 認証で設定する TXT レコードの取得(注文・再発行の前に設定しておくと即時発行) |
HTTP ステータス・レート制限・重複注文
実装時にリトライすべきか、人が対応すべきかを切り分けるための情報です。
成功・失敗の判定は HTTP ステータスコード(200 <= code < 300 が成功)で行ってください(レスポンスボディの status も同じ結果を返します)。message は英語の説明文で、文面は予告なく変わり得ます。文字列マッチでの分岐はお避けください。
HTTP ステータスコード
| コード | 意味 | 実装での扱い |
|---|---|---|
200 | 成功 | status は OK。※ 証明書ダウンロードは、弊社から認証局へ申請していないご注文に対して 200 で Please wait. Your order is being processed. を返します。デジサート系商品では発注前の一時的な状態ですが、サイバートラスト・スターフィールドは認証局APIを経由しないため、この状態のままになります。 |
201 | 作成しました | POST /orders(注文作成)と POST /csrs(CSR作成)の成功は 200 ではなく 201 です。Location ヘッダに作成された注文のURLが入ります。成功判定は 200 <= code < 300 で行ってください。code == 200 と書くと、成功した注文を失敗と誤判定して再送し、二重注文になります(重複注文について 参照)。 |
400 | リクエストの誤り (3種類あります) |
(a) 内容を直さないと必ず失敗するもの:CSR不正・必須項目不足・dcv や dcv_scope の値不正・月数が 3〜11 以外・ワイルドカード証明書でのファイル認証・元注文とコモンネームが不一致・仕様に無いフィールドを含めた場合・ボディが 1MiB 超。(b) 時間をおけば成功するもの:証明書ダウンロードの The certificate has not been issued yet.(まだ発行されていないだけ)。再発行キャンセルで認証局への問い合わせが失敗したときの Invalid: status is(状態を取得できていない)。(c) 弊社への連絡が必要なもの: Please contact us. This order requires manual intervention. (code: MI-01〜MI-04)。リトライしても解消しません。お手数ですが お問い合わせください。400 を一律「恒久的な失敗」として扱わないでください。 |
401 | 認証エラー | APIキーが無い/誤り/無効、またはAPIキーに設定されたIP許可リスト外からのアクセス。リトライ不可(認証(API キー) 参照)。 |
403 | 権限エラー | そのAPIキーで許可されていない操作(例:GET /monitor は Pro プランのみ)。リトライ不可。 |
404 | 対象なし | 注文IDが存在しない、そのAPIキーの注文ではない、またはすでにキャンセル済み。 |
405 | メソッド違い | そのエンドポイントで許可されていないHTTPメソッド。エンドポイント一覧をご確認ください。 |
415 | Content-Type 違い | ボディのある POST / PUT / PATCH で Content-Type: application/json が指定されていません。curl -d に -H "Content-Type: application/json" を付け忘れると必ずこれになります。 |
429 | レート制限 | Retry-After ヘッダの秒数だけ待って再送してください(レート制限 参照)。 |
500 | 弊社側のエラー (一部は認証局側) | 想定外の内部エラー。時間をおいて再送してください。 ※ 再発行( POST …/reissue)・再発行キャンセル(DELETE …/reissue)で認証局への問い合わせが失敗した場合も、500 で upstream error を返します。この場合は時間をおいて再送できます。※ ごく稀に、JSON ではなく text/plain の Internal Server Error が返ることがあります(想定外の内部エラー時)。JSON のパースに失敗したら 500 として扱ってください。 |
502 | 認証局への申請が失敗upstream error | 認証局(デジサート)への発注・再発行申請が受理されなかった場合に返します。認証局側では受理されている可能性があります — 再送の前に状態をご確認ください(重複注文について 参照)。 |
レート制限
- API は 1つの送信元IPあたり 60秒間に 299リクエストまでです(300リクエスト目が拒否されます)。画面側とは別カウンタです。
- クエリ文字列に
--を含むリクエストは2回分として数えます(SQLインジェクション対策の共通判定)。日本語ドメインの punycode(xn--)は該当しないよう除外していますが、検索条件に--を含める場合は上限が半分になる点にご注意ください。 - 上限を超えると
429 Too Many Requestsを返し、以後 約2分間 は同じIPからのAPIリクエストを受け付けません。 - 429 のレスポンスは
Retry-Afterヘッダ(秒)と、他のエラーと同じ形の JSON({"status":"NG","message":["Too Many Requests"]})を返します。 - ポーリングで発行状況を見る場合は、数十秒〜数分の間隔を目安にしてください。DVでも発行までに数分かかります。
重複注文について(重要)
POST /ssl/api/v1/orders を2回送ると、注文は2件作成され、2件分のご請求が発生します。
POST /orders は認証局を呼ばないため 502 は返しません(認証局への発注は弊社側で後から行います)。
結果が分からなくなるのはタイムアウト・通信断のときです。その場合は再送する前に確認してください。
# 同じコモンネームの注文が既に無いか確認する(CSRも突き合わせたいので include_csr を付ける) # ※ パラメータ無しだと新しい30件しか返らず、order.csr も空になるため比較できません curl "https://www.slogical.co.jp/ssl/api/v1/orders?common_name_exact=www.example.com&include_csr=true&per_page=5" \ -H "Authorization: ApiKey $SLOGICAL_API_KEY"
誤って作成してしまった注文は DELETE /ssl/api/v1/orders/{order_id} で取り下げられます。判断に迷う場合は お問い合わせください。