インターネットの利用が一般的になり、多くの人がパソコンやスマートフォンからインターネットを通して情報を得たり物を買ったりするようになりました。その中で私たちが自然と利用しているのが、APIという技術です。
APIは、インターネットショッピングの決済や地図上での店舗検索など、日常的に多くの人が利用するサービスにおいて重要な役割を担っています。

では、このAPIとはどのようなものなのでしょうか。具体的にはどんな場面で使われているのでしょうか。

今回は、APIと概要とともに、混同されやすいエンドポイントとエントリーポイントの違い、URI設計のポイントなど、APIについて詳しく解説します。

APIとは

まずは、APIとはどのようなものなのかご説明します。

APIとは

アプリケーション(ソフトウェア)同士を繋ぐインターフェイスのこと。
Application Programming Interfaceの略。
※インターフェイス:モノとモノの接点。モノとモノを繋ぐもの。

ソフトウェアと別のソフトウェアを繋ぎ、その機能を共有できるようにする技術をAPIと呼びます
APIというインターフェイスが窓口となり、外部のソフトウェアとの繋がることで、機能を拡張することができるのですね。

「APIを公開する」という言葉がよく使われますが、これはWeb上でソフトウェアの窓口であるAPIを公開することにより、誰もがそれを利用してそのソフトウェアの機能を自身のソフトウェア内で使えるようにすることを指します。
例えば、GoogleマップのAPIを利用すれば自身の情報サイトのGoogleマップを埋め込むことができますし、ネットショッピングの決済時に決済サービスであるPayPalの APIを利用して決済を行うことも可能です。
このように、普段私たちが使っているサービスにもAPIは活用されているのです。

APIのメリット

API活用における大きなメリットは、次の2つです。

・効率的なソフトウェア開発
・セキュリティ向上

APIを活用することによって、ユーザーはその機能を自身のソフトウェアに簡単に組み込むことができます。これにより、ソフトウェア開発の手間やコストが削減され、開発の効率化が叶います。
また、セキュリティレベルの高いAPIの活用は、自身のソフトウェアにおけるセキュリティ確保にも繋がります。
多様な機能とセキュリティ確保により、ソフトウェアを利用する顧客の満足度向上も期待できるでしょう。

ただし、API提供先の状況に自身のサービスが影響を受ける点は、APIのデメリットだと言えます。例えば、連携しているAPI提供先のサービスが止まれば、自身のサービスも一部使えなくなることになります。

APIエンドポイントとは

APIに関しては、エンドポイントというワードがよく用いられます。
このエンドポイントとは、連携したいAPIにアクセスするための接続先のこと。この接続先は、URI(URL)と呼ばれます。

URIとは

リソースを識別するための文字列。Web上の住所を表すURLとWeb上の名前を表すURNの総称。
Uniform Resource Locatorの略。

URIについては、私たちが普段利用しているURLをイメージすると良いでしょう。
つまり、URIで表されるエンドポイントにアクセスすることで、ユーザーは対象のAPIを呼び出し、自身のソフトウェアと相手のソフトウェアを連携させることができるのです。

APIエンドポイントとエントリーポイントの違い

APIエンドポイントと混同されやすいものに、エントリーポイントという言葉があります。これらの違いは何なのでしょうか。

結論から言うと、エンドポイントとエントリーポイントは同じポイントを指す言葉です。しかし、それぞれの視点が異なります
先ほどご紹介したように、エンドポイントはユーザーが公開されているAPIにアクセスする際の接続先であり、視点はユーザーとなります。
一方のエントリーポイントは、API公開側がユーザーにAPIを利用してもらうための接続先のことであり、視点はAPI公開側となります。

これらは、どちらも同じ接続先(URI)を指しますが、ユーザーから見ればそれがエンドポイント、API公開側から見ればそれがエントリーポイントとなるのです。API公開側にとっては、URIはプログラムが開始されるポイントになるため、エントリーポイントと呼ばれるのですね。

URIを設計する際の注意点

最後にURIを設計する際の注意点についてご紹介しましょう。

URIは、API公開において重要な役割を果たします。その設計は闇雲に行うべきではなく、以下の注意点を押さえながら、一定のルールに基づいて行う必要があります。

短さ・わかりやすさ

URI設計では、短さとわかりやすさが重要になります。誰もが何のAPIか把握でき、かつ入力間違いが起こりにくいURIは、誰にとっても活用しやすいためです。
URIはむやみに長いものしたり複雑なものにしたりせず、わかりやすい英単語を用いてシンプルに構成するようにしてください。わかりにくい省略単語の利用も避けた方が良いでしょう。

小文字に統一

大文字と小文字を混在させてしまうのも、良いURIとは言えません。大文字と小文字の混ざったURIは入力しにくく、入力間違いが起こる可能性も高いためです。
URIは大文字を使わず、小文字で統一するのが一般的です。

構造をURIに反映しない

URIには、使用言語やディレクトリなど、サーバー側の構造を反映しないよう注意してください。これらの情報はユーザーには必要ありません。しかし、悪意のある第三者にとっては、攻撃のヒントを与えてしまうことになります。
APIの安全性を確保するためにも、URIに反映する情報は、精査するようにしてください。

ルールを統一

API公開側は、多くの場合複数のAPIを公開しています。
この時、公開した複数のAPIのURIは、統一的なルールのもと設計するのが好ましいと考えられます。それぞれのURIがバラバラな構成だと、ユーザーが活用しにくいためです。
一部にAPIごとの内容を反映させつつ、統一感のあるURIを設計しましょう。

また、URIはバージョン番号を含める構成にし、そのルールも統一しておくと、新旧のURIを判断しやすくなります。

適したHTTPメソッドの利用

HTTPメソッドとは、クライアントがサーバーにリクエストを出す方法のことです。リクエストの種類によってHTTPメソッドの種類を変えることで、サーバーはクライアントに求めるデータを提供することができます。
つまり、HTTPメソッドは操作を表すものだと言えるでしょう。
例を挙げてみましょう。

GET・・・リソースの取得
PUT・・・リソースの変更
DELETE・・・リソースの削除
POST・・・リソースの作成

これらは、HTTPメソッドの主要な種類です。
URI設計時には、APIのユーザーがどんな情報を必要とし、それにはどんな操作が必要か把握した上で、HTTPメソッドを使って処理しなければなりません。
例えば、情報を読み込みたい時にはGET、情報を追加したい時にはPOSTを使うと良いでしょう。
このように、APIの操作の定義にはHTTPメソッドを正しく用いる必要があります。

まとめ

APIは、ソフトウェアの機能を効率的に拡張できる手段です。APIによって、私たちがインターネットを通じて行う情報取得やショッピングは、より便利なものになっています。
現在公開されているAPIにはさまざまなものがあるので、その活用次第でソフトウェア開発の可能性はさらに広がると考えてよいでしょう。

また、APIのURIを設計する際にはご紹介したポイントに注意し、ルールを守って統一的に行うことが重要です。特にサーバー側の構造をURIに反映させることは避け、APIの安全性の確保に努めましょう。


人事・総務の方、情シス・セキュリティ部門の方必見!

貴社は、いくつ当てはまりますか?

・ログインの度にパスワードを探して、コピーして、貼り付けるのが面倒
・簡単なパスワードを使いまわしてしまっている
・社員の入退社に伴うアカウント設定作業がたいへん
・契約中のサービスの利用状況が分からず、ムダの把握ができていない

そんなお悩みを1クリックで解決!無料から使える「jugaa」の詳細はこちら