スプステージ ver2.1.4 final()


スプラトゥーンのステージ情報を返すAPI

このAPIはほぼPHPでできていますが、一部の機能でPerlを使用(他のAPIから流用)しているのでピュアではありません。

※このAPIは前作のものです。

スプラトゥーン2のステージ情報を返すピュアPHPなAPIスプステージ2はこちら

このAPIについて

https://spstage.splamp.info/result
https://spstage.splamp.info/en/ranked/next
とりあえずGETで叩く。jsonが返ってきます。

splapiが12月28日だかで終了したので、代替ツールとして公開しています。

スプラトゥーンが配信されている国々で使用されている複数の言語に対応しています。
(現在対応している言語:日本語、英語、スペイン語(スペイン・メキシコ)、フランス語(フランス・カナダ)、ドイツ語、イタリア語。今後も増やす予定)

httpsに一本化しています。httpで叩いてもhttpsで返ってきます。
Content-Typeは「application/json; charset=UTF-8」となります。

※必要なものが足りなくてアクセスできない場合、必要なものを揃えてからアクセスしてください。大体の環境では揃うと思います。

できること

https://spstage.splamp.info/ja/now
現在のステージ情報を取得

https://spstage.splamp.info/ja/all
過去に開催されたステージ情報をまとめて取得

https://spstage.splamp.info/ja/search?q=Bバス,ヤグラ
開催されたステージの検索

などなど
※ルールを指定せずに取得した場合はレギュラーとガチをごっちゃにして表示するので、これを利用して何かを作る場合はレギュラーとガチに分けて取得したほうがいいです。スプラ2ではまとめて取得した際にモードごとに分けて出力するようにします。
(この仕様についても今後の状況次第では変更する可能性はある。たとえ変更したとしてもパラメータの追加程度で、既存の実装に影響がでないようにはする)

使い方

ドメイン名のあとに各種フラグ・そしてその後に必要に応じてクエリパラメータをつけてアクセスする。
結果がjson形式で返ってきます。

フラグ

地域・言語フラグ
/ja, /jp, /en, /us, /gb, /ie, /au, /nz, /za, /es, /mx, /fr, /ca, /de, /at, /ch, /it

初期値は /ja です。
左からそれぞれ日本(日本語)、(同左)、ワールドワイド、アメリカ、イギリス、アイルランド、オーストラリア、ニュージーランド、南アフリカ(以上英語)、スペイン、メキシコ(以上スペイン語)、フランス、カナダ(以上フランス語)、ドイツ、オーストリア、スイス(以上ドイツ語)、イタリア(イタリア語)です。
※このフラグはver2.1で「言語フラグ」から「地域・言語フラグ」として機能強化しました。

※/caが英語ではなくフランス語になっているのは、北米版スプラトゥーンのフランス語(ようはカナダフランス語)に独自の用語があるためです。

モードフラグ
/any, /regular, /ranked

初期値は /any です。 /any ではレギュラーマッチとガチマッチの両方、
/regular はレギュラーマッチ、 /ranked はガチマッチの結果が返されます。
また、splapiとの互換性のため、ガチマッチのフラグには /gachi も使用できます。

回フラグ
/recent, /all, /now, /next, /afternext, /next_all

初期値は検索しない場合は /recent 検索する場合は /all です。
/recent は今回以降のステージ(ようはイカリングのデータと同じような内容)、
/all は某年某月以降のすべてのステージ、
/now /next /afternext はそれぞれ今回、次回、次々回、
そして /next_all は次回以降のステージです。

その他のフラグ
/search, /result

/search を付けると、回フラグの初期値が /all にセットされ、フラグとして認識されないものが検索語句として扱われます。
/result は特に効果はありません。は他のフラグ一切を省略する時にでも使ってください。(フラグ・パラメータなしでアクセスするとこのページが表示されます)

フラグの順番は問いません。
/ja/regular/next でも /next/regular/ja でも正常に表示できます。
されに言えば /bbass/yagura/search/hoko とかいうやつでもおkです()

オプション

?timezone=Asia/Tokyo&format=Y-m-d\TH:i:s
フラグの後に?で繋いで、 設定=値 の形で指定します。
複数のパラメータを指定する時は & で連結します。

ようはクエリの事です。

一部フラグと被るものがありますが、フラグとパラメータの両方で指定された場合、パラメータが優先されます。

lang
en, ita, スペイン語, Allemand, ...)

言語フラグと同じ機能ですが、こちらではISO 639-1/2/3・SILの各言語コード、LCID、日本語、英語、スペイン語、フランス語、ドイツ語、イタリア語のいずれかで指定できます。

region

(このオプションは今後のアップデートで追加予定。
内部のパラメータを受け取るほうはできてるけど、判定のほうがまだできてない)

timezone
UTC, Europe/Berlin, America/Chicago, Australia/Melbourne, ...)

表示する時のタイムゾーンを指定することができます。
省略した場合は、formatがあるか、地域・言語フラグが/enの場合はUTC、
それ以外の場合は指定した地域の首都の標準時になります。

format
r, U, Y-m-d\TH:i:s, Y年n月j日 G時i分, ...)

表示する時の日付時刻のフォーマットを指定することができます。
指定の仕方は PHPのdate() と同じです。
これを指定するとtimezoneの初期値が地域・言語にかかわらずUTCになります。
これは、UNIXエポックを表示する時に時間が狂うのを防ぐためです。
そのため、地域時間でフォーマットを指定して表示する場合は、必ずtimezoneの指定が必要になります。

