Contents

Outgoing Webhooks

ボット用のアカウントに対するメンションを Outgoing Webhook で指定したプログラムで処理することができます。

  1. トピック編集ページから、bot (任意) という ID でボットを作成し、Outgoing Webhook URL を設定してください。Basic 認証もサポートしています。(例: http://user:password@example.com/
  2. 該当のトピックで “@bot+ こんにちは” ( 1 で作成した bot の ID の最後に + がつきます ) のように、ボットアカウント宛にメンションしてください。
  3. そうすると、Outgoing Webhook URL で指定した URL に以下のようなデータが POST されます。データはリクエスト BODY から JSON 形式で取得することができます。
  4. 同じトピックにメッセージをポストしたい場合は、指定の JSON 形式のレスポンスを返してください。 サンプルも参照してください。

リクエストボディの例

{
  "topic": {
    "id": 208,
    "name": "IT Peeps",
    "suggestion": "IT Peeps",
    "lastPostedAt": "2014-12-10T09:00:29Z",
    "createdAt": "2014-06-10T02:32:29Z",
    "updatedAt": "2014-06-10T02:32:29Z"
  },
  "post": {
    "id": 333,
    "topicId": 208,
    "replyTo": null,
    "message": "Let's party like it's 1999!",
    "account": {
      "id": 100,
      "name": "jessica",
      "fullName": "Jessica Fitzherbert",
      "suggestion": "Jessica Fitzherbert",
      "imageUrl": "https://typetalk.com/accounts/100/profile_image.png?t=1403577149000",
      "createdAt": "2014-06-24T02:32:29Z",
      "updatedAt": "2014-06-24T02:32:29Z"
    },
    "mention": null,
    "attachments": [],
    "likes": [],
    "talks": [],
    "links": [],
    "createdAt": "2014-12-10T09:00:29Z",
    "updatedAt": "2014-12-10T09:00:29Z"
  }
}

レスポンスボディの例

メッセージに返信するには、以下のようなレスポンスを返してください。

{ "message": "Hello!", "replyTo": 333 }

fileKey と talkId も設定できます。メッセージの投稿 APIのパラメータと同じです。

{
    "message":  "Hello!",
    "replyTo": 333,
    "fileKeys": [ "abcdef", "ghijk" ],
    "talkIds": [ 200, 300 ]
}

Outgoing Webhooks

Outgoing Webhooks は、Typetalk の特定トピックに投稿されたメッセージを、外部サーバーに送信する機能です。

Integrating an Outgoing Webhook

  1. Outgoing Webhook を使いたいトピックの右上にある [•••] を選択し、「トピック設定」を開きます。
  2. 「ボット」タブを開き、「新規作成」ボタンを選択します。
  3. 「ボット ID」「ボット名」を入力し、「Outgoing Webhook を使う」にチェックを入れます。
  4. 送信するサーバーの URL を入力し、「作成」を選択します。

Request body

連携されると、 Typetalk は指定したサーバーに以下のようなリクエストボディを送信するので、サーバーはデータを受信して処理します。

{
  "topic": {
    "id": 208,
    "name": "IT Peeps",
    "suggestion": "IT Peeps",
    "lastPostedAt": "2014-12-10T09:00:29Z",
    "createdAt": "2014-06-10T02:32:29Z",
    "updatedAt": "2014-06-10T02:32:29Z"
  },
  "post": {
    "id": 333,
    "topicId": 208,
    "replyTo": null,
    "message": "Let's party like it's 1999!",
    "account": {
      "id": 100,
      "name": "jessica",
      "fullName": "Jessica Fitzherbert",
      "suggestion": "Jessica Fitzherbert",
      "imageUrl": "https://typetalk.com/accounts/100/profile_image.png?t=1403577149000",
      "createdAt": "2014-06-24T02:32:29Z",
      "updatedAt": "2014-06-24T02:32:29Z"
    },
    "mention": null,
    "attachments": [],
    "likes": [],
    "talks": [],
    "links": [],
    "createdAt": "2014-12-10T09:00:29Z",
    "updatedAt": "2014-12-10T09:00:29Z"
  }
}

Typetalk にレスポンスを返信する

サーバーは受信後に Typetalk に以下のような内容で返信することもできます。 ‘replyTo’ には受信したメッセージ ID を指定します:

{ "message": "Hello!", "replyTo": 333 }

詳細は メッセージを投稿する API を参照ください。

Outgoing Webhook を削除する

  1. Outgoing Webhook を削除したいトピックの右上にある [•••] を選択し、「トピック設定」を開きます。
  2. 「ボット」タブを開き、設定したボットを選択します。
  3. 「Outgoing Webhook を使う」のチェックを外し、「更新」を選択します。