https://www.slogical.co.jp/ssl/api/v1/
ページ更新日:2026/08/30 / 仕様変更の履歴
Go サンプルクライアント 新規注文・再発行・PFX作成(OpenSSL不要)を自動化するサンプルプログラム。go run ですぐ実行可能。メール・ファイル・DNS(Route53)認証に対応。途中再開もOK。 →
API は本番環境とサンドボックス環境で同じ URL を利用します。
https://www.slogical.co.jp/ssl/api/v1/
サンドボックス環境では実際の請求や証明書発行は行われません。疎通確認や実装テストにご利用ください。
※サンドボックス注文すると、マイページで「キャンセルされた注文」としてご確認いただけます。
※サンドボックス注文では、ファイル認証の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 限定) |
文字コード: UTF-8
Content-Type: application/json
ボディ: POST /ssl/api/v1/orders、POST /ssl/api/v1/csrs、POST /ssl/api/v1/orders/{order_id}/reissue のみ JSON ボディ必須、その他のエンドポイントはボディ不要です。
代表的なフィールドは次の通りです(実際のフィールド名は英語で、値の内容は日本語を含んでも構いません)。
RapidSSL / RapidSSLWildcard / QuickSSLPremium / QuickSSLPremiumWildcardmonths・expire と排他)years・expire と排他)※月単位のご購入は3ヵ月からですYYYY-MM-DD 形式で指定(日単位。years・months と排他)。価格は満了日までの日数を30日で割り上げた月数で計算されます(3ヵ月より短い期間も指定できますが、価格は3ヵ月分が下限です)。email:メール認証(承認メールの宛先は certificate.dcv_detail で指定。dcv_detail を省略(空)した場合は、認証局の標準承認アドレス(admin@ / administrator@ / hostmaster@ / postmaster@ / webmaster@)すべてに送付されます。送付先のドメインは dcv_scope に従い、省略/自動時はベースドメイン(admin@<ベースドメイン> 等)、fqdn 指定時は各 FQDN(admin@<FQDN> 等)になります)file:ファイル認証(指定ファイルを Web サーバーに設置)。ワイルドカード証明書(コモンネームが *. で始まる)では file 認証は利用できません(認証局が拒否するため、リクエスト時に 400 を返します)。dns または email をご利用ください。dns:DNS 認証(TXT レコードまたは CNAME レコードを追加)dcv が email)の場合の承認メールアドレス(例:admin@example.com)。任意:省略(空)した場合は、認証局の標準承認アドレス(admin@ / administrator@ / hostmaster@ / postmaster@ / webmaster@)すべてに送付されます(送付先のドメインは dcv_scope に従い、省略/自動時はベースドメイン、fqdn 指定時は各 FQDN になります)。file / dns 認証では不要。POST /ssl/api/v1/orders/{order_id}/reissue)では dcv_detail は使用しません。再発行のメール認証は、認証局の標準承認アドレスすべてに送付されます(宛先の個別指定はできません)。base_domain(ベースドメイン全体で確認)/ fqdn(コモンネーム・各 SAN を FQDN 単位で確認)。省略時は自動判定(従来どおりの動作)。通常は省略で問題ありません。fqdn は file / dns 認証に加え、メール認証(dcv=email)でも有効です。メール認証で fqdn を指定した場合、承認メールは各 FQDN の宛先(admin@<FQDN> 等)へ送られます。省略(自動)のメール認証は従来どおりベースドメインの標準アドレスへ送ります。*. で始まる)をメール認証で取得する場合は、fqdn を指定してもベースドメイン(admin@<ベースドメイン> 等)で確認します(admin@*.example.com 宛には送付できないため、この組み合わせのみ base_domain 扱いになります)。a:自動(コモンネームが www.ベースドメインであれば、コモンネームと www あり/なしの両方を保護)y:あり(コモンネームと www あり/なしの両方を保護)n:なし(コモンネーム のみ保護)email_add1 のみ有効(email_add2 は無視されます)。※ 未使用のフィールドは空文字列でも構いません。必須項目や書式の詳細は、下記の cURLサンプルをご確認ください。
全てのエンドポイントは JSON でレスポンスを返します。
{
"status": "OK" | "NG",
"order_id": 12345,
"digicert_order_id": 67890,
"order_status": "issued" | "pending" | "...",
"token": "dcv-random-value",
"certificate": "-----BEGIN CERTIFICATE----- ...",
"intermediate_certificate": "-----BEGIN CERTIFICATE----- ...",
"order": {
"id": 12345,
"ssl_type": "ra01",
"months": "",
"csrinfo_cn": "www.example.com",
"csrinfo_bit": "2048",
"sans": "",
"hash_algorithm": "sha256",
"www_option": "a",
"dcv_scope": "",
"ev_jp_corp_name": "",
"c_email": "info@example.com",
"c_email_add1": "",
"c_email_add2": "",
"c_email_invoice": "billing@example.com",
"c_email_invoice_add1": "",
"c_email_invoice_add2": ""
},
"message": [
"説明メッセージ1",
"説明メッセージ2"
]
}
OK(成功)または NG(エラー)。pending / issued / rejected)。GET /ssl/api/v1/orders/{order_id} および GET /ssl/api/v1/orders で返されます)。主なフィールドは下記のとおりです。
ra01 / rw01)。certificate.months)でご注文いただいた場合のみ値が入り、年単位・満了日指定のご注文では空文字になります。certificate.expire)でご注文いただいた場合のみ、その指定日(YYYY-MM-DD)が入るご注文時の控えです。年単位・月単位のご注文では空文字になります。digicert_order_till_gmt(契約満了日)/digicert_cert_valid_till_gmt(証明書有効期限)をご利用ください。2048 / 4096)。qp(QuickSSL Premium)と qw(QuickSSL Premium ワイルドカード)。qw はワイルドカード形式(例:*.example.com)のみ、qp 等は通常ホスト名(例:aaa.example.com)のみ指定できます。sha256)。a=自動 / y=www あり / n=www なし)。base_domain / fqdn、または空文字(注文時に省略=自動判定)。注文時に送信した certificate.dcv_scope をそのまま返します。fqdn と送信していても実際の確認はベースドメインになります(上記「certificate.dcv_scope」の例外を参照)。organization.email_add1 / email_add2)。サイバートラスト系は c_email_add2 は常に空。contact.email_invoice(未指定時は API キー所有者メール)。contact.email_invoice_add1 / email_invoice_add2)。サンドボックス環境でのサンプルです。実際の CSR や組織情報に置き換えてご利用ください。
curl -i -X POST "https://www.slogical.co.jp/ssl/api/v1/orders" \
-H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"certificate": {
"product": "RapidSSL",
"years": 1,
"is_update": "n",
"server_type": "その他",
"csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICbzCCAVcCAQAwKjELMAkGA1UEBhMCSlAxGzAZBgNVBAMMEnd3dy5zbG9naWNh\nbC5jby5qcDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJafWY/71gSa\nayKMqZgeYvw3raKJyquMnIIMeVUMtJeeNSwvs54X6By+YbUkECVhQW10Q02BrLzz\n+fnrLUHp9b6QHfDlIOh6vmXNwEsJAwP8TW6ay3XAfLpr0tQ0xH9z3D51coK8Qw9m\nQlzfAN0m9b3vYOJwEFdXJRxIGiMksnOcBQMXDgruGOox/YoNiuXsKChGts9oDYAR\n1o9kzPtAgEC57SEg1TQyNiMXh8J93htgkTX1ZPca59TUiWPT3ZBmRrO4kfUn3f6v\nspnNbzC/fwRDS55x0naXbCh8FBwh1xgLpth/IIZXacp6s6DEDNofk5fZRC7RnMCQ\njEt+/I6ZREECAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCRpFDYUUOPDNMu6DGq\nSQj23tMDiUj9Wx1tZzD3n+faRPatkahnAQjmnfOH5OsaYDRkPknA/vVfWfRKNkiY\njFx+UFpyW8RrY+WzfuuEjrBNTFneSrp2h7ot3pbXoH/mQGjduqCzt+sjlhJ4oLMd\numaX7UJjmKwjGSa6itWNPM0FVXDjDhNKO/Lso0+nRvgB3HWxXHST7WeK4RAaLR69\n3Gvckf/2LgrClgYOj336E4hEyPDaQa6ftX2BGtXLq4kRxejjSpOUyv3eC469SnEk\nHJBx+dnaRZq9GZB/lIZxtfcmfKERoW3G8/GpjgWliMTpf3Ur9nzNEWsO6SeTFodT\nRWq8\n-----END CERTIFICATE REQUEST-----",
"www_option": "a",
"dcv": "file"
},
"organization": {
"corp_name": "株式会社エスロジカル",
"name1": "関",
"name2": "一真",
"name_alph1": "Seki",
"name_alph2": "Kazumasa",
"tel": "048-837-7778",
"email": "seki@slogical.co.jp",
"email_add1": "info@example.com",
"email_add2": "info2@example.com",
"post": "3300854",
"addr1": "埼玉県",
"addr2": "さいたま市大宮区",
"addr3": "桜木町1-195-1",
"addr4": "大宮ソラミチKOZ4階 エキスパートオフィス大宮"
},
"contact": {
"is_postpay": "y",
"email_invoice": "billing@example.com",
"email_invoice_add1": "keiri@example.com",
"email_invoice_add2": "keiri2@example.com",
"memo": "APIからの注文です"
}
}'
years の代わりに months(3~11)を指定します。
curl -i -X POST "https://www.slogical.co.jp/ssl/api/v1/orders" \
-H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"certificate": {
"product": "RapidSSL",
"months": 3,
"is_update": "n",
"server_type": "その他",
"csr": "-----BEGIN CERTIFICATE REQUEST-----\n...\n-----END CERTIFICATE REQUEST-----",
"www_option": "a",
"dcv": "file"
},
"organization": {
"corp_name": "株式会社エスロジカル",
"name1": "関",
"name2": "一真",
"name_alph1": "Seki",
"name_alph2": "Kazumasa",
"tel": "048-837-7778",
"email": "seki@slogical.co.jp",
"post": "3300854",
"addr1": "埼玉県",
"addr2": "さいたま市大宮区",
"addr3": "桜木町1-195-1"
},
"contact": {
"is_postpay": "y"
}
}'
years / months の代わりに expire(YYYY-MM-DD 形式)を指定します。
価格は今日から満了日までの日数を30日で割り上げた月数で計算されます。
curl -i -X POST "https://www.slogical.co.jp/ssl/api/v1/orders" \
-H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"certificate": {
"product": "RapidSSL",
"expire": "2026-12-31",
"is_update": "n",
"server_type": "その他",
"csr": "-----BEGIN CERTIFICATE REQUEST-----\n...\n-----END CERTIFICATE REQUEST-----",
"www_option": "a",
"dcv": "file"
},
"organization": {
"corp_name": "株式会社エスロジカル",
"name1": "関",
"name2": "一真",
"name_alph1": "Seki",
"name_alph2": "Kazumasa",
"tel": "048-837-7778",
"email": "seki@slogical.co.jp",
"post": "3300854",
"addr1": "埼玉県",
"addr2": "さいたま市大宮区",
"addr3": "桜木町1-195-1"
},
"contact": {
"is_postpay": "y"
}
}'
curl -i "https://www.slogical.co.jp/ssl/api/v1/orders/12345" \ -H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>"
レスポンスの order_status で発行状況を確認できます。また、token フィールドにファイル認証/DNS 認証で利用するランダムコードが含まれます。
レスポンス例:
{
"status": "OK",
"is_sandbox": false,
"order_id": 12345,
"digicert_order_id": 67890,
"order_status": "issued",
"token": "_abcdefghijklmnopqrstuvwxyz01234",
"order": {
"id": 12345,
"ssl_type": "ra01",
"months": "",
"csrinfo_cn": "www.example.com",
"csrinfo_bit": "2048",
"sans": "",
"hash_algorithm": "sha256",
"www_option": "a",
"dcv_scope": "",
"ev_jp_corp_name": "",
"c_email": "info@example.com",
"c_email_add1": "",
"c_email_add2": "",
"c_email_invoice": "billing@example.com",
"c_email_invoice_add1": "",
"c_email_invoice_add2": ""
}
}
※ DigiCert への注文処理が完了する前にリクエストした場合、order_status は返されず、message に "Please wait. Your order is being processed." が含まれます。その場合でも order オブジェクトは返されます。
curl -i "https://www.slogical.co.jp/ssl/api/v1/certificates/12345" \ -H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>" # ルート証明書も含めたい場合(オプション) curl -i "https://www.slogical.co.jp/ssl/api/v1/certificates/12345?include_root=true" \ -H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>"
order_status が issued になった後、このエンドポイントからサーバー証明書と中間証明書(PEM 形式)を取得できます。
2026/02/07 証明書の改行コードを LF(Unix)で統一いたしました。
SSL証明書がまだ発行されていない場合に限り、APIからのキャンセルが可能です。
それ以外のステータスではキャンセルはエラーとなり、手動対応が必要です。
curl -i -X DELETE "https://www.slogical.co.jp/ssl/api/v1/orders/12345" \ -H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>"
成功時は 200 OK が返り、レスポンスの status が OK になります。
{
"status": "OK",
"order_id": 12345,
"message": [
"This order has been canceled."
]
}
すでにキャンセルされている注文、またはキャンセルできない状態の場合は、
status: "NG" および関連するメッセージが返されます。
過去の注文を一覧で取得します。結果は注文 ID の降順(新しい順)で返されます。
ページングや検索条件(注文日・コモンネーム等)をクエリパラメータで指定できます。
特定のコモンネームに対して「新規発行・更新・再発行」のどれを実行すべきかを判定したい場合は、GET /ssl/api/v1/orders?common_name_exact=<CN>&per_page=1 を実行してください。コモンネームの完全一致で最新のご注文 1 件を取得でき、そのご注文に付く recommended_operation(次に必要な操作)・order_state(ご注文の状態)・残日数から、そのまま自動判定できます(詳細は下記「更新・再発行の自動判定」)。
※ order.expire は契約期限ではありません(満了日指定でご注文いただいた場合のみ値が入る、ご注文時の控えです。詳細は「5. レスポンス形式」の order フィールド説明をご参照ください)。
なお、更新・再発行の対象をまとめて抽出する場合は、専用の GET /ssl/api/v1/expiry(下記 6-10.)をご利用いただくと、残日数付きで満了の近い順に取得できるため簡便です。
| パラメータ名 | 説明 | 例 |
|---|---|---|
| page | ページ番号(デフォルト: 1) | page=2 |
| per_page | 1ページあたり件数(デフォルト: 30、最大: 200) | per_page=10 |
| common_name | コモンネームで部分一致検索 | common_name=example.com |
| common_name_exact | コモンネームで完全一致検索。自動化で対象注文を一意に特定する場合はこちらをご利用ください(common_name と併用した場合は両方の条件が AND で適用されます) | common_name_exact=re-shop.jp |
| corp_name | 会社名で部分一致検索 | corp_name=エスロジカル |
| created_from | 注文日(From)YYYY-MM-DD | created_from=2025-01-01 |
| created_to | 注文日(To)YYYY-MM-DD | created_to=2025-12-31 |
| digicert_cert_from | 証明書有効期限(From)YYYY-MM-DD | digicert_cert_from=2026-01-01 |
| digicert_cert_to | 証明書有効期限(To)YYYY-MM-DD | digicert_cert_to=2026-03-31 |
| digicert_contract_from | DigiCert 契約期限(From)YYYY-MM-DD | digicert_contract_from=2026-01-01 |
| digicert_contract_to | DigiCert 契約期限(To)YYYY-MM-DD | digicert_contract_to=2026-12-31 |
| include_csr | true を指定すると CSR 全文を返す(デフォルト: 返さない) | include_csr=true |
| include_deleted | true を指定するとキャンセル済み注文も含める | include_deleted=true |
# 全件取得(新しい順) curl -i "https://www.slogical.co.jp/ssl/api/v1/orders?page=1&per_page=30" \ -H "Authorization: ApiKey <YOUR_API_KEY>" # コモンネームで絞り込み(部分一致) curl -i "https://www.slogical.co.jp/ssl/api/v1/orders?common_name=www.example.com" \ -H "Authorization: ApiKey <YOUR_API_KEY>" # コモンネームで絞り込み(完全一致)— 自動化ではこちら curl -i "https://www.slogical.co.jp/ssl/api/v1/orders?common_name_exact=re-shop.jp" \ -H "Authorization: ApiKey <YOUR_API_KEY>" # 対象コモンネームの最新のご注文 1 件だけ取得(更新・再発行の判定用) curl -i "https://www.slogical.co.jp/ssl/api/v1/orders?common_name_exact=www.example.com&per_page=1" \ -H "Authorization: ApiKey <YOUR_API_KEY>"
※ common_name は部分一致のため、たとえば common_name=re-shop.jp は emetore-shop.jp のご注文にも一致します。自動化で対象のご注文を一意に特定する場合は、必ず common_name_exact をご利用ください。
※ common_name_exact に空文字や使用できない文字(英数字・.・-・_・* 以外)を指定した場合は 400 エラーになります。条件を黙って無視して全件を返すことはありません(誤った注文を対象にした自動処理を防ぐためです)。大文字小文字は区別しません。
レスポンス例:
{
"status": "OK",
"is_sandbox": false,
"total": 2,
"page": 1,
"per_page": 30,
"orders": [
{
"order": {
"id": 12345,
"ssl_type": "ra01",
"months": "",
"expire": "",
"csrinfo_cn": "www.example.com",
"csrinfo_bit": "2048",
"sans": "",
"hash_algorithm": "sha256",
"www_option": "a",
"ev_jp_corp_name": "",
"is_update": "n",
"created": "2026-02-01 10:00:00"
},
"product_name": "RapidSSL 1年",
"digicert_order_id": 67890,
"digicert_order_till_gmt": "2027-02-01",
"digicert_cert_valid_till_gmt": "2026-12-01",
"digicert_status": "issued",
"order_state": "issued",
"recommended_operation": "reissue",
"recommended_operation_reason": "cert_expires_before_contract",
"newer_order_pending": false,
"is_latest_for_cn": true,
"days_to_contract_expiry": 155,
"days_to_cert_expiry": 93
},
{
"order": {
"id": 12346,
"ssl_type": "rw01",
"months": "",
"expire": "",
"csrinfo_cn": "*.example.com",
"csrinfo_bit": "2048",
"sans": "",
"hash_algorithm": "sha256",
"www_option": "n",
"ev_jp_corp_name": "",
"is_update": "n",
"created": "2025-05-01 10:00:00"
},
"product_name": "RapidSSL ワイルドカード 1年",
"digicert_order_id": 67891,
"digicert_order_till_gmt": "2026-05-01",
"digicert_cert_valid_till_gmt": "2026-05-01",
"digicert_status": "expired",
"order_state": "expired",
"recommended_operation": "renew",
"recommended_operation_reason": "contract_expired",
"newer_order_pending": false,
"is_latest_for_cn": true,
"days_to_contract_expiry": -121,
"days_to_cert_expiry": -121
}
]
}
※ digicert_cert_valid_till_gmt(証明書有効期限)は、DigiCert にて証明書が発行済みの場合のみ値が入ります。order_status が pending などの未発行状態では空文字になります。
※ order.months / order.expire はご注文時のリクエスト値の控えであり、契約・証明書の満了日ではありません。年単位(certificate.years)のご注文ではいずれも空文字になります。満了日は digicert_order_till_gmt(契約満了日)/digicert_cert_valid_till_gmt(証明書有効期限)をご参照ください。
※ digicert_order_till_gmt / digicert_cert_valid_till_gmt は、DigiCert 以外の認証局の商品(サイバートラスト系など、ウェブサイトからのご注文分)では空文字になります。
各ご注文には、そのコモンネームについて次に必要となる証明書操作の判定結果が付きます。
GET /ssl/api/v1/expiry(下記 6-10.)の「満了 90 日以内」という抽出条件とは切り離しており、現時点の契約満了日と証明書有効期限だけから renew(更新)か reissue(再発行)かを常に返します。実際に何日前に申請するかは days_to_contract_expiry / days_to_cert_expiry をご覧のうえ、御社の運用ルールでご判断ください。
| フィールド | 説明 |
|---|---|
| recommended_operation | 次に必要な操作。renew(更新)/reissue(再発行)/none(何もしない)/unknown(判定不能) |
| recommended_operation_reason | 判定根拠のコード(下表) |
| order_state | ご注文の状態。accepted(ご注文受付・認証局への申請前)/processing(申請済み・発行待ち)/issued(発行済み)/reissue_pending(再発行申請中)/expired(契約満了)/rejected(却下)/revoked(失効)/canceled(キャンセル済み)/unknown(判定不能) |
| digicert_status | DigiCert のステータス生値。未連携・未同期の場合は空文字 |
| newer_order_pending | 同一コモンネームで、このご注文より新しい発行待ちのご注文がある場合 true(GET /ssl/api/v1/expiry の同名フィールドと同じ意味です) |
| is_latest_for_cn | 同一コモンネームで最も新しいご注文(キャンセル済みを除く)であれば true。false の行は判定対象外です(recommended_operation は none。ただし judgement_unavailable の場合を除く。下記の注をご参照ください) |
| days_to_contract_expiry | 契約満了までの残日数(マイナスは満了済み)。不明な場合は null |
| days_to_cert_expiry | 証明書満了までの残日数(マイナスは満了済み)。不明な場合は null |
判定根拠(recommended_operation_reason):
| reason | operation | 意味 |
|---|---|---|
| cert_expires_before_contract | reissue | 契約期間が残っているのに証明書が先に満了する(再発行で証明書を出し直せる) |
| contract_expires_first | renew | 契約満了が証明書満了と同時か先に来る(更新のご注文が必要) |
| contract_expired | renew | 契約が満了済み(再発行はできないため更新のみ) |
| application_in_progress | none | ご注文を受け付け済み、または認証局へ申請済みで発行待ち |
| reissue_in_progress | none | 再発行を申請中 |
| superseded_by_newer_order | none | 同一コモンネームにより新しいご注文がある(判定はそちらの行をご覧ください) |
| order_canceled | none | キャンセル済みのご注文(include_deleted=true のときのみ現れます) |
| not_a_certificate_order | none | コモンネームを持たないご注文(SSL監視プランのお申し込みなど) |
| no_expiry_data | unknown | 契約満了日・証明書有効期限のどちらかが取得できない |
| order_rejected / order_revoked / order_canceled_at_ca | unknown | 認証局側で却下・失効・取消(お問い合わせください) |
| unknown_order_state | unknown | DigiCert 以外の認証局の商品、または想定外のステータス |
| judgement_unavailable | unknown | 弊社側で判定に必要な情報を集計できなかった(一時的な障害)。時間をおいて再取得してください |
※ recommended_operation_reason が judgement_unavailable の場合、is_latest_for_cn と newer_order_pending の値は信用しないでください。判定に必要な集計自体ができていないため、両方とも false(=それぞれ「最新ではない」「後続の申請はない」と読める値)が入りますが、実際にそうであるとは限りません。この場合は recommended_operation: "unknown" のみを見て、自動処理を停止してください。
自動化での使い方(例:満了 30 日前から申請する運用の場合):
GET /ssl/api/v1/orders?common_name_exact=<CN>&per_page=1
total == 0 → 新規発行(POST /orders)
orders[0].recommended_operation == "none" → 何もしない(申請中・より新しい注文あり)
orders[0].recommended_operation == "renew"
&& days_to_contract_expiry <= 30 → 更新(POST /orders, is_update=y)
orders[0].recommended_operation == "reissue"
&& days_to_cert_expiry <= 30 → 再発行(POST /orders/{id}/reissue)
orders[0].recommended_operation == "unknown" → エラーとして停止(人手で確認)
※ per_page=1 は「そのコモンネームの最も新しいご注文」を返します(注文 ID の降順のため)。更新のご注文が登録されると、通常はその新しいご注文が order_state: "accepted"(=recommended_operation: "none")として先頭に表示されます。再発行は、状態の反映後に order_state: "reissue_pending" となります。いずれも排他制御や反映遅延の影響を受けますので、下記「自動化を安全に運用するための注意」を必ずご確認ください。
※ recommended_operation は「契約と証明書のどちらが先に満了するか」だけで決まります。契約満了も近い時期(例:契約 40 日・証明書 30 日)は reissue と判定されますが、この場合は再発行しても新しい証明書の期限は契約満了日までとなります。無駄な再発行を避けたい場合は、days_to_contract_expiry が一定日数以下なら更新を優先する、といった条件を御社側で追加してください。
※ days_to_* の日付境界は 日本時間の午前 9 時です(満了日を UTC の 0:00 として解釈しているため)。日本時間の 0:00〜9:00 の間は、当日満了の契約が「残り 1 日」と表示されます。マイページの満了一覧 CSV・満了通知メールと同じ計算方法に揃えているための仕様です。満了日そのもの(digicert_order_till_gmt / digicert_cert_valid_till_gmt)は影響を受けませんので、厳密な日数が必要な場合はそちらからご計算ください。
※ 判定に使う満了日は認証局と同期したもので、通常は 1 日 1 回(深夜)更新されます。
判定は取得した時点のスナップショットです。API 側で「同じコモンネームについて二重に申請できない」ようロック(排他制御)は行っておりませんので、次の点にご留意ください。
GET /ssl/api/v1/orders?common_name_exact=<CN>&per_page=1 を取り直し、order_state が accepted / processing / reissue_pending になっていないかをご確認ください。なっていれば申請は受理済みです。issued のままなど)場合でも、「申請は失敗した」と判断して自動再送しないでください。 状態の反映が遅れているだけの可能性があります。自動処理はいったん停止し、翌日の同期をお待ちいただくか、弊社までお問い合わせください。accepted / processing が長く続く場合は警告してください。 通常は数営業日以内に issued へ進みます。目安として 7 日以上変化がない場合は、ドメイン認証(DCV)が未完了などの可能性がありますので、自動処理を止めて order.created とあわせてご確認いただくか、弊社までご連絡ください。order_state が issued のまま残ることがあります。同じコモンネームへ短時間に繰り返し再発行を実行しない運用をおすすめします(再発行申請中の重複申請は、通常は認証局側でも拒否されます)。
※ サンドボックス用 API キーでは、コモンネーム www.example.com の発行済みダミー 1 件を返します(common_name_exact も効くため、0 件=新規発行の分岐も動作確認できます)。ダミーの満了日は実行時刻を基準に「契約=約 2 年後/証明書=約 90 日後」で組み立てるため、recommended_operation は常に reissue になります。固定値ではありませんので、テストで値を突き合わせる場合はご注意ください。
※ 同一ドメインを大文字・小文字の異なる表記(例 WWW.example.jp と www.example.jp)で複数回ご注文いただいている場合、GET /ssl/api/v1/expiry 側では表記ごとに別のコモンネームとして集計されるため、newer_order_pending の値が本エンドポイントと食い違うことがあります。GET /orders 側は大文字小文字を区別せず同一ドメインとして扱います。表記を揃えてご注文いただくことを推奨します。
秘密鍵と CSR を API で生成します。
key_type と key_size は省略可能で、デフォルトは RSA 2048bit です。
curl -i -X POST "https://www.slogical.co.jp/ssl/api/v1/csrs" \
-H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"common_name": "www.example.com",
"country": "JP"
}'
curl -i -X POST "https://www.slogical.co.jp/ssl/api/v1/csrs" \
-H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"common_name": "www.example.com",
"country": "JP",
"state": "Saitama-shi",
"locality": "Saitama",
"organization": "Example Inc"
}'
既存注文(発行済)に対して、CSR を差し替えて再発行します。
CSR の Common Name は元注文と一致している必要があります(一致しない場合はエラー)。
RapidSSL・QuickSSL Premium(DV)に加え、トゥルービジネスID・デジサート Secure Site 等の OV/EV 証明書も申請できます。
ただし OV/EV 証明書の再発行は、認証局(DigiCert)側で組織の再審査が行われる場合があります。
curl -i -X POST "https://www.slogical.co.jp/ssl/api/v1/orders/12345/reissue" \
-H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"certificate": {
"csr": "-----BEGIN CERTIFICATE REQUEST-----\n...\n-----END CERTIFICATE REQUEST-----",
"dcv": "file"
}
}'
2026/02/07 リクエスト例の記載に誤りがありましたので訂正しました。
進行中の再発行をキャンセルします(状態によってはキャンセル不可の場合があります)。
curl -i -X DELETE "https://www.slogical.co.jp/ssl/api/v1/orders/12345/reissue" \ -H "Authorization: ApiKey <YOUR_SANDBOX_API_KEY>"
ご自身(認証中の API キーに紐づく会員)の 当月の API 利用状況 を取得します。
総コール数・エラー数・最終利用日時・エンドポイント別件数を返します。他のお客様のデータは含まれません。
※ 集計対象は当月(サーバーのローカル時刻基準)です。ボディは不要です。
curl -i "https://www.slogical.co.jp/ssl/api/v1/usage" \ -H "Authorization: ApiKey <YOUR_API_KEY>"
レスポンス例:
{
"status": "OK",
"is_sandbox": false,
"usage": {
"period": "2026-06",
"total_calls": 128,
"error_calls": 3,
"last_used": "2026-06-13 09:42:11",
"by_endpoint": [
{ "endpoint": "GET /orders", "calls": 80 },
{ "endpoint": "POST /orders", "calls": 30 },
{ "endpoint": "GET /certificates/{id}", "calls": 18 }
]
}
}
YYYY-MM)。endpoint は メソッド + 正規化パス(注文 ID などは {id} に置換)。※ マイページの「API(注文自動化)」画面でも、同じ当月の利用状況をご確認いただけます。
更新・再発行期日の迫っているコモンネームの一覧を取得します。
マイページからダウンロードできる CSV(renewal_cn.csv / reissue_cn.csv / cert_expiry_cn.csv)と同じ内容・同じ並び順です。
※ 同一コモンネームは最新の注文 1 件に集約されます。ボディは不要です。
curl -i "https://www.slogical.co.jp/ssl/api/v1/expiry?type=renewal" \ -H "Authorization: ApiKey <YOUR_API_KEY>"
レスポンス例:
{
"status": "OK",
"is_sandbox": false,
"expiry": {
"type": "renewal",
"total": 2,
"items": [
{
"order_id": 12345,
"created": "2025-08-01 10:23:45",
"common_name": "www.example.jp",
"status": "issued",
"newer_order_pending": false,
"digicert_order_till_gmt": "2026-08-01",
"digicert_cert_valid_till_gmt": "2026-08-01",
"days": 28
},
{
"order_id": 12388,
"created": "2025-09-10 09:00:00",
"common_name": "shop.example.jp",
"status": "issued",
"newer_order_pending": true,
"digicert_order_till_gmt": "2026-09-10",
"digicert_cert_valid_till_gmt": "2026-09-10",
"days": 68
}
]
}
}
renewal / reissue / cert)。items の件数(0 件の場合は "items": [])。issued / reissue_pending / expired)。true。CSV の「後続注文=発行待ち」に対応します。YYYY-MM-DD)。YYYY-MM-DD)。renewal は契約満了まで、reissue / cert は証明書満了までの日数です。並び順もこの残日数の昇順です。GET /orders の days_to_* と同じ計算方法です。
※ type の指定がない場合や上記 3 種以外の場合は 400 エラーになります。
※ サンドボックス用 API キーではダミーの固定値を返します。
※ こちらは「満了 90 日以内のものを一覧で取得する」エンドポイントです。特定のコモンネーム 1 件について次に必要な操作を判定したい場合は、GET /ssl/api/v1/orders?common_name_exact=<CN>&per_page=1 の recommended_operation(上記 6-5.「更新・再発行の自動判定」)をご利用ください。90 日という抽出条件に依存せず判定できます。
SSL監視プラン の監視対象FQDNごとに、最新の自動チェック結果(スコア・証明書残日数・満了日など)を取得します。 外部CN(当店ご購入以外の証明書)も含まれます。Pro プラン限定です(対象外プランは 403 を返します)。ボディは不要です。
curl -i "https://www.slogical.co.jp/ssl/api/v1/monitor" \ -H "Authorization: ApiKey <YOUR_API_KEY>"
レスポンス例:
{
"status": "OK",
"is_sandbox": false,
"monitor": {
"type": "latest",
"total": 2,
"items": [
{
"fqdn": "www.example.jp",
"source_cn": "*.example.jp",
"manual": false,
"checked_at": "2026-07-12 02:10:33",
"scored": true,
"score": "A",
"score_num": 90,
"days_left": 45,
"cert_to": "2026-08-26 23:59:59",
"cert_cn": "*.example.jp",
"issuer": "RapidSSL TLS RSA CA G1"
},
{
"fqdn": "ext.example.net",
"source_cn": "ext.example.net",
"manual": true,
"checked_at": "2026-07-12 02:11:05",
"scored": false,
"score_num": 0,
"days_left": 0,
"error": "接続できないか、証明書を取得できませんでした"
}
]
}
}
true。false の場合は error に理由が入り、score / days_left 等は無効です。
※ データはSSL監視バッチの実行時点(プランの頻度による)のものです。リアルタイムの再チェックは行いません。
※ 監視から除外・削除した対象(除外CN・削除した外部CN/監視FQDN)は応答から即時に除外されます。契約満了により監視対象から外れたものは、最後のチェックから最大45日で応答から消えます。
※ サンドボックス用 API キーではダミーの固定値を返します。
API の仕様変更・機能追加の履歴です。既存のリクエスト形式が動かなくなる変更(後方非互換な変更)は行わない方針で、レスポンスへのフィールド追加を基本としています。
※ 本履歴は 2026 年 4 月以降の主な変更を記載しています。それ以前の変更は記録しておりません。
| 日付 | 変更内容 |
|---|---|
| 2026-08-30 |
オーダー一覧取得(GET /orders)に、更新・再発行の自動判定を追加(上記 6-5.) ・クエリ common_name_exact(コモンネームの完全一致検索)を追加・レスポンスに recommended_operation / recommended_operation_reason / order_state / digicert_status / newer_order_pending / is_latest_for_cn / days_to_contract_expiry / days_to_cert_expiry を追加(既存フィールドの削除・名称変更はありません)・サンドボックス用 API キーのダミー応答を変更しました。判定フィールドをお試しいただけるよう、発行済み・満了日ありのご注文を返します( order.is_done・digicert_order_id・満了日の値が従来と変わります。満了日は実行時刻を基準にした動的な値です)。サンドボックスの応答を固定値として比較しているテストがある場合はご確認ください。
|
| 2026-08-02 | 月単位のご注文の下限を 3 ヵ月に変更(certificate.months は 3〜11。certificate.expire では 3 ヵ月より短い期間も指定できますが、価格は 3 ヵ月分が下限です) |
| 2026-07-19 | Go サンプルクライアントの ZIP 配布を開始 |
| 2026-07-12 | SSL監視の最新チェック結果取得(GET /ssl/api/v1/monitor)を追加(Pro プラン限定) |
| 2026-07-04 | 満了間近CN一覧の取得(GET /ssl/api/v1/expiry)を追加 |
| 2026-06-27 | ドメイン認証の範囲指定(certificate.dcv_scope)を追加(注文・再発行) |
| 2026-06-16 | メール送付先の追加指定を拡張(組織情報 organization.email_add1 / email_add2、請求 contact.email_invoice_add1 / email_invoice_add2) |
| 2026-06-13 | API 利用状況の取得(GET /ssl/api/v1/usage)を追加 |
| 2026-05-11 | Go サンプルクライアントを公開 |
| 2026-04-19 | 月単位のご注文(certificate.months)と満了日指定のご注文(certificate.expire)に対応 |
API の仕様に関するご質問など、お気軽に お問い合わせ ください。