ユーザーにメッセージを送信する

このページでは、チャットボットからエンドユーザーにメッセージを送信する方法について説明します。

できること

Message API をチャットボットから呼び出すことで、特定のエンドユーザーに対してメッセージを送信できます。
「エンドユーザーからメッセージ受信時に、メッセージ内容に応じたメッセージを自動応答」など、チャットボットに実装されているロジックにもとづいて、任意のタイミングでのメッセージの送信が可能です。

セットアップ

App の編集画面で Message API の Scope を有効にします。
Message API の詳細につきましてはこちらを確認ください。

メッセージ送信処理の実装例

テキストメッセージを特定のエンドユーザーに対して送信するサンプルコードを以下に記載します。

const https = require('https');
const ACCESS_TOKEN = 'サービスアカウントのアクセストークン';

function sendMessage(user_id, messageText) {
  const body = JSON.stringify({
    client_id: 'サービスアカウントのclient_id',
    api_key: 'プロジェクトのapi_key',
    app_name: 'webchat',
    user_id: user_id,
    content: {
      text: messageText
    }
  });

  const authorizationHeader = 'Bearer ' + ACCESS_TOKEN;

  const headers = {
    'Content-Type': 'application/json; charset=utf-8',
    'Authorization': authorizationHeader
  };

  const options = {
    hostname: 'api.karte.io',
    path: '/v1/talk/message',
    method: 'POST',
    headers: headers
  };

  const req = https.request(options, (res) => {
    res.setEncoding('utf8');
    res.on('data', (chunk) => {
      console.log(chunk);
    });
  });

  req.write(body);
  req.end();
}

sendMessage('メッセージ送信先のuser_id', 'メッセージの内容');