kubell Creator's Note

ビジネスチャット「Chatwork」のエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

QRコードを読み取ってChatworkのメッセージを送る方法

こんにちは、あらいです。出来たてホヤホヤの自作キーボード(8台目)でこれを書いています。

昨日、お客様のご意見ご要望を読んでいたところ、このようなご要望を拝見しました。

  • 備品発注を依頼するグループチャットがある
  • 毎回同じ人に「〜〜の発注をお願いします」という定型文を送っている
  • 備品棚にQRコードを貼り付けておき、これを読み取って自動で定型文を送れないだろうか

なるほど、これはできたら便利そう!

アイディアを思いつきまして試してみたところ、iPhoneを使って簡単に実現できました🙌

www.youtube.com

この記事でやり方をご紹介します。

必要なもの

  • Chatworkのアカウント
  • 最近のiPhoneまたはiPadと、Appleの「ショートカット」アプリ*1
  • QRコードを印刷するプリンター

作り方

1. 必要になる情報を集める

まず、通知を送りたいチャットルームのルームIDをメモします。

ルームIDを確認する

次に、Toを送りたい人のメッセージ記法をコピーします。

最後に、Chatworkのサービス連携ページを開き、自分のAPIトークンをメモします。

APIトークンを発行する

2. ショートカットを作る

iPhoneまたはiPadで「ショートカット」アプリを開きます。

このアプリについては下記リンクをご覧ください。

ショートカット ユーザガイド - Apple サポート (日本)

アプリで新しいショートカットを作成します。 「URLの内容を取得」のアクションを選択し、以下のように入力します。

URLの内容を取得の入力例

入力欄 入力内容
(1) URL https://api.chatwork.com/v2/rooms/ルームID/messages
ルームIDには先にメモした数字が入ります。
(2) 方法 POST
(3) ヘッダのキー X-ChatWorkToken
(4) ヘッダのテキスト 自分のAPIトークン
(5) 本文を要求 フォーム
(6) 新規テキストフィールドのキー body
(7) フィールドのテキスト 「ショートカットの入力」の変数を選択

(7) フィールドのテキストに、Toを送りたい人のメッセージ記法を組み合わせて

[To:〜]担当者さん、ショートカットの入力の発注をお願いします!

のようにすると効果的です。

続いて残りを入力します。

残りの項目の入力例

入力欄 入力内容
(1) もし入力がない場合 入力を要求 テキスト
(2) 「通知を表示」のアクション 「URLの内容を取得」 の下に追加
(3) 通知の内容 ショートカットの入力 の発注を依頼しました♪
(4) このショートカットの名前 任意の短い名前

3. 動作確認をする

「▶️」アイコンを押すと、ショートカットが動きます。

テキスト入力を求められるので、「おにぎり」など任意の入力をして送信します。

Chatworkにメッセージが送信されたら成功です!

深夜におにぎりを注文する新井

もしうまくいかなかった場合は、これまでの入力内容が間違っていないか、また最初にメモした情報が間違っていないか確認してください。

4. QRコードを作る

Chatworkに送る仕組みはできたのであと一息です。 再び「ショートカット」アプリを使います。

最初から入っているスターターショートカットの「QRコードを作成する」を選びます。

QRコードで何をしますか、と聞かれるので「Webサイトを開く」を選びます。

どこのサイトを開きますか、と聞かれるので、ここで以下のように入力します。

shortcuts://run-shortcut?name=ショートカットにつけた任意の短い名前&input=発注したい品物

完了するとQRコードが画像として表示されるので、PCなどに転送して保存します。

さて、保存したQRコードをiPhoneのカメラで読み取ってみましょう。 今度はテキストの入力なしに、発注したい品物が送信されているはずです!

5. QRコードを印刷する

作成したQRコードを印刷し、任意の場所に貼り付けてご利用ください。

「4. QRコードを作る」の手順で、発注したい品物を変えることで好きなだけコードを作ることができます。

また、ショートカットの内容の工夫次第で、QRコードごとに通知先のチャットルームやメッセージ内容を変えることも可能です。 この記事では詳しく扱いませんが、ぜひお試しいただければと思います。

注意点

最後に注意点です。

今回作成したショートカットは、作成したiPhone・iPadなどの端末に保存されます。 ショートカットを保存していない端末でQRコードを読み取っても正しく動作しませんので、ご注意ください。

また作成したショートカットを社内複数の方に配布したいと思うかもしれませんが、それにも注意が必要です。 今回作成したショートカットにはAPIトークンが含まれており、これが第三者に知られてしまうと、当該アカウントになりすまされてAPIを実行できてしまいます。

複数の方でご利用になりたい場合は、ご面倒ですがそれぞれにショートカットの設定をしていただくか、API実行用アカウントを用意する、ショートカット設定済みのQRコード読み取り専用端末を用意するといった回避策をとっていただく必要があります。*2 ご了承ください。

まとめ

QRコードを読み取ってChatworkにメッセージを送る方法を解説しました。 テキスト入力が面倒な現場で活用できるtipsかと思います。 この記事が皆さんのお役に立てれば幸いです。

*1:この記事中の画面例はiPad mini 5(iPad OS 15.6.1) によるものです。

*2:余談:OAuth2というAPI規格を使うとこの問題を解決できるのですが、2022/12現在のショートカットアプリでは対応していません。今後のiPhoneのアップデートに期待します😥