私たちの見解

製品ごとの課金がAPIの使われ方について間違えていること

位置データを使うほとんどどのアプリケーションのリクエストログを開いても、1種類の検索だけが単独で実行されていることはありません。登録フォームは住所をジオコーディングし、IPを確認して大まかなネットワークの一致を調べ、レコードにタイムゾーンを記録します。そのすべてが同じ数百ミリ秒のうちに行われます。これらは、たまたま同じAPIプロバイダーを使っている3つの別々のユースケースではありません。3種類のデータに触れる1つのワークフローなのです。

製品ごとの課金は、そうではないふりをします。ジオコーディングを1つのプランで、IP検索を別のプランで価格設定し、タイムゾーンや標高のデータを個別の料金がかかるオプションの追加機能として扱います。まるで、これらのうち1つを必要とする企業が、他を必要とする可能性は低いかのようにです。実際にはその逆です。どれか1つが必要だということは、たいてい少なくとももう1つ必要だというサインです。配送先住所をジオコーディングするECのチェックアウトは、ほぼ確実に、配達時間枠をどのタイムゾーンで設定すべきかも知りたいはずです。IPアドレスを調べる不正チェックは、たいてい登録済みの住所とそれを照合したいはずです。

私たちはMy Geocodeを、1つの料金の1つの製品として価格設定しました。ジオコーディング、IP検索、タイムゾーン、標高、郵便番号のすべてのエンドポイント、そしてすべての互換ホストが、リクエストあたりまったく同じ料金です。突き合わせなければならない別の価格表はなく、ジオコーディングのプランにすでに支払った後で初めてタイムゾーンのデータが追加されるようなプランもありません。どのエンドポイントに送られても、リクエストはリクエストです。

これは顧客にとっての安心材料というだけではありません。根底にある処理が実際にどう行われるかを反映しています。ほとんどのアプリケーションが動いている規模では、あるエンドポイントへの検索が、別のエンドポイントへの検索と比べて処理コストが大きく異なるわけではありません。それらを別々の価格の別々の製品に分けることは、リクエストに答えるコストの実際の違いを反映したものではありません。プロバイダーが請求書にいくつの項目を並べられるかを反映したものです。

製品ごとの課金は、自分の利用状況を把握することも難しくします。ジオコーディングがある方法で、IP検索が別の方法で課金されるなら、来月の請求額を見積もるには、2つの料金体系に対して2つのカウンターを追跡し、呼び出しの比率が合計を予測不能に変えるほど変わらないことを祈るしかありません。均一な統一料金なら、その見積もりは1つの数字、つまり総リクエスト数に1つの価格を掛けたものに集約されます。連携の予算を立てる人なら誰でも、封筒の裏でその計算ができます。

製品ごとの価格設定には、私たちが端的に間違っていると考える、より根深い前提が埋め込まれています。種類の異なる位置データは、異なる顧客に役立つという前提です。私たちの経験では、それらは同じ顧客に、同じリクエストの異なる時点で役立っています。物流プラットフォームも、登録フローも、不正対策システムも、ジオコーディング、IP、タイムゾーンのデータをつなぎ合わせて1つの判断を下しています。これらが別々の市場であるかのように装う価格設定は、顧客に、不均等にしか使わないバンドルに払いすぎるか、それを避けるために複数のベンダーを使い分けるかを強いることになります。1つの料金、1つのエンドポイント一覧こそが、よりシンプルで誠実な答えです。