> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ボットによるメッセージ返信 / 送信

> Webhook またはサーバーAPI を選択してボットがメッセージを送信する実装方法を習得できます

ボットによるメッセージ返信またはボットによるメッセージ送信を実装する必要がある場合は、本ドキュメントの手順に沿って開発を進めることができます。

## 背景情報

ボットによるメッセージ返信は、本質的にはボットがメッセージを送信するプロセスです。そのため、本ドキュメントにおいては、メッセージの返信と送信は同じ意味を持ちます。

メッセージの送信方法には、サーバー API と Webhook の 2 種類があります。以下では、これら 2 つの送信方法について説明します。

## 前提条件

1. [アプリの作成](/ja/open/dingstart/create-application) のフローを完了している必要があります。
2. アプリ機能の追加フローを完了している必要があります。

## Webhook によるメッセージ送信

### Webhook 方式によるメッセージ送信

<Note>
  Webhook 方式でメッセージを送信する場合、@ 機能をサポートしています。詳しくは下記の接続サンプルをご参照ください。
</Note>

1. アプリボットの Webhook URL を使用してメッセージを送信します。

   1. [ボットによるメッセージ受信](/ja/open/dingstart/robot-receive-message) で、グループ内のアプリボットの Webhook URL アドレスを取得します。詳細は [アプリボット Webhook の取得](/ja/open/development/faq-robot) をご参照ください。
   2. Java 開発環境の準備：

      * Java SDK を導入します。その他の言語の SDK は、旧バージョンのサーバーサイド SDK のダウンロードをご参照ください。

        ```xml lines theme={"theme":{"light":"github-light","dark":"github-dark"}}
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>alibaba-dingtalk-service-sdk</artifactId>
            <version>2.0.0</version>
        </dependency>
        ```
   3. 接続コードサンプル：

      ```java lines theme={"theme":{"light":"github-light","dark":"github-dark"}}
      public void sendMessageWebhook() throws ApiException {
              DingTalkClient client = new DefaultDingTalkClient("{ Webhook url アドレス }");
              OapiRobotSendRequest request = new OapiRobotSendRequest();
              request.setMsgtype("text");
              OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
              text.setContent("テストテキストメッセージ");
              request.setText(text);
              OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
              at.setAtUserIds(Arrays.asList("4525xxxxxxxxx7041"));
              at.setIsAtAll(false);
              request.setAt(at);
              OapiRobotSendResponse response = client.execute(request);
              System.out.println(response.getBody());
      }
      ```

      その他のメッセージタイプについては、カスタムボットが送信するメッセージのタイプをご参照ください。
2. ボット受信メッセージ内の sessionWebhook フィールドを使用してメッセージを送信します。

   1. [ボットによるメッセージ受信](/ja/open/dingstart/robot-receive-message) の JSON データから sessionWebhook アドレスを取得します。
   2. Java 開発環境の準備：

      * Java SDK を導入します。その他の言語の SDK は、旧バージョンのサーバーサイド SDK のダウンロードをご参照ください。

        ```xml lines theme={"theme":{"light":"github-light","dark":"github-dark"}}
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>alibaba-dingtalk-service-sdk</artifactId>
            <version>2.0.0</version>
        </dependency>
        ```
   3. 接続コードサンプル：

      ```java lines theme={"theme":{"light":"github-light","dark":"github-dark"}}
      public void sendMessageWebhook() throws ApiException {
              DingTalkClient client = new DefaultDingTalkClient("{ SessionWebhook url アドレス }");
              OapiRobotSendRequest request = new OapiRobotSendRequest();
              request.setMsgtype("text");
              OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
              text.setContent("テストテキストメッセージ");
              request.setText(text);
              OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
              at.setAtUserIds(Arrays.asList("4525xxxxxxxxx7041"));
              at.setIsAtAll(false);
              request.setAt(at);
              OapiRobotSendResponse response = client.execute(request);
              System.out.println(response.getBody());
      }
      ```

      その他のメッセージタイプについては、カスタムボットが送信するメッセージのタイプをご参照ください。

## サーバー API によるメッセージ送信

サーバー API によるメッセージ送信のリストです。その他の API 内容については [ボットサーバー API](/ja/open/development/development-robot-overview) をご参照ください。

| **API 名**                                                                                                                 | **説明**                                                                         |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [ボットによるグループチャットメッセージ送信](/ja/open/development/the-robot-sends-a-group-message)                                             | グループ内でメッセージを送信します。  現在、@ 機能はサポートしていません。                                        |
| [人とボットのチャットにおけるボットメッセージの一括送信](/ja/open/development/chatbots-send-one-on-one-chat-messages-in-batches)                     | 人とボットのチャットでメッセージを送信します。  現在、@ 機能はサポートしていません。                                   |
| [人と人のチャットにおけるボットによる通常メッセージの送信](/ja/open/development/the-robot-sends-ordinary-messages-in-a-person-to-person-conversation) | 人と人のチャットでメッセージを送信します。  現在、@ 機能はサポートしていません。  **説明**  個別チャットのクールアプリシーンでのみ使用可能です。 |

サーバー API の呼び出し詳細については、サーバー API の呼び出し方法に関するドキュメントをご参照ください。

## 後続のステップ

ボットによるメッセージ送信の開発が完了したら、アプリの公開を行う必要があります。
