メインコンテンツへスキップ
ユーザーがグループボットに @ メンションするか、ボットと個別チャットでチャットを送信すると、DingTalk はボット開発者の HTTPS サービスアドレスを通じてチャットコンテンツを送信します。本書では、ボットのチャット受信プロトコルについて説明します。

HTTP header パラメータ

開発者は header 内の timestamp と sign を検証し、DingTalk からの正規のリクエストであるかを判定する必要があります。これにより、第三者が DingTalk を装って開発者の HTTPS サービスを呼び出しデータを送信することを防止できます。具体的な検証ロジックは以下のとおりです。
  • timestamp とシステムの現在のタイムスタンプの差が 1 時間を超える場合、不正なリクエストと見なします。
  • sign が開発者自身の計算結果と一致しない場合、不正なリクエストと見なします。
timestamp と sign の両方の検証に通過した場合のみ、DingTalk からの正規のリクエストと見なせます。

sign の計算方法

header 内の timestamp + “\n” + ボットの appSecret を署名文字列とし、HmacSHA256 アルゴリズムで署名を計算し、Base64 encode を行って最終的な署名値を取得します。 署名計算のコード例(Java)

HTTP Body

パラメータの説明

受信可能なチャットタイプ

ボットは現在、テキスト、音声、画像、ファイル、動画、リッチテキストタイプのチャットを受信できます。下表は、ボットが各種チャットタイプを受信する際のフィールド説明です。チャットタイプとチャット本文のフィールド以外は、上表のパラメータフィールドと同じです。

重要

  • グループチャット内:グループメンバーがボットを @ する場合、ボットは音声、ファイル、動画タイプを受信できません
  • 個人間のチャットでは、ボットは音声、ファイル、動画タイプを受信できません
  • 個人とボットのチャットでは、ボットは音声、ファイル、動画タイプを受信できます

テキストチャット

パラメータの説明:

音声チャット

パラメータの説明:

画像チャット

パラメータの説明:

動画チャット

パラメータの説明:

ファイルチャット

パラメータの説明:

リッチテキストチャット

パラメータの説明:

HTTP レスポンス形式

開発者は業務ニーズに応じて、返信メッセージを選択できます。現在、text、markdown、全体ジャンプ actionCard タイプ、独立ジャンプ actionCard タイプ、feedCard の 5 つのチャットタイプに対応しています。