require_id
short, official, splatnet, png, png_2x, full, full_2x, asset_path, asset_uri, statink, fetus, us_assets

ステージ名に加えてIDを表示できます。

id_style
append, array_assoc, array_rows, replace, statink

IDの表示スタイルを指定できます。

rule_id
none, short, statink, fetus

ルールのIDグループを指定できます。
初期値はrequire_idで指定したものと同じものがあればrequire_idと同じなければnoneです。

q
デカライン高架下, Bバス, Anchobit Games HQ, ホッケ,ホコ, mobile, ...)

検索語句としてステージ名、ルール名を指定できます。
部分一致なので、検索語句にはステージ名・ルール名の一部が含まれていれば検索できます。
現時点で表示に対応している言語とIDのいずれでも検索できます。
複数指定する場合は、カンマ「,」で区切ってください。
なお、ルールとステージを同時に指定した場合は、そのルールを含み、かつそのステージであるものがヒットします。

method
or, and

検索時のステージを、いずれかを含む(or)か、両方を含む(and)かを切り替えられます。
なお、ルールを複数指定した場合は、ひとつのセットに複数のルールが同時に現れることはないため、これの設定にかかわらず、いずれかのルールを含むものがヒットします。

from
2016/11/01 09:00, 1460000000, ...)

表示する開始基点日時を指定できます。

to
2015/11/01 09:00, 1450000000, ...)

表示する終了基点日時を指定できます。
このオプションは、フラグに/allもしくは/searchが指定されていない時は無視されます。

force_if_empty
false, true

検索した時に、ステージが見つからなかった場合の挙動を変更します。
falseにすると件数が0の時にエラーを、trueにすると空の結果を返します。
初期値はqを使用しない場合(/search/検索語句 の場合)はfalse、qを使用した場合(/search?q=検索語句 の場合)はtrueです。

stat_ink
on

このパラメータを指定すると、
lang=ja&timezone=Asia/Tokyo&format=Y-m-d\TH:i:s&require_id=statink&id_style=statink&rule_id=statink
がセットされ、stat.ink互換の表示になります。
…多分これで互換表示になると思います。検証はしていません()
ぶっちゃけsplapiにそういう機能があったので、これにも一応はつけた、だけのことです

offset
0, 30, ...)

オフセット。ステージ切り替えのタイミングの調整を秒単位で指定します。
例えば30に設定すると、3時のステージが、2時59分30秒以降のアクセスで表示されます。
(説明難しいから誰かもっと分かりやすくして())
定期的に取得するタイプのスクリプトで、内部時間に数秒のずれがある可能性がある場合などに特に有効と思います。

escape
false, true

force_object
false, true

pretty
false, true

これらのパラメータを指定すると、出力されるjsonの書式が変わります。
escapeはUnicode文字や、メタ文字になりうる文字をエスケープします。
force_objectを指定すると、シーケンシャル配列にもキー名が付きます。
prettyは、視覚的に分かりやすいように改行・インデントします。ソースを目視で確認する場合にご利用ください。

その他の仕様

エラー発生時

エラー発生時もサーバーが生きている限りは極力jsonで返すようにしています。

https://splapi.splamp.info/regular, https://splapi.splamp.info/gachi/now

サブドメイン splapi. へアクセスした場合は、よりsplapiと互換性の高い結果になります。

更新履歴

2016/12/04 1.0 公開(内部キャッシュは整形済みjson)
2016/12/16 1.0.1 安定化、英語に対応
2016/12/17 1.1 ヘッダーに言語コードを付けるように変更
2016/12/22 1.2 スペイン語・フランス語・ドイツ語・イタリア語に対応、stat.ink互換モード追加
2016/12/27 1.2.1 splapi互換表示の互換性向上
2017/01/08 2.0 検索対応。内部仕様の大幅な変更(内部キャッシュをDBに変更)
2017/01/08 2.0.1 オプションが正常に動作しないバグを修正
2017/01/09 2.0.2 検索キーワードにステージやルールとして存在しないものを入力すると検索されずに全件表示されるバグを修正、検索時に全角・半角どちらでも検索できるように変更
2017/01/21 2.0.3 /searchフラグがあり、かつ検索キーワードが空の場合の挙動を変更
2017/01/22 2.0.4 and検索でステージを3つ以上指定した時の挙動を変更
2017/01/24 2.1 言語フラグを地域・言語フラグに変更。「offset」及びjson出力に関するオプションを追加
2017/02/22 2.1.1 カナダフランス語を表示しようとすると英語になるバグを修正
2017/07/09 2.1.2 今更ですがイカリングから情報を取得する部分の仕様を変更。使い方には変更はありません
2017/10/09 2.1.3 final イカリングサービス終了に伴い新規取得がなくなったため、回フラグを廃止。現在は回フラグに関わらず、時間指定がない限りは記録されているすべてのステージが返されます。
2017/10/10 2.1.4 final() 後方互換性を考慮し、/nowや/nextなどが指定された場合は404を返すように変更

お問い合わせはTwitterにて

分からないこと等があればお気軽にお問い合わせ下さい。

広報妖怪 @kouhouyoukai ナモすけ @dnm_b

誰か翻訳してくれたらここに翻訳者の名前も載せたいななんて

このサイトはSplatoonのファンサイトで、任天堂株式会社とは一切関係ありません
このページの最終更新日: 2019/02/21 23:33 ©SPLAMP