【UiPath】チャットワークAPIでのメッセージ送信方法

RPAはUI操作(クリックやスクロール、入力等)の自動化が可能なことから、直接データのやり取りができなくともExcelなどのファイル間はもちろん、システム間、アプリ間の連携を可能にします。しかし、UI操作の自動化は正確性や処理速度などの点で頼りないです。

自動化において、正確性や処理速度はロボットを評価するうえで重要なファクターです。できるだけ正確にできるだけ高速に処理できることに越したことはありません。

記念すべき初投稿では、UI操作を使わないAPIによるチャットワークとの連携について紹介しようと思います。

APIとは

API(Application Programming Interface)とは、「ソフトウェアの機能を共有すること」を指し、複雑なコーディングなしにアプリケーションの一部機能を使用することが可能になります。

この記事では、チャットワーク(Slackのようなビジネスチャットツール)のメッセージ送信機能をAPIにより使用します。

チャットワークAPIにより使用可能な機能一覧はこちらになります。

事前準備

APIを使うためにはAPIの利用が許可されたトークンというものが必要になります。

また、今回はメッセージの送信機能を使うということで送信先情報としてのルームIDというものを前もって取得しておきます。

◇ トークンの取得

まずはチャットワークにログインして下さい。

①アカウントアイコンの右にある▼をクリックします。

②[API有効化]をクリックするとAPI管理画面へ遷移します。

①チャットワークのログインパスワードを入力します。

②[表示]をクリックするとトークンが発行されます。

①これがあなたのアカウントでAPIを使用するためのトークンになりますのでメモを取っておきましょう。

※このトークンは[再発行]されるまで変更されることはありません。

◇ ルームIDの取得

ルームIDはチャットワークのサイトから容易に取得できます。

①送信したいルーム(今回はマイチャット)のページURLに含まれる”rid”以下の数字がルームIDになります。今回はマイチャットのルームIDを用います。

メッセージ送信

◇ UiPath.Web.Activitiesのインストール

API連携に使用するアクティビティはデフォルトではインストールされていません。したがってパッケージのインストールが必要になります。

※このパッケージは公式が出しているものなので安心してインストールできます。

①UiPathのデザイン画面で[Manage Packages]をクリックするとパッケージ管理画面に遷移します。

①Add PackagesのOfficialから「Web」で検索すると見つかりますので[UiPath.Web.Activities]をインストールしてください。

◇ HTTPリクエストウィザードの設定

①API連携では基本的(※)に[HTTPリクエスト]アクティビティを使用します。アクティビティをシーケンス内に移動すると専用の設定画面が開きます。

※他パッケージに、リクエストメソッド毎にアクティビティが分かれているものもあります。このHTTPリクエストアクティビティは1つのアクティビティですべてのリクエストメソッドを実行することができます。

これが専用設定画面であるHTTPリクエストウィザードです。

①エンドポイント: エンドポイントとは使用する機能をURL形式で呼び出すためのものです。

②リクエストメソッド: リクエスト形式を選択します。

パラメーター&ヘッダー: 基本機能および追加機能を使用するための必須情報や付加情報を設定します。

④プレビュー: 設定した情報でリクエストを実行し、応答を確認できます。

①メッセージ送信のエンドポイントは「https://api.chatwork.com/v2/rooms/{送信先のルームID}/messages」です。{送信先のルームID}は上で取得したルームIDを入力して下さい。

①リクエストメソッド項目の▼をクリックしメソッドリストを表示します。

②メッセージ送信の場合、[POST]になります。

①[パラメータ]をクリックします。

②[Add header]をクリックすると、ヘッダー項目が追加されます。

③[Name]に「X-ChatWorkToken」を入力し、[Value]に上で取得したトークンを入力します。この際、ダブルクォーテーション(“”)は必要ありません。

①続いて[Add Parameter]をクリックします。

②[Name]には「body」、[Value]には送信するメッセージを入力して下さい。もちろん、String型の変数を設定することもできます。

③「self_unread」パラメーターはなくてもかまいません。この項目値を「0」とすると、自身が未読状態でメッセージが送信されます。

④これで設定は完了になるので[Ok]をクリックします。

※HTTPリクエストウィザードは一度[Ok]すると、新しいアクティビティを使用しない限り表示されません。しかし、リクエストウィザードでなくとも各種設定値の設定・変更は可能です。

◇ 実行

シナリオが完成したので動かしてみます。

①実行ボタンをクリックします。

②未読状態でマイチャットにメッセージが送られていることがわかります。

Youtube

本記事内容のうち、シナリオ作成部分と実行部分を動画としてYoutubeにアップロードしています。もしよろしければこちらもご覧下さい。

【シナリオ作成編】

【実行編】

終わりに

このようにAPIを用いることで、UI操作に比べ圧倒的な速度で処理が行えます。

一定のITリテラシーがないと作成が難しいという点はありますが、部品化などによって初期設定をさらに簡略化することも可能です。

今回は簡単なシナリオ作成で終わりましたが、次回以降のどこかでチャットワーク連携を用いたエラーハンドリング方法について紹介しようかなと思っております。

また、こんなアプリと連携してみてほしい!という声がありましたら積極的に取り組んでいこうと思いますのでブログもしくはTwitterにてお気軽にご連絡ください。

拙い初投稿でしたが、最後まで読んでいただきありがとうございました。

※こちらは寄稿記事なります。ライター自身の運営サイトはこちらになります。


sweeep|請求書AI-OCR

請求書の会計処理を自動化します
請求書AI-OCR「sweeep」

面倒な請求書の会計処理をAIで自動化。100枚をたった3分で処理できます。月末に貯まった請求書を一掃しましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

ハイダックと申します。以前UiPathによる自動化業務に従事しておりました。現在は、趣味でアプリ連携やロボット作成を行いながらそこで得た体験や知識をTwitter(@Hiduac)やブログにて発信しております。自動化相談や技術相談、UiPathによるPoC等、大募集しておりますのでお気軽にご連絡ください。