サービス開発の場やエンジニアとの会話の中で「API」という言葉をよく聞くことがあると思います。
ただ「APIについて説明してください」と言われた時にしっかりと答えられるひとは多くはないのでしょうか?
そこで今回の記事では、APIの意味から仕組み、導入のメリットやデメリットから事例までの内容をわかりやすく説明しました。
1.APIとは?
そもそもAPIとはどのようなものなのでしょうか?
APIはApplication Programming Interfaceを略したものです。
「アプリケーション」「プログラミング」「インタフェース」の3つの単語が出てきましたが、
「アプリケーション」はパソコンやスマホ上で特定の目的をもって開発されたソフトのこと
「プログラミング」 パソコンやスマホに対してプログラミング言語を用いて特定の動きを実行させるプロセスのこと
「インタフェース」:機器などの複数のものを繋ぐ技術や方法のこと
を意味します。
つまり、APIとは「アプリケーション」と「プログラム」を繋ぐものという意味になり、
開発されたソフトウェア、アプリケーションなどの一部を公開することで、
第三者が開発した別のソフトウェア、アプリケーションにその一部の機能を入れ込むことができるものとなっています。
\API連携のご相談はこちら/
2.APIの種類
APIの種類には「Web API」「OSが提供しているAPI」「ランタイムが提供しているAPI」があります。
この章ではそれぞれのAPIについて解説していきます。
2-1.Web API
Web APIはインターネット上でやりとりが行われるAPIのことです。
アプリ上で使用するプログラミング言語には関係なく、インターネット上の情報のやりとりで用いられるHTTP/HTTPSという通信プロトコルを利用することで、接続を行います。
今回の記事ではこのWeb APIについて述べていきます。
2-2.OSが提供しているAPI
特定のOSを呼び出すためのAPIとしてOSが提供しているAPIもあります。
例えばWindows APIは、mac OSなどの他のOSからもWindows上でプログラミングを行うために開発者へ向けて提供されています。
2-3.ランタイムが提供しているAPI
その他にランタイムが提供しているAPIもあります。
ランタイムとはプログラミングを動かす環境のことです。
例えば、プログラミングの主要言語の1つであるJavaは開発を行う際に必要となる機能がAPIとしてあらかじめ提供されています。
そのため、Javaでの開発にはAPIの知識が必要不可欠となるのです。
3.API連携の仕組み
参考:https://www.sbbit.jp/article/cont1/62752
では具体的にAPIを開発に用いる場合、API連携を行う時に、どのような仕組みで行われているのでしょうか。
まずAPI連携を行う場合は、使いたいAPIの形式にしたがって使いたい機能をリクエストします。
そしてリクエストされたサービスは、そのリクエスト内容に応じてレスポンスを返すことで、機能を入れ込むことができるのです。
このように、APIはプログラム間のサービス利用のための中継役としての役割があります。
そのため、人間がわかりやすいHTMLのデータではなく、
この時のレスポンスはXMLやJSONといったプログラムが解釈・処理しやすいデータが返信されます。
4.APIを使用する上でのメリットとデメリット
4-1.API連携を行う上でのメリット
APIのメリットには
「開発の効率化」「セキュリティーの向上」「コスト削減と顧客満足度の上昇」があげられます。
4-1-1.開発の効率化
API連携を行うメリット1つ目は開発の効率化を行えるということです。
普通の開発では自分でシステムを1から作らないといけませんが、
APIを用いることで、外部サービスの機能を使うことができるので開発時間を短縮することができ、効率的に開発を進めることができます。
また開発に用いるデータも自分で収集することなく、常に最新のものをもちいることができるため、開発の品質の向上にも役立てることができます。
4-1-2.コスト削減と顧客満足度の上昇
APIを利用することにより、開発コストを低く抑えることができるので、安くサービスを提供することができます。
また、API連携を利用してすでに登録済みの有名なアプリでの会員情報をそのまま使い回すことができるので、サービス利用者はめんどうな会員登録をしなくて済むことができます。
4-1-3.セキュリティーの向上
セキュリティーの向上もAPI連携を行うメリットです。
GoogleやFacebookといった非常にセキュリティーレベルの高い大手サービスと自社で開発したサービスを連携させることができるので、個人で開発するよりも会員情報などといった個人の重要な情報を安全に守れることがあります。
状況に応じて利用してみましょう。
4-2.API連携を行う上でのデメリット
APIのデメリットには「仕様変更による不具合の可能性」「サーバー障害による利用不可」があります。
4-2-1.仕様変更による不具合の可能性
APIシステムを提供している企業がAPIの機能や仕様の変更やサービスを停止した際に、自社のシステムに不具合が生じたり、利用不可能になったりする可能性があります。また提供会社の機能に依存しすぎていると、自社のサービスと顧客のニーズがマッチしなくなる恐れがあります。顧客に対するAPIサービスの提供は、自社サービスを軸として過度に依存することなく、自社サービスのサポートとして考えて実装する必要があります。
4-2-2.サーバーに障害が発生すると利用できない
API連携をしている提供元のサーバーに障害が発生した場合、自社サービスの利用が不可能になってしまいます。その上、自社ではトラブル対応ができなくなってしまうので、万が一に備えてBCPを策定しておくことが好ましいです。
5.APIの活用事例
Google API
Googleが提供するAPIの中でもGoogle Maps APIは飲食店などの様々なサイト上に使われています。
これを用いることでWebサイト上に場所をマップを表示させたり、マップを作ったアプリの開発などを行うことができます。
またGoogleが提供するAPIのTranslation APIはサイトのHTMLを送るだけで、様々な言語への翻訳結果が帰ってくるAPIとなっており、様々なサイトの多言語化に役立っています。
AMAZON API
AmazonのAPIを用いることで、自身のWebサイトでAmazonに掲載されている最新の商品情報の表示ができます。
他にも
「在庫管理や登録を行う」
「1日当たりの売上情報を店舗運営者向けに開示する」
といった機能を使うことができます。
他にも、ネット上ではFacebook,twitter,WindowsAPI,Outlookなどの様々なAPIが提供されています。
6.Hubspotで連携できるAPI
世界的に有名なMAツールであるHubSpotとAPI機能を使うことで、「Web会議システム」「会計システム」などといった様々なサービスと連携することができます。
slack
slackはチーム内でのコミュニケーションを楽に行うために開発されたビジネス用グループチャットサービスです。
HubSpotとslackを連携させることで、Huspot上での更新情報をslack上で受け取ることができるため、メンバー同士のコミュニケーションをよりスムーズに行うことができます。
zoom
zoomは、オンラインでミーティングができるサービスです。
Hubspotとzoomを連携させることで、イベントの申し込みをした方へZoomのURLを自動的に送信することができるようになり、イベントへの申し込み、受付、参加者管理をスムーズに行うことができます。
クラウドサイン
クラウドサインは、オンラインで契約作業を完結させるサービスです。
HubSpotとクラウドサインを連携させることで、「クラウドサイン」で契約が締結されたかどうかを「HubSpot」で閲覧・確認し、一元管理できるようになります。
freee
freeeは、決算作成や確定申告を簡単に行えるクラウド会計ソフトです。
HubSpotとfreeeを連携させることで、
・HubSpot上からfreeeの見積書・請求書作成
・発行済請求書の入金ステータスを管理
を行うことができます。
まとめ
ここまでAPIの意味から事例までを詳しく説明してきました。
ただ実際に自社のサービスとAPI連携を行いたいと思っても難しくてできないと感じている方も多いのではないでしょうか?
H&KではAPI連携の開発も承っております。
API連携について相談したい方は、まずは無料の相談会にお越しください。
\API連携のご相談はこちら/