FileMakerエンジニア
最近耳にする機会が増えた「API」とは、
一体何なのでしょうか?
そのような疑問を持ったことはありませんか?
今回の記事では、APIについて詳しく解説していきます。
APIの本質やその機能について、
曖昧な理解から脱却し、
しっかりと把握できる内容をお届けします。
目次
APIとは何か?
APIとは「Application Programming Interface」の略称(頭文字)であり、
アプリケーション同士が通信を行ったり、
互いの機能を利用するためのインターフェースのことです。
このインターフェースは、
異なるアプリケーション間で
データや機能を円滑にやり取りするための一種の
「ルール」のことになります。
例えば、
地図アプリに天気アプリを
APIを通じて連携する場合、地図アプリで現在地を取得し
それを元に天気アプリがその地域の天気情報を表示することができます。
これはAPIを介したデータのやり取りによって実現することができます。
さらに、APIはWebサービスの構築にも欠かせない存在で、
Webサイトで何かを購入した際直接データをWebサイトに送るのではなく
APIを通して購入商品や決済情報を送ることで
セキュリティを強化する役目にもなっています。
APIはどうやって連携している?
APIの連携にはいくつか方法があります。
たとえばXMLと言われるマークアップ言語を使用された連携
最近では多く使われるJSONデータでの連携があります。
JSONの普及と共にXMLでの連携は
かなり少なくなったように感じますが
現在でも使われることはあります。
その理由はAPIを設計する過程で大切になってきます。
RESTとSOAP
APIの通信方法として代表的なのが、RESTとSOAPです。
REST (Representational State Transfer)とは、
インターネットでデータをやりとりするための
シンプルで柔軟な仕組みです。
よく使われるウェブサイトやアプリの中で、
データのやりとりに多く使われており
JSONを使われることがほとんどです。
一方で、SOAP (Simple Object Access Protocol)
という別の方法もあります。
こちらは、
特に安全にデータをやり取りする必要があるときに使われますが、
少し複雑です。
SOAPは、
XMLを使い複雑なルールに乗っ取ってデータを送受信するため、
使うのが難しい場面もありますが、
安全性が高いです。
APIのメリットとデメリット
もちろんAPIにもメリットデメリットがあり
それを理解して使用する
ということが大切です。
メリット
APIを使用することで特定の機能を
0から開発する必要が無く
非常に効率的かつ迅速な開発が可能となります。
それにより開発の時間を大幅に
削減することができるようになります。
デメリット
外部API(他社のAPI)を使用する場合、
その提供者に依存するため仕様変更があり
連携方法が変わってしまうこともあります。
そうなると変更部分を修正する必要がでてきますが、
サービス自体終了してしまうと
そもそもの利用ができなくなってしまう
と言ったリスクがあります。
なので、利用の際は
そのAPIが信頼できるものなのかどうかをしっかりと見極め
利用する必要があります。
APIを使ってデータを取得
では、一度APIを使用してみたいと思います。
今回使用するAPIは
郵便番号検索APIを使用します。
http://zipcloud.ibsnet.co.jp/doc/api
こちらは郵便番号から住所を取得するといった
とてもシンプルなAPIで
利用がとても簡単ですので
API初心者にはもってこいのAPIになります。
このAPIとつなげるアプリケーションは
FileMakerで開発した
カスタムAppと繋げていきます。
APIの実装
では実際にAPIを使用していきます
この郵便番号検索APIのサイトを確認してみる
https://zipcloud.ibsnet.co.jp/api/search
のURLに対して取得(以下リクエスト)してみるとAPIが使用できるそうですね。
しかし、このままリクエストすると、
必須項目がありませんと言われてしまいます。
これはURLと一緒に
パラメータを送らないと使用できないと言うことです。
検索するときに
なにも入れずに検索ができないのと同じですね。
ではどのようにパラメータを送るのかというと
URLの後に
[?]と必須項目名(今回はzipcodeが必須項目になります)と
[=]の後にそのデータを入れてあげることで
使用できるようになります。
では一度100-000の郵便番号を
検索してみましょう。
また、リクエストURLはこのようになります
https://zipcloud.ibsnet.co.jp/api/search?zipcode=1000000
になります。
ではこれでもう一度リクエストしてみましょう。
千代田区の住所がJSONで取得することができました。
他の郵便番号にしても取得ができています
あとは、
このJSONデータをうまく利用することで
郵便番号を入力すると
自動で住所が入力されるといった
ECサイトでよくある
仕様が完成です。
まとめ
いかがでしたでしょうか
このように本来であれば
膨大なデータ量(14,6000件ほど)になる
郵便番号検索もAPIを使用することで
簡単に実装することができました。
もっと複雑なAPIや認証が必要なAPIなど様々なAPIがありますが
株式会社プリエではどんなAPIでもお繋げいたしますので是非一度ご相談ください。
また、システムの開発も承っておりますので是非一度ご相談ください。
多岐にわたる業種での経験を経て、現在はFileMakerを中心に活躍中のエンジニアです。ローコード開発を得意としながらも、Django、React、Flutterなどの技術にも挑戦し、幅広い開発スキルを習得。常に自分の技術を磨き、より良いソリューションを提供できるよう、継続的にスキルアップを図っています。多彩な技術を駆使して、クライアントのニーズに応える柔軟性と、迅速かつ効果的な開発力が強みです。