Stripeの決済サービスの成長は、APIが使いやすいというエンジニアの間での評判がかなり寄与したと記憶しています。Fengが紹介してくれています。ユーザが利用するバージョン情報の把握ユーザ企業が最初にAPIコールをしたときのバージョン情報をStripe側で記録している。ユーザ企業はバージョンのことを意識することなく、それ以降は、最初のバージョンのAPIを継続して利用し続けるかたちになる。ユーザ企業側でバージョンの変更をしたい場合は、ダッシュボードでの設定や、リクエストヘッダーに情報を付加することで可能。バージョンと機能の整合性YAMLファイルでバージョンとその振舞いの情報を管理しているが、そこで指定したゲートと呼ばれるデータベースフラグを利用することで、既存のAPIにおいて後から変更された仕様を適用できる仕組みにしている。(ブログに参考コードが記載されてます。)ユーザ企業が、追加された新たなAPIをコールする場合は、強制的に最新のバージョンを利用することになる。互換性のフィルターをAPIロジックの前後に配置している。リクエスト互換性のフィルターが、ゲートで追加された新しい仕様のパラメータに合致しているかチェックしたり、新しい仕様に合ったパラメータに転換したりしている。APIロジックを経由してレスポンスが用意作成されると、最後にレスポンス互換性のフィルターが適用され、ユーザの該当するバージョンの最新のかたちにレスポンスを変換している。ドキュメントの自動化ドキュメントの更新漏れがないように、コードの中で変更忘れのまず起きない箇所の情報(コード例)から、ドキュメントを自動生成している。#apiワザノバTop200アクセスランキングBack。