Cinderella API v2 リリース

2020-09-08

Cinderella API v2 (APIv2) をこの度リリースしました。これまで提供してきた、Cinderella API v1 (APIv1) の後継となります。

APIv2 の狙い

Cinderella API は地味な機能ですが、いまでは複数の Web サイト(道場リストなど)や、複数の Discord bot などで利用して頂いています。

デレマスボーダーbotのデータは、なるべく多くのプロデューサーの方々に、多様な形で利用していただきたいと思っています。その中にあって、 API も、Web ポータルと同等に重要な機能として取り扱っています。

この度、APIv1 の利用状況を踏まえつつ、APIv1 では不十分・不親切だった点を改善してより利用しやすい形に設計し直したものが APIv2 です。

APIv2 の新機能

  • フリートレード履歴を取得できるようになりました。リアルタイムに準じたフリートレード履歴を提供します。期待される更新までのdelayはおよそ2分程度です。
  • ダブル特技の深化を踏まえ、カード API ではメイン特技・ダブル特技の詳細な効果を出力するようになりました。編成の組み合わせ検討などに利用することができます。

プロデューサー・プロダクションごとの時速も出力する計画はありますが、時速出力は場合によっては将来的になくなる可能性があるため、いまのところは実装していません。

APIv1 から改善された点

  • APIv1 では、検索パラメータの不足や誤りがある際に、400 Bad Request が返却されたり 404 NotFound が返却されたりと一貫性がなく、かつ NG である理由がわかりませんでした。
    → APIv2 では、パラメータ問題発生時のステータスコードは 400 に統一されるとともに、メッセージでNG事由が返却されるようになりました。
  • 利用状況を踏まえ、頻繁にアクセスされるAPIは積極的にキャッシュするようになりました。道場 API 、カード API などの利用率の高い API は、 APIv1 よりも高速に提供されます。
  • Key 名称が可変値になっている Hashmap(IDictionary) 形式の object は非常に扱いづらかったため、これらは全廃しました。これにより、 jq コマンド等での利便性が向上しました。(実はこれは製造時の誤りだったので、できればさっさと直したかったのですが、あまりにも破壊的な変更となるため運用後にはもう変えられませんでした)

APIv1 の取り扱いについて

  • deprecated (非推奨) になりました。
  • 引き続き利用することはできます。すぐに APIv1 が使えなくなるわけではありません。
  • 原則として、 APIv1 は今後は改善しません。不良があった場合でも対応するかはわかりません。将来的な他機能変更などに巻き込まれて利用不可能になった場合、対応するかどうかはわかりません。
    (APIv2 と APIv1 の両方をメンテナンスするのは大変なので…)
  • APIv1 を利用したアプリを作成・運用されている方々におかれましては、可能であれば、 APIv2 への切り替えをお願いできればと思います。出力内容は類似していますので、ほとんどの場合、大きな修正にはならないと想定しています。

利用にあたってのご意見、こういう API があったら便利なのに…というご要望などがありましたら、 Twitter: @imcgborder までお寄せください。

デレマスボーダーbotの機能追加・拡張は、(現時点においては)これが最後の予定です。しばらくは既存機能の改善と保守に努める予定です。