公開API¶
[更新: 2018年01月23日]
「ウェブアクセラレータ」にて利用可能な公開APIについての説明ページです。
curlコマンドなどでAPIのリクエストを送ることで、使用することができます。
はじめに¶
一般注記事項¶
API URL¶
https://secure.sakura.ad.jp/cloud/zone/is1a/api/cloud/1.1/
さくらのクラウド API とは異なり、
ウェブアクセラレータのAPIでは常に is1a
(石狩第1ゾーン) を指定してください。
認証¶
ウェブアクセラレータのAPIでは さくらのクラウド API 同様APIキーとシークレットトークンを利用したBasic認証またはDigest認証を使用します。 APIキーとシークレットトークンは、コントロールパネルの APIキー管理 で発行または確認できます。
JSON¶
リクエストのパラメータとレスポンスのフォーマットにJSONを使用しています。
SSL Only¶
httpsでのアクセスのみ可能です。
UTF-8¶
文字コードはUTF-8を使用しています。
レスポンスフォーマットについて¶
さくらのクラウド 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 というリソースにアクセスした。 |
500 Internal Server Error | 内部エラーが発生した。 例:DB接続に失敗した。 |
リクエストパラメータの共通仕様¶
ウェブアクセラレータのAPIでは さくらのクラウド API のリクエストパラメータの共通仕様には対応しておりません。
サイト一覧取得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,
"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 --user "Access Token":"Access Token Secret" \
https://secure.sakura.ad.jp/cloud/zone/is1a/api/webaccel/1.0/site
証明書と秘密鍵の情報を更新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 --user "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 --user "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 |
内容 | キャッシュを削除する。 |
リクエストの例¶
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"
]
}
URLは最大100個まで指定可能
レスポンスボディ
{
"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 --user "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