Postmanを使ってChatworkにメッセージを投稿する

以前 Postman を使って API のテストをしていましたが、いつの間にか Flows という機能が登場していて、それを使うと API Gateway や Lambda を用意しなくても簡単な Web サービスの連携に使えることを知りました。

これを知ったきっかけのイベントは 【大阪開催】もめんと Meet-up #8 Momento × フレンドライクなベンダー祭り! です。

早速、Chatwork にメッセージが送れるか試してみることにします。

API の定義

まずは、メッセージを送る Chatwork API を定義しておきます。

リクエストメソッドは POST で、URL は "https://api.chatwork.com/v2/rooms/:ROOM_ID/messages" にします。

Params の Path Variables に Key が "ROOM_ID" の項目が表示されるので、送信するルームIDを変数から設定できるように "{{ROOM_ID}}" と入力します。

Headers には、"x-chatworktoken" を追加して、シークレットな環境変数から値を設定できるように "{{CHATWORK_TOKEN}}" と入力します。

Body は Key (self_unread と body) を追加設定します。

環境変数 (CHATWORK_TOKEN) をシークレットとして設定し、変数 ROOM_ID を設定します。

Flows

Flows は図のようなイメージで作成しました。

この作成した Flows の Webhook URL に message を含む JSON 例えば '{ "message": "旧年中はいろいろとお世話になりありがとうございました。本年もどうぞよろしくお願い申し上げます。" }' を送ると、Chatwork にメッセージが投稿されます。

Chatwork API のテストをするときや Webhook のちょっとした機能が欲しいときに、AWS Lambda 等を作らなくていいのでとても便利だと思いました。