QR コードバインディングのフロー(推奨)
QR コードバインディングはdingtalk、feishu、wecom、wechat のすべてのチャネルで利用でき、手順は次のとおりです:
- Channel を作成する: Channel の作成 API を呼び出し、
name、channel_type、identity_id、template_idを渡します。channel_config.credentialsは省略します。 - QR Session を作成する: Channel QR Session の作成 API を呼び出し、
qr_code_image_base64(QR コード画像)またはqr_code_content(認可 URL)、および推奨ポーリング間隔poll_interval_secondsを取得します。 - QR コードを表示して認可する: QR コードをユーザーに表示し、対応するチャネルのクライアントで QR コードを読み取り、認可を確認します。
- 認可状態をポーリングする:
poll_interval_secondsの間隔で Channel QR Session の取得 を呼び出し、statusがconfirmedになるまでポーリングします(他の状態:waiting、scanned、expired、denied、error)。 - バインディングを完了する:
status=confirmedの後に Channel の詳細を更新すると、binding_statusがboundになり、受信メッセージを受け取って自動返信できるようになります。
QR コードの有効期限は短めです。
expired または denied になった場合は、QR Session を再作成して再度読み取ってください。直接認証情報による連携(必要に応じて)
直接認証情報を使用する必要がある場合は、対応する開放プラットフォームでアプリ / ボットを作成し、権限を設定して認証情報を取得したうえで、Channel の作成 API のchannel_config.credentials に渡します。各チャネルの channel_type と認証情報フィールドの対応:
| チャネル | channel_type | channel_config.credentials フィールド | QR バインディングをサポート |
|---|---|---|---|
| DingTalk | dingtalk | client_id、client_secret | はい(推奨) |
| Feishu | feishu | app_id、app_secret | はい(推奨) |
| WeCom | wecom | bot_id、secret | はい(推奨) |
| 個人 WeChat | wechat | 認証情報は不要 | QR バインディングのみ |
認証情報は Channel の作成 / 更新時にのみ書き込まれ、平文では返されません。
DingTalk
DingTalk アプリを作成する
- DingTalk 開放プラットフォーム にアクセスします。開発者権限を持つ組織を選択するか、いずれかの組織を選択して開発者権限を取得してください。適切な組織がない場合は、モバイル版 DingTalk で QR コードをスキャンして組織を素早く作成できます。
- トップナビゲーションの アプリ開発 をクリックし、DingTalk アプリのページで アプリを作成 をクリックします。
DingTalk ボットを作成する
- アプリを作成したら、左側ナビゲーションで アプリ機能を追加 を選択し、右側のボットカード下の 追加 ボタンをクリックします。
- ボット設定ページで、ボット設定を有効にします。
- メッセージ受信モード で Stream モード を選択し、公開 をクリックしてボット設定を完了します。
権限を設定する
アプリの 権限管理 で、以下の権限を有効にします:| 権限 | 説明 |
|---|---|
Card.Streaming.Write | カードメッセージのストリーミング書き込み |
Card.Instance.Write | カードインスタンスの作成 / 更新 |
qyapi_robot_sendmsg | ボットのメッセージ送信 |
アプリを公開する
- 左側ナビゲーションで バージョン管理と公開 を選択し、新規バージョンを作成 をクリックします。
- アプリのバージョン番号とバージョン説明を入力し、業務のニーズに応じてアプリの利用可能範囲を選択し、保存 をクリックして公開を完了します。
利用可能範囲を全社員に設定すると、公開後、現在の企業内のすべての社員に対してアプリが表示されます。
認証情報を取得する
左側ナビゲーションの 認証情報と基本情報 ページで Client ID と Client Secret を記録します。これらはそれぞれ API のclient_id と client_secret に対応します。
Feishu
Feishu アプリを作成する
- Feishu 開放プラットフォーム にアクセスし、右上の 開発者コンソール をクリックします。
- 企業向けカスタムアプリを作成 をクリックし、必要な情報を入力して 作成 をクリックします。
ボットの追加と設定
- 左側ナビゲーションで アプリ機能を追加 を選択し、ボットカードの 追加 ボタンをクリックします。
- ボット設定カードの「利用の始め方」の右側にある編集アイコンをクリックします。
- メッセージカードのコールバックリクエスト方式 領域で 設定へ をクリックし、購読方式として 長時間接続によるコールバック受信 を選択して保存します。
- イベント設定 をクリックし、購読方式として同様に 長時間接続によるコールバック受信 を選択して保存します。
- イベント設定ページで、次の 4 つのイベントを追加して保存します:
- ボットがグループに参加
- ボットがグループから削除
- メッセージ既読
- メッセージ受信
権限を設定する
権限管理 > 権限の有効化 で 権限の一括インポート / エクスポート をクリックし、以下の JSON を貼り付けて必要な権限をワンクリックでインポートし、確認後 申請して有効化 をクリックします:アプリを公開する
- 左側ナビゲーションで バージョン管理と公開 を選択します。
- バージョンを作成 をクリックし、必要な情報を入力して 保存 をクリックします。
認証情報を取得する
アプリの 認証情報と基本情報 ページで App ID(cli_xxx のような形式)と App Secret をコピーします。これらはそれぞれ API の app_id と app_secret に対応します。
WeCom
スマートボットを作成する
- WeCom 管理コンソール にアクセスし、左側ナビゲーションで セキュリティと管理 > 管理ツール をクリックし、ボットを作成 をクリックしてから 手動で作成 をクリックします。
- ボットの表示範囲を設定します。
- ページの下部までスクロールして API モードで作成 をクリックし、接続方法として 長時間接続を使用 を選択します。
認証情報を取得する
設定方法の Secret 領域で クリックして取得 をクリックし、Bot ID と Secret を記録します。これらはそれぞれ API のbot_id と secret に対応します。
個人 WeChat
個人 WeChat は QR コードバインディング のみをサポートし、開放プラットフォームでアプリを作成する必要も、直接認証情報を設定する必要もありません。Channel 作成時にchannel_type に wechat を渡し、上記の QR コードバインディングのフロー(推奨) に従って認可を完了してください。