2023年01月24日
APIと聞いて、すぐに何のことか思い浮かべることができる人は、この記事を読む必要はないかもしれません。
ここでは、APIという言葉を社内で使っているツールの中で見たことがあったり、もらった資料の中にAPIのことが書いてあるのを見つけたりしたものの、APIというものがそもそも何なのか分からない方向けに解説します。
「メルマガの読者像を想定する」「メルマガ登録者を増やすための集客方法」「メルマガを運用するにあたっての目標設定」などについてはこちら
目次
APIという言葉はよく目にしていても、APIの意味やその仕組み、APIが身の周りで活用されている様子を知る機会は多くないと思います。
APIとは、アプリケーション・プログラミング・インタフェース(Application Programming Interface)の頭文字で、英語をそのまま訳すと「アプリケーションをプログラミングするためのインターフェース」です。
インターフェースとは?
インターフェースとは、「何か」と「他の何か」をつなぐ接点という意味で、一般的にはその技術や製品のことを指します。
つまり、APIとは自分のアプリやシステムのデータや機能を、他のアプリやシステムでも使えるようにするための技術のことであるといえます。
API連携とは専用の暗号を使って、自分のアプリやシステムからデータをAPIを通じて受け渡すことで、他のアプリやシステムを充実させること(あるいはその逆)と言えます。
APIのしくみは、
「欲しい情報があるなら、決まったフレーズで要求してくれれば、要求した情報をお返しします」
という、窓口のような役割をイメージすると良いでしょう。
「窓口」という言葉が出てきたので、もう一段身近に感じるものに例えてみたいと思います。
例
あなたは、得意先に電話をかけます。
電話の窓口の方にいきなり、
「〇〇さんいらっしゃいますか」
この場合どのようにすれば、あなたの思う〇〇さんに取り次いでもらえたでしょうか。
おそらく、下記のように詳しく指定していたら取り次いでもらえると思います。
とざっくりと要求したら、窓口の方はどの〇〇さんか分からず答えられませんでした。
この場合どのようにすれば、あなたの思う〇〇さんに取り次いでもらえたでしょうか。
おそらく、下記のように詳しく指定していたら取り次いでもらえると思います。
本文
お世話になっております。
株式会社コンビーズの□□と申します。
△△課の〇〇様はいらっしゃいますでしょうか。
これが、APIの「決まったフレーズ」のイメージとなります。
欲しい情報に合わせて、正しく要求してくれたときに、望む結果を得られるというものです。
これらの「決まったフレーズ」を、得たい情報別にまとめたものを「API仕様書」や「APIリファレンス」と言います。
APIのことについて見ていると、色々な用語に出会うと思いますが、パッとイメージしづらいかもしれません。
そこで、よく出てくる用語を、さきほどの「APIの仕組み」で例えて解説します。
接続先:電話をかける相手の会社名
APIキー:相手の会社の電話番号
リクエスト:〇〇さんに取り次いでもらいたいという要求
レスポンス・戻り値:実際に取り次いでもらえて、〇〇さんが電話に出てくれること
これに当てはめると、「得意先に、得意先の電話番号を使って電話をして、窓口の方に〇〇さんに取り次いでほしいとお願いしたら、〇〇さんが電話に出てくれる」ということが、「接続先に、APIキーを使って接続し、決まったフレーズでリクエストを送信したら、望み通りのレスポンスが返ってくる」ということが理解できると思います。
APIの概要やその仕組みを理解すると、自分には縁遠いものや触れる機会のないものだと思うかもしれません。
しかし、APIは意外と身近にある技術で、わたしたちが触れる色々なところの技術に使われています。
ここでは、APIの使用例として身近に存在するものを、3つ取り上げて解説します。
身近に存在するAPIの使用例3つ
オンラインショップで商品の代金を支払うとき、クレジットカードを使って決済したことはありますか?
クレジットカード情報を入力し、決済ボタンを押すだけで料金を支払うことができ、会員情報として保存しておくことで、次回からの決済も非常に楽になります。
実はクレジットカードの決済システムや、顧客のクレジットカード情報自体は、オンラインショップ自体が所有しているものではありません。
クレジットカード決済代行会社がオンラインショップと決済機関の間に入って、APIを提供している場合が多いのです。
それでは、オンラインショップでの決済のなかで、どのようにAPIが活用されているのでしょうか。
先ほど、APIの流れは以下のようになっていることをご紹介いたしました。
接続先に、APIキーを使って接続し、決まったフレーズでリクエストを送信したら、望み通りのレスポンスが返ってくる
これに当てはめてみると、以下のように整理できます。
決済機関に、APIキーを使って接続し、購入者が入力したクレジットカード情報をリクエストとして送信したら、決済結果がレスポンスとして返ってくる
家計簿アプリを利用したことはありますか?
自身で入力していくタイプではなく、QRコード決済やクレジットカード決済など、さまざまな支払いや入金を自動で計算してくれるアプリです。
毎回入力する必要がないため、手間が省けて大変便利です。
実はこれも、先ほどのクレジットカード決済システムと同じように、APIを利用して口座の入出金情報や支払情報などを取得することで、取得した金額を計算して家計簿として表示させているのです。
知らない土地に行ったときは、地図や乗り換えアプリなどを見ながら目的地に向かう方も多いと思います。
また、ホームページなどに現在地からの所要時間を、すぐに表示できるようにしているところも見かけます。
顧客に安心してきてもらえたり、決め手の一つとなったりと、顧客満足のためにも一役買っているこの機能ですが、これもAPIを使って実現しているのです。
具体的には、クレジットカード決済システムと同様に、APIを利用して出発地と目的地の情報を入力することで、レスポンスとして返ってきたルートを表示させています。
そもそも、APIはなぜ使われるようになったのでしょうか。
API のメリットを見ていきましょう。
APIのメリット
APIとして自社サービスの機能を公開することで、同じ特徴をもったサービスが開発しやすくなります。
逆に、他社がAPIを公開していることで、自社のサービスの足りない部分やノウハウ不足で搭載できなかった機能を、あきらめることなく搭載できるというメリットがあります。
つまり、プログラムを1から作る必要がないため、より多くのサービスが生まれ、世の中が便利になっていくということです。
APIでは他社のデータを使うことができます。
同じ情報を様々な分野で活用してもらうことで、情報を分析することが容易になり、各分野に特化した分析が可能となります。
例えば政府の統計データのAPIを利用するなど、市場データと自社の顧客データを掛け合わせて分析することも可能で、そこから新たなイノベーションが生まれ、新しいビジネスが生まれるのです。
他社のユーザー情報を使って、自社のサービスにログインできる機能を作ることができます。
つまり、あらためて会員登録をしてもらう必要がないということです。
例えば、Web で買い物をする際、Google や Facebook、Twitter などのアカウントを連携することで会員登録の手間が省けた経験はありませんか?
これは各種サービスとAPI連携が行われているため、別のアプリケーションによる、ログイン認証ができるようになっているからです。
このようにメールアドレスやパスワードの入力など、ユーザーにとって面倒な手続きを省くことができます。
そして、自社でセキュリティレベルの高い会員登録システムを入れるよりも、すでにあるセキュリティレベルの高いシステムを使えることもメリットと言えます。
認証技術だけでなく、迷惑メールにならない方法などについてはこちら
これまではAPIのメリットを解説してきましたが、少なからずデメリットも存在します。
ただ、このデメリットは克服することができる場合もありますので、一度しっかりと検討してみてください。
APIのデメリット
APIを使って情報を取得できるようにするには、エンジニアによる開発が必要となります。
自社にエンジニアが在籍していれば、コミュニケーションコストも低くなりますが、自社にエンジニアがいない場合には外注することになると思います。
また、金銭的な負担とともに慣れない用語でのコミュニケーションを行う必要もあります。
ただし、開発工数をかけた分、享受できるメリットも大きいので、APIのメリットとデメリットをしっかり確認して、APIによる連携を進めるかどうかを決めたいところです。
APIのデメリットのひとつに、APIの提供側に依存するという側面があります。
そのため、自社サービスでは不具合が起こっていなくても、APIの提供元が不具合を起こした場合、自社サービスにも影響があります。
不具合以外にも、APIの仕様変更があれば対応しなければなりません。
自社のコントロール外のことですので、予測しにくいところもデメリットとなります。
ここまで見ると、デメリットが大きいように見えますが、APIで連携するということは、何らかの不具合の際に、不具合の切り分けをはっきりさせることが可能であるということです。
不具合の原因特定にもつながりやすいので、自社のサービスの一部を外部サービスとAPI連携しておくことで、自社内の管理工数を下げるということもできます。
無料でAPIを公開しているところもあれば、有料で利用することになるAPIもあります。
料金がかかってしまうこと自体は、金銭的な負担になるので、それ自体はデメリットに見えます。
ただし、気軽に使える無料のAPIも良いですが、サポートもきっちり受けられる有料のAPIの方が良いという意見もあります。
コンビーズメールプラスの API で提供可能な機能(一例) | |
---|---|
配信先情報 | メール配信の登録や削除、変更などを行うことができます。 |
即時配信 | 作成したメールの即時配信を実行。 |
予約配信 | メール配信の日時の事前指定が可能。 |
配信状況 | メール配信の際に件名や日時、種別などの取得を実現。 |
配信先グループ | 配信先グループ情報の取得。 |
エラーアドレス | メール配信時にエラーとなったアドレスの情報を取得することができます。 |
メールテンプレート | メールテンプレートの新規追加や削除、詳細情報などの取得。 |
開封率 | メールを開封したユーザーのメールアドレスや、開封日時の取得。 |
このように、メール配信に関わる大半の機能は網羅されています。
つまり、API の連携により通常のアカウントと遜色のない使用が可能です。
ここからは、コンビーズメールプラスにおける APIの 活用事例を紹介していきます。
具体的には、次の5事例について紹介していきます。
コンビーズメールプラスでは、ショッピングカートの履歴データとシステム連携が可能です。
この連携により、購入金額などの履歴データを基に「購入者のみ」や「購入回数が多い方」などの条件に絞ってメール配信を行うことが可能です。
自社の「販売管理」システムや「顧客管理」システムとの連携も可能です。
この連携で、配信先情報の登録やメール配信を上記システムより直接行えます。
つまり、メール配信を行う際にコンビーズメールプラスの管理画面を操作するひと手間を省くことができます。
コンビーズメールプラスでは、「QRコード」システムとの連携も可能です。
このシステムにより、QR コードの読み取りから直接、当サービスへの自動登録ができます。
自動登録された会員の記念日や誕生日、会員のカード利用状況(利用回数、利用金額)などの条件に応じて、メール配信ができます。
ECサイト構築ソフト、既に「EC-CUBE」でECショップを運営されている方にも朗報です。
「コンビーズメールプラス」では、EC-CUBEとのシステム連携も可能です。
プラグインの申し込み方法や設置方法に関する詳細は、下記サイトを参照してみてください。
APIによりメール配信先を登録する機能を組み込むことで、会員登録用のリスト作成などを行う必要がなくなります。
読者登録の業務に負担を感じている場合は、こちらの機能を組み込むことを推奨しています。
上述の通り、コンビーズメールプラスでは他サービスとのシステム連携を可能にする複数のAPIを提供しています。
ここからは、当サービスが提供するAPIを使用するにあたっての「注意点」を紹介します。
コンビーズメールプラスにおけるAPIの基本仕様について解説します。
最初に、各 API にて指定された URL に対して「リクエストパラメータ」を指定します。 次に、POST において HTTP クエリを発行することで、APIの利用が可能です。
※その際の「リクエスト数」とは、当サービスを提供する当社のAPIサーバに要求するPOSTの回数であると認識してください。
コンビーズメールプラスにてAPIを利用する際、次の条件を満たす必要があります。
そのため、APIを利用する際は、予め確認しておくことを推奨しています。
以上、2つの条件を満たしたタイミングでAPIを利用開始できます。
APIの利用料金は、その都度変化します。
具体的には、1リクエストが発生したその日より、残額から料金が引き落とされる仕組みです。
このように、APIの利用状況やリクエスト数に応じて利用料金は変化していきます。
利用料金の詳細について知りたい場合は、気軽にお問い合わせください。
APIは、アプリケーションやサービスを利用するユーザーにとっても便利な仕組みです。
コンビーズメールプラスでは、お客様がご利用のシステムに連携するための 公開APIを提供しています。
メールの配信や配信リストの操作など、多数の機能をAPIで運用できるので、システムの構成にあわせた、柔軟な連携が可能です。
API連携の事例などもご案内できますので、お気軽にご相談ください。
料金プランや運用のご相談まで、あなたの専属コンサルタントがサポートします
コンビーズのサービスをご紹介していただくと、あなたも紹介者さんもおトク
お客様が安心してご利用いただけるようセキュリティ対策もバッチリ。第三者認証であるISMS(ISO27001)を取得済み。