以前 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 等を作らなくていいのでとても便利だと思いました。