ウェブアクセラレータ 公開API¶
[更新: 2024年12月19日]
「ウェブアクセラレータ」で利用可能なAPIについての説明です。curlコマンドなどでAPIのリクエストを送ることで使用することができます。
注釈
ご利用にはAPIキーが必要です。 APIキーの発行は APIキーの新規作成・編集 をご確認ください。
全般的な仕様¶
API URL¶
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/
さくらのクラウドAPI とは異なり、
ウェブアクセラレータのAPIでは常に is1a
(石狩第1ゾーン) を指定してください。
認証¶
さくらのクラウドAPI と同様、APIキーとシークレットトークンを利用した Basic認証
または Digest認証
を使用します。APIキーとシークレットトークンは、コントロールパネルの APIキー管理 で確認できます。
レスポンスフォーマット¶
さくらのクラウド API とは異なり、X-Sakura-API-Beautifyリクエストヘッダによるレスポンスの整形には対応しておりません。
APIレスポンス¶
APIは以下に列挙されるHTTPレスポンスコードを返します。各APIでの具体的な意味合いはそれぞれの説明文中に記載しています。
ステータスコード | 内容 |
---|---|
200 OK | 正常に処理され、何らかのレスポンスが返却された。 |
400 Bad Request | リクエストパラメータが不正等。 |
401 Unauthorized | 認証に失敗した。 |
403 Forbidden | リソースへのアクセス権限がない。 例:他の会員のサイトにアクセスしようとした。 |
404 Not Found | リソースが存在しない。 例:000000000001 というサイトは存在しないのに /site/000000000001/certificate というリソースにアクセスした。 |
429 Too Many Requests | 1アカウントでのリクエスト数が制限値に到達した。 |
500 Internal Server Error | 内部エラーが発生した。 例:DB接続に失敗した。 |
503 Service Unavailable | 機能が停止している。 例:メンテナンスによる機能停止。 例:過負荷状態により一時的に機能停止している。 |
リクエストパラメータの共通仕様¶
ウェブアクセラレータのAPIでは さくらのクラウド API のリクエストパラメータの共通仕様には対応しておりません。
月別使用量取得API¶
URL | /monthlyusage?target=:target |
---|---|
Method | GET |
内容 | クラウドアカウントに登録されている全サイトの月別使用量を取得する。 targetフィールドの値は「yyyymm」形式で対象年月を指定する。 (例: 2021年02月の場合は、「202102」と指定。) 指定がない場合は、今月の月別使用量を取得する。 |
注意
対象年月は直近10年間以内の範囲で指定可能です。それ以前(10年以上前)の年月を指定した場合、情報を取得することはできませんのでご注意ください。
リクエストの例¶
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/monthlyusage?target=202102 HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Year": 2021,
"Month": 2,
"MonthlyUsages": [
{
"SiteID": "000000000001",
"Domain": "cdn1.example.com",
"ASCIIDomain": "cdn1.example.com",
"Subdomain": "0f5cty4g.user.webaccel.jp",
"AccessCount": 2070702,
"BytesSent": 18524070906,
"CacheMissBytesSent": 926203545,
"CacheHitRatio": 85.138888888889,
"BytesCacheHitRatio": 89.134258088490,
"Price": 85
},
{
"SiteID": "000000000002",
"Domain": "さくら.example.jp",
"ASCIIDomain": "xn--y8jl1n.example.jp",
"Subdomain": "0uwjbk35.user.webaccel.jp",
"AccessCount": 144,
"BytesSent": 77784,
"CacheMissBytesSent": 5724,
"CacheHitRatio": 89.138888888889,
"BytesCacheHitRatio": 92.641160135760,
"Price": 0
},
],
"Success": true,
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/monthlyusage
サイト一覧取得API¶
URL | /site |
---|---|
Method | GET |
内容 | サイト一覧を取得する。 |
リクエストの例¶
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Total": 2,
"From": 0,
"Count": 2,
"CountLimit": 20,
"Sites": [
{
"Index": 0,
"ID": "000000000001",
"Name": "サイト1",
"DomainType": "own_domain",
"Domain": "cdn1.example.com",
"Subdomain": "0f5cty4g.user.webaccel.jp",
"ASCIIDomain": "cdn1.example.com",
"Origin": "198.51.100.1",
"HostHeader": "cdn2.example.com",
"Status": "enabled",
"CreatedAt": "2015-11-13T02:56:01+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 80,
"CertValidNotBefore": 1457568000000, // 2016-03-10 00:00:00 +0000 UTC の通算ミリ秒
"CertValidNotAfter": 1526558400000 // 2018-05-17 12:00:00 +0000 UTC の通算ミリ秒
},
{
"Index": 1,
"ID": "000000000002",
"Name": "サイト2",
"DomainType": "subdomain",
"Domain": "さくら.example.jp",
"Subdomain": "0uwjbk35.user.webaccel.jp",
"ASCIIDomain": "xn--y8jl1n.example.jp",
"Origin": "198.51.100.2",
"HostHeader": "cdn2.example.com",
"Status": "disabled",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 180,
"CertValidNotBefore": 1457568000000, // 2016-03-10 00:00:00 +0000 UTC の通算ミリ秒
"CertValidNotAfter": 1526558400000 // 2018-05-17 12:00:00 +0000 UTC の通算ミリ秒
}
],
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site
サイト詳細取得API¶
URL | /site/:siteid |
---|---|
Method | GET |
内容 | サイトの詳細を取得する。 |
リクエストの例¶
例は種別:オブジェクトストレージの場合です。
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1",
"CertOpStatus": "0"
},
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001
サイト設定変更API¶
URL | /site/:siteid |
---|---|
Method | PUT |
内容 | サイトの設定変更をする。 |
設定項目¶
リクエストボディにて設定変更を行う設定項目とその値を指定します。(設定はリクエスト例を参照)
「オリジン種別」に関係なく設定できる共通項目
キー名 | 説明 |
---|---|
Name | コントロールパネル「サイト名」に相当する設定項目。 |
RequestProtocol | コントロールパネル「リクエストプロトコル」に相当する設定項目。 「0」「1」「2」のいずれかの数値を設定します。 0 … http/https , 1 … httpsのみ , 2 … httpsにリダイレクト |
OriginType | コントロールパネル「オリジン種別」に相当する設定項目。 「0」「1」のいずれかの数値を設定します。 0 … ウェブサーバ , 1 … オブジェクトストレージ |
OriginProtocol | コントロールパネル「オリジンプロトコル」に相当する設定項目。 「http」「https」のいずれかの文字列を設定します。 ※「オリジン種別」が「オブジェクトストレージ」の場合は「https」を指定する必要があります。 |
DefaultCacheTTL | コントロールパネル「デフォルトのキャッシュ期間」に相当する設定項目。 「-1」または「0 ~ 604800 の範囲内」のいずれかの数値を設定します。 -1 … 無効 , 0 ~ 604800 の範囲内の数値 … デフォルトのキャッシュ期間(秒) ※「オリジン種別」が「オブジェクトストレージ」の場合は「500 ~ 604800」の範囲内の数値を指定する必要があります。 |
VarySupport | コントロールパネル「Varyサポート」に相当する設定項目。 「0」「1」のいずれかの数値を設定します。 0 … 無効 , 1 … 有効 |
NormalizeAE | コントロールパネル「Accept-Encoding正規化」に相当する設定項目。 「1」「3」のいずれかの数値を設定します。 1 … gzipに正規化 , 3 … brとgzipの組に正規化 |
CORSRules | コントロールパネル「CORS設定」に相当する設定項目。 AllowsAnyOrigin(全オリジン許可)または AllowedOrigins(許可オリジン)の項目を設定します。(設定例参照) |
OnetimeURLSecrets | コントロールパネル「サイト全体ワンタイムURL設定」に相当する設定項目。 シークレット(任意の文字列)を設定します。 |
CORSRulesの設定例
[] ... CORS設定無効
[{AllowsAnyOrigin:true}]
... CORS設定有効で、全オリジン許可有効
[{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}]
... CORS設定有効で、許可オリジンに「https://objstore-cors2.example.com」「https://日本語.example.com」を設定
※ オリジン種別ごとの「必須」項目はコントロールパネル相当となります。オリジン種別を変更する際には、必ず指定する必要があります。
「オリジン種別」が「ウェブサーバ」の場合に設定可能な項目
キー名 | 説明 |
---|---|
Origin | コントロールパネル「オリジンサーバ」に相当する設定項目。 |
HostHeader | コントロールパネル「ホストヘッダ」に相当する設定項目。 |
「オリジン種別」が「オブジェクトストレージ」の場合に設定可能な項目
キー名 | 説明 |
---|---|
BucketName | コントロールパネル「バケット名」に相当する設定項目。 |
S3Endpoint | コントロールパネル「S3エンドポイント」に相当する設定項目。 |
S3Region | コントロールパネル「S3リージョン」に相当する設定項目。 |
AccessKeyID | コントロールパネル「アクセスキーID」に相当する設定項目。 |
SecretAccessKey | コントロールパネル「シークレットアクセスキー」に相当する設定項目。 |
DocIndex | コントロールパネル「ドキュメントインデクス」に相当する設定項目。 「0」「1」のいずれかの数値を設定します。 0 … 無効 , 1 … 有効 |
リクエストの例1¶
全てのサイトからのクロスオリジンアクセスを許可する。
※ 例としてCORS設定を記載しています。
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
{"Site":{"CORSRules":[{AllowsAnyOrigin:true}]}}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [{AllowsAnyOrigin:true}],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1",
"CertOpStatus": "0"
},
"is_ok": true
}
curl(Linux)の例¶
(jqコマンドでレスポンスのうち Site の CORSRules の値だけを表示)
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Site":{"CORSRules":[{AllowsAnyOrigin:true}]}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 | jq -c .Site.CORSRules
リクエストの例2¶
個別のサイトからのクロスオリジンアクセスを許可する。
※ 例としてCORS設定を記載しています。
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
{"Site":{"CORSRules":[{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}]}}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1",
"CertOpStatus": "0"
},
"is_ok": true
}
curl(Linux)の例¶
(jqコマンドでレスポンスのうち Site の CORSRules の値だけを表示)
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Site":{"CORSRules":[{AllowedOrigins:["https://objstore-cors2.example.com","https://日本語.example.com"]}]}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 | jq -c .Site.CORSRules
リクエストの例3¶
全てのサイトからのクロスオリジンアクセスを拒否する。
※ 例としてCORS設定を記載しています。
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 HTTP/1.1
リクエストボディ
{"Site":{"CORSRules":[]}}
レスポンスボディ
{
"Site":
{
"ID": "000000000001",
"Name": "テストサイト1",
"Domain": "objstore-cors1.example.com",
"DomainType": "own_domain",
"Subdomain": "xxxxxxxx.user.webaccel.jp",
"ASCIIDomain": "objstore-cors1.example.com",
"OriginProtocol": "https",
"RequestProtocol": "0",
"OriginType": "1",
"Origin": "",
"HostHeader": "",
"BucketName": "webaccel-cors-test",
"S3Endpoint": "s3.isk01.sakurastorage.jp",
"S3Region": "jp-north-1",
"DocIndex": "1",
"VarySupport": "0",
"NormalizeAE": "1",
"CORSRules": [],
"Status": "enabled",
"OriginGuardToken": "",
"NextOriginGuardToken": "",
"DefaultCacheTTL": 300,
"CreatedAt": "2021-08-26T15:36:08+09:00",
"HasCertificate": true,
"HasOldCertificate": false,
"GibSentInLastWeek": 0,
"CertValidNotBefore": "1629956625000", // 2021-08-26 14:43:45 +0000 UTC の通算ミリ秒
"CertValidNotAfter": "1637732624000", // 2021-11-24 14:43:44 +0000 UTC の通算ミリ秒
"CertType": "1",
"CertOpStatus": "0"
},
"is_ok": true
}
curl(Linux)の例¶
(jqコマンドでレスポンスのうち Site の CORSRules の値だけを表示)
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Site":{"CORSRules":[]}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001 | jq -c .Site.CORSRules
アクセス制御リスト(ACL)取得API¶
URL | /site/:siteid/acl |
---|---|
Method | GET |
内容 | アクセス制御リスト(ACL)の設定情報を取得する。 |
リクエストの例¶
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all",
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl
アクセス制御リスト(ACL)作成・更新API¶
URL | /site/:siteid/acl |
---|---|
Method | PUT |
内容 | アクセス制御リスト(ACL)の設定情報を作成・更新する。 |
キー名 | 説明 |
---|---|
ACL | アクセス制御リスト(ACL)の設定値(※) |
※ 設定可能な値については、 アクセス制御リスト(ACL)機能の利用 より記述方法をご確認ください。
リクエストの例¶
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl HTTP/1.1
リクエストボディ
{
"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all"
}
レスポンスボディ
{
"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all",
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"ACL": "deny 192.0.2.5/25\ndeny 198.51.100.0\nallow all"}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl
アクセス制御リスト(ACL)削除API¶
URL | /site/:siteid/acl |
---|---|
Method | DELETE |
内容 | アクセス制御リスト(ACL)の設定情報を削除する。 |
リクエストの例¶
PUT DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/acl
アクセスログアップロード設定取得API¶
URL | /site/:siteid/log-upload-config |
---|---|
Method | GET |
内容 | アクセスログアップロードの設定情報を取得する。 |
リクエストの例¶
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"SiteLogUploadConfig":
{
"Bucket":"example-log",
"Endpoint":"https:\/\/s3.isk01.sakurastorage.jp",
"Region":"jp-north-1",
"AccessKeyID":"アクセスキーID",
"SecretAccessKey":"シ-クレットキー",
"Status":"enabled"
},
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config
アクセスログアップロード設定作成・更新API¶
URL | /site/:siteid/log-upload-config |
---|---|
Method | PUT |
内容 | アクセスログアップロードの設定情報を作成・更新する。 |
設定項目
キー名 | 説明 |
---|---|
Bucket | コントロールパネル「バケット名」に相当する設定項目。 |
Endpoint | コントロールパネル「S3エンドポイント」に相当する設定項目。 https://s3.isk01.sakurastorage.jp のみ設定可能。 |
Regeion | コントロールパネル「S3リージョン」に相当する設定項目。 「jp-north-1」のみ設定可能。 |
AccessKeyID | コントロールパネル「アクセスキーID」に相当する設定項目。 |
SecretAccessKey | コントロールパネル「シークレットアクセスキー」に相当する設定項目。 |
Status | コントロールパネル「アクセスログアップロード設定」に相当する設定項目。 「enabled」「disabled」のいずれかの文字列を設定します。 「enabled」は有効、「disabled」は無効。 |
リクエストの例¶
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config HTTP/1.1
リクエストボディ
{
"SiteLogUploadConfig":
{
"Bucket":"example-log",
"Endpoint":"https:\/\/s3.isk01.sakurastorage.jp",
"Region":"jp-north-1",
"AccessKeyID":"アクセスキーID",
"SecretAccessKey":"シークレットアクセスキー",
"Status":"enabled"
}
}
レスポンスボディ
{
"SiteLogUploadConfig":
{
"Bucket":"example-log",
"Endpoint":"https:\/\/s3.isk01.sakurastorage.jp",
"Region":"jp-north-1",
"AccessKeyID":"アクセスキーID",
"SecretAccessKey":"シークレットアクセスキー",
"Status":"enabled"
},
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"SiteLogUploadConfig": {"Bucket":"example-log","Endpoint":"https://s3.isk01.sakurastorage.jp","Region":"jp-north-1","AccessKeyID":"アクセスキーID","SecretAccessKey":"シークレットアクセスキー","Status":"enabled"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config
アクセスログアップロード設定削除API¶
URL | /site/:siteid/log-upload-config |
---|---|
Method | DELETE |
内容 | アクセスログアップロードの設定情報を削除する。 |
リクエストの例¶
DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X DELETE https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/log-upload-config
証明書の情報を取得API¶
URL | /site/:siteid/certificate?type=:type |
---|---|
Method | GET |
内容 | typeフィールドの値は 「current」, 「old」のいずれかです。 指定が無い場合は両方を取得します。 |
リクエストの例¶
GET https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate HTTP/1.1
リクエストボディ
なし
レスポンスボディ
{
"Certificate":
{
"Current":
{
"ID": "1",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"SerialNumber": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"NotBefore": "1532736000000", // 2018-07-28 00:00:00 +0000 UTC の通算ミリ秒
"NotAfter": "1579089600000", // 2020-01-15 12:00:00 +0000 UTC の通算ミリ秒
"Issuer":
{
"Country": "JP",
"Organization": "Example",
"OrganizationalUnit": "www.example.jp",
"CommonName": "Example SHA2 Extended Validation Server CA"
},
"Subject":
{
"Country": "JP",
"Organization": "SAKURA Internet Inc.",
"OrganizationalUnit": "",
"Locality": "Osaka",
"Province": "Osaka-City",
"StreetAddress": "",
"PostalCode": "",
"SerialNumber": "1234567",
"CommonName": "www.sakura.ad.jp"
},
"DNSNames": [
"sakura.ad.jp",
"www.sakura.ad.jp"
],
"SHA256Fingerprint": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"CreatedAt": "2016-11-22T11:37:39+09:00",
"UpdatedAt": "2018-07-28T16:01:42+09:00"
},
"Old": [
{
"ID": "2",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"SerialNumber": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"NotBefore": "1479254400000", // 2016-11-16 00:00:00 +0000 UTC の通算ミリ秒
"NotAfter": "1579132799000", // 2020-01-15 23:59:59 +0000 UTC の通算ミリ秒
"Issuer":
{
"Country": "JP",
"Organization": "Example",
"OrganizationalUnit": "www.example.jp",
"CommonName": "Example SHA2 Extended Validation Server CA"
},
"Subject":
{
"Country": "JP",
"Organization": "SAKURA Internet Inc.",
"OrganizationalUnit": "",
"Locality": "Osaka",
"Province": "Osaka-City",
"StreetAddress": "",
"PostalCode": "",
"SerialNumber": "1234567",
"CommonName": "www.sakura.ad.jp"
},
"DNSNames": [
"sakura.ad.jp",
"www.sakura.ad.jp"
],
"SHA256Fingerprint": "00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF:00:FF",
"CreatedAt": "2018-07-28T16:01:42+09:00",
"UpdatedAt": "2018-07-28T16:01:42+09:00"
}
]
},
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate
証明書と秘密鍵の情報を作成API¶
URL | /site/:siteid/certificate |
---|---|
Method | POST |
内容 | 現世代の証明書と秘密鍵の情報を追加する。 前世代には更新前の現世代の証明書と秘密鍵の情報が設定される。 |
リクエストの例¶
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate HTTP/1.1
リクエストボディ
{
"Certificate":
{
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"Key": "-----BEGIN RSA PRIVATE KEY-----・・・・・"
}
}
レスポンスボディ
{
"Certificate":
{
"Current":
{
"ID": "1",
"ResourceID":"28",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"UpdatedAt": "2015-11-14T02:57:01+09:00"
}
}
"Success": true,
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"Certificate": {"Certificate": "-----BEGIN CERTIFICATE-----・・・・・","Key":"-----BEGIN RSA PRIVATE KEY-----・・・・・"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate
証明書と秘密鍵の情報を更新API¶
URL | /site/:siteid/certificate |
---|---|
Method | PUT |
内容 | 現世代の証明書と秘密鍵の情報を更新する。 前世代には更新前の現世代の証明書と秘密鍵の情報が設定される。 |
リクエストの例¶
PUT https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate HTTP/1.1
リクエストボディ
{
"Certificate":
{
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"Key": "-----BEGIN RSA PRIVATE KEY-----・・・・・"
}
}
秘密鍵を変更しない場合は "Key" の項目は省略可能です
レスポンスボディ
{
"Certificate":
"Current": {
"ID": "1",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"Key": "-----BEGIN RSA PRIVATE KEY-----・・・・・",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"UpdatedAt": "2015-11-14T02:57:01+09:00"
},
"Old": [
{
"ID": "1",
"SiteID": "000000000001",
"CertificateChain": "-----BEGIN CERTIFICATE-----・・・・・",
"CreatedAt": "2015-11-13T02:57:01+09:00",
"UpdatedAt": "2015-11-14T02:57:01+09:00"
}
]
}
"Success": true,
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X PUT -d '{"Certificate": {"Certificate": "-----BEGIN CERTIFICATE-----・・・・・"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site/000000000001/certificate
キャッシュ全件削除API¶
URL | /deleteallcache |
---|---|
Method | POST |
内容 | 1つのサイト内の全てのキャッシュを削除する。 |
リクエストの例¶
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deleteallcache HTTP/1.1
リクエストボディ
{
"Site":
{
"Domain": "example.com"
}
}
ドメインには公開ドメイン名を指定
レスポンスボディ
{
"Success": true,
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"Site": {"Domain": "example.com"}}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deleteallcache
キャッシュ別削除API¶
URL | /deletecache |
---|---|
Method | POST |
内容 | URL毎(個別)にキャッシュを削除する。 |
注意
- 一度に削除指定可能なURL数は100件までとなります。100件以上指定した場合は、100件を超過した指定分が無効となります。
- キャッシュ別削除が可能なURL数の目安は1時間500個までとなります。URLを500個以上削除する場合は時間を空けて削除を行って下さい。
- 個別キャッシュ削除はVaryサポート機能利用時もURL単位(?クエリストリング込み)となります。
リクエストの例¶
POST https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deletecache HTTP/1.1
リクエストボディ
{
"URL": [
"http://example.com/url1",
"http://example.com/url2",
"http://example.com/url3",
"http://example.com/url4"
]
}
レスポンスボディ
{
"Results": [
{ "URL": "http://example.com/url1", "Status": 200, "Result": "OK" },
{ "URL": "http://example.com/url2", "Status": 404, "Result": "Not Found" },
{ "URL": "http://example.com/url3", "Status": 403, "Result": "Forbidden" },
{ "URL": "http://example.com/url4", "Status": 500, "Result": "Internal Server Error" }
],
"Success": true,
"is_ok": true
}
curl(Linux)の例¶
$ curl -sS -u "Access Token":"Access Token Secret" \
-X POST -d '{"URL": ["http://www.example.com/wp-content/uploads/2016/7/example.jpg"]}' \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/deletecache