【事例紹介】WebAPIとRPAの連携について

はじめに

昨今、各種クラウドサービスやSNSにおいて、APIが用意されており、そのコマンドを使用することで、データの抽出や登録、メッセージの送付などが簡単に行えるため、急速に普及しています。

また、WebAPIのInput/Outputは、JSONやXMLといった定型化されたフォーマットでデータが扱われる場合が多く、RPAでも取り扱いやすくなっています。

今回はAPIについて、どのようなものか説明した上で、RPAと組み合わせた事例を紹介していきます。

APIとは?

API(Application Programming Interface)とは、ソフトウェア同士がお互いに情報をやり取りするために利用するインタフェースの仕様のことです。

APIを利用することで、あらゆるシステムやクラウドサービスとシームレスな連携を行うことができます。
一例:Google、Oracle、Salesforce、AWS、SAP、Tegaki、Chatwork、Slack、インターネットFAXサービスなど

今回はその中でもWebAPIについて、説明していこうと思います。

APIは、WindowsAPIに代表されるOSや各種システム間のやり取りを行いますが、WebAPIは、名前に含まれる通り、Web上で動作し、やり取りをするということが大きな違いとなります。

WebAPIでプロジェクトやアプリケーションに接続するには、まずは、各種サービスのアカウントを作成する必要があります。その後、APIキー、APIシークレットを取得して、アプリケーションに設定することにより、使用可能となります。APIキーはユーザID、APIシークレットは、パスワードのようなものと思っていただけるとイメージが浮かびやすいのではないかと思います。そのためAPIキー、APIシークレットの情報が漏洩すると不正なアクセスにつながりますので、厳重に管理するようにしましょう。

なお、APIキー等を使用せずに利用できるAPIもあります。

なお、RPAツールで用意されている、REST等のコマンドだけでは対処できない場合、プログラミングを行う必要があります。

実際に業務で扱った例としては、ファイルのアップロードを行う際にヘッダの指定でContent-Type: multipart/form-dataが使用できず、ファイルを直接指定できないため、ファイルをBASE64形式にエンコードする必要があり、その際はプログラミングにて、対応した経緯があります。

そのため、使用するWebAPIおよびRPAツールの仕様を確認することが重要です。

また、セキュリティ面の兼ね合いで利用が禁止されている場合もあるので、利用時については社内のシステム担当者に事前に確認が必要です。

WebAPIの活用事例

ここで、Automation Anywhere A2019を使用した、WepAPIでのデータのやり取りを紹介します。

郵便番号検索API(http://zip.cgis.biz/)を使用して、郵便番号から住所を検索し、その結果をSlack上に通知します。

1.「REST Web Services:Get method」コマンドを使用して、郵便番号から住所を検索し、結果をcsv形式で取得する。

2.出力結果から、必要な部分を抽出する。

3.「REST Web Services:Put method」コマンドを使用して、Slackのチャンネル上に通知する。

4.通知結果は、以下のようになります。

このようにRPAの標準コマンドのみでWebAPIを使用したシステム間のデータ連携が可能です。

APIとRPAの連携事例について

  1. AI-OCRとSlackの連携
    実際に自分がAPIを使って対応した案件では、取引先から送付されてきた帳票ファイルを複合機でPDFファイルにして、RPAを使用して、APIでAI-OCRに取り込みを実施。RPAを使用して、変換結果をAPIで受け取り、Excelに結果を張り付け、データの入力チェックをRPAで実施。処理結果をSlackのチャンネルにAPIで通知する。
  1. 業務システム(Web)とTwitterの連携
    RPAのスケジュール機能を利用して、Webシステムから周期的にデータを取り出し、その結果が閾値(室温が30℃)を超えている場合、RPAのアクティビティを使用してTwitterにツイートする。また、閾値が正常値(室温が28℃)に戻った場合についても同様にTwitterにツイートし、情報共有を促す。

【参考】UiPathでのTwitter投稿事例

1.「パッケージを管理」から、「Connector.Twitter.Activities」をインストール。
※作成者は、UiPathではなく、有志の方となります。

2.「Publish Tweet」アクティビティを使用して、APIの認証情報を登録および、ツィート内容を変数から引き渡す。

3.ツイート結果は以下のようになります。

おわりに

今回は、WebAPIとRPAの連携について試してみました。このようにWebAPIが用意されていれば、データを取得後、加工し、SNS等に情報を掲載するといった連携も簡単に行えます。

例えばですが、在庫管理システムとTwitterを連携して、在庫状況に応じてセール情報を更新したりするなど、様々なことに利用できます。

BTCでは、RPAとWebAPIの連携についても多数実績がありますので、お悩み事等ございましたらご気軽に相談ください。

関連リンク

システム間連携を担うRPA
https://rpa.bigtreetc.com/column/rpa_for_system_linking/

Salesforceへの自動化事例とRPA開発ポイント
https://rpa.bigtreetc.com/column/rpa_for_salesforce/

もっと知りたい方はこちら

ページトップ