APIv2ベータリリースによせて

MF KESSAI(以下MFK)でAPI開発を担当している@usumachiです。

MFKでは予てよりAPIを提供してきましたが、需要の変化やサービスの変化に合わせてVersion2(以下v2)の開発を進めています。 今回はv2のベータリリースにあたって僕のAPIv2への考えをお伝えしたいと思います。

Version2のドキュメントはこちらです。
MF KESSAI API v2

文化圏を形成したい

まず企画段階でどんなAPIを作りたいかを考えました。 すごく抽象的なところで自分たちの作るAPIがどのように成長していきたいのか、サービス自体をどんな形で利用してもらいたいのかをぼんやりとですが考えてみました。

「自分たちのサービスが世界の中で1つの文化圏を形成したら面白い」

例えば、MFKのAPIを利用したサービスを開発したエンジニアが、履歴書に書いて胸を張ることができる。

例えば、MFKのAPIを決済基盤として利用した未だ見ぬ新しいサービスが生まれる。

世界史を眺めたときに、砂漠地帯の大河に沿って文明が起きていることは多いです。
需要があるから人々が集まり、人々が集まるから文化が生まれる。
この構図はMFKが挑んでいる領域と非常によく似ています。

請求業務の負荷という砂漠をさまようユーザー様の大河となり、その周りに文化圏が形成される未来を見てみたい。 そう思いました。

大河とはなんなのか

次により具体的にどんなAPIなら大河になりうるのかを考えました。 APIプロジェクトのリポジトリのREADME冒頭にはこう書かれています。

  • Easy to understand
  • Easy to use
  • Safe and secure

「わかりやすく、使いやすく、安心・安全」

現在あたりまえと日々感じていることの殆どがこれを満たしていると思います。

蛇口をひねれば水がでる。

スイッチを押せば電気がつく。

複雑であろう詳細は隠蔽され「わかりやすく、使いやすく、安心・安全」なものとしてインタフェースを提供しています。 APIv2はそういうものでなければならないと考えています。

インターフェース設計にRESTful,OpenAPISpecificationを導入したのも標準仕様の理解しやすさや柔軟性を重視した上での選択でした。 このシンプルさやわかりやすさは人的ミスや誤解を減らし、安心・安全にもつながります。

また、これらはE2Eテストやユニットテストを容易にします。E2Eテストやユニットテストを積み重ねて安全性へアプローチしています。

大河へ向かう道

APIのインタフェースと同時にドキュメントも大切にしています。 わかりやすく、使いやすくの大部分の役割を担います。

開発時に欲しい情報がすぐに手に入るように情報を整理していきたいと思っています。 まだまだ、道半ばで改善点はたくさんありますが、かゆいところに手が届くように今後も改善を重ねていきます。

開発をストレスフリーで進められることが理想です。

開発を楽しむ

APIを利用して開発する側に立って考えるというのはもちろんですが、その一方で僕らもある種のユーザーであるという気持ちを大切にしています。

さらに、同時に僕らもこのAPIの開発を通じて何かを体現し成長していくんだという気持ちです。 作りたいものを作るということは、独りよがりに誰も使えないものを作ることとは違います。

僕らが作りたいと思っているものは求められ、利用してもらえるものです。 そして同時に開発を楽しみ、情熱を注げるものでなければいけません。 これらは矛盾しないと考えています。むしろ同じことなのかもしれません。

作り手とユーザーの双方が開発を好きになれるAPIを目指しています。

おわりに

お気づきの点があればなんでも構いません、ドキュメントならびにAPIについてご意見いただけますと幸いです。 また、誇れるプロダクト作りに興味のある方はぜひMF KESSAIへ遊びにいらしてください。

ご連絡はこちらからお願いします。