データ送信

2020-11-11
2023-03-01

概要

SPALOアシスタントなどのチャットアプリを使い、送信Webhookが設定されたBotで「送信」し、帳票Excelのファイル送信に成功すると、登録されたWebhook-URL宛に、帳票データを通知します。

リクエスト

リクエストは以下の形式で送られます。

  • HTTP Method:POST
  • Content-Type:application/Json
  • 文字コード:UTF-8
  • タイムアウト:5秒

リクエストオブジェクト

パラメータ内容
webhookKeystringWebhookのキー(固定値)。エンドポイント保護に利用します。
secretHashstringwebhook 毎の clientSecret の hash値(可変値)。エンドポイント保護に利用します。
eventstringSEND
eventTimestringイベント時刻
historyIdnumber履歴ID(Excelファイルの送信に成功すると採番されます)
workspaceNamestringワークスペース名
groupNamestringグループ名
botIdnumberボットID
botNamestringボット名
senderIdnumber送信者ID
senderNamestring送信者名
infoobject送信者情報(以下参照)
dataDetailarray送信データ(以下参照)
dataobject送信データ(以下参照)

info

データ参照の「info」と共通

dataDetail

データ参照の「data」と共通

data

keyvalue
項目名

※ 画像ファイルのフォーマット:botId_送信者ID_履歴ID_セル番地.jpg
※ 画像ファイル名は、送信Webhookと履歴画面からダウンロードした場合とで共通です。

リクエストオブジェクト例

{
  "webhookKey": "85126C79CBF9FE36BB9D05D0639C70C235C18D37",
  "secretHash": "$2a$10$RtbA2ad/V/3eXIX5L3s6IOARJCbs7RYSyGWeBZpRv6n1d8QInfdAq",
  "event": "SEND",
  "eventTime": "2023-01-15 08:29:22",
  "info": {
    "userId": 123,
    "userName": "鈴木一郎",
    "email": "suzuki@spalo.co.jp"
  },
  "historyId": 82196,
  "workspaceName": "デモスペース",
  "groupName": "デモグループ",
  "botId": 1837,
  "botName": "業務日報",
  "senderId": 502,
  "senderName": "鈴木",
  "data": {
    "報告日": "2023年01月15日",
    "開始時間": "08時28分",
    "参加人数": "111",
    "現在地": {
      "address": "アメリカ合衆国 カリフォルニア州 クパチーノ",
      "latitude": 37.3229978,
      "longitude": -122.0321823
    },
    "現場写真": "1837_502_82196_C21.jpg",
    "署名": "1837_502_82196_C22.png",
  },
  "dataDetail": [
    {
      "id": "C6",
      "type": "date",
      "value": "2023年01月15日",
      "title": "報告日"
    },
    {
      "id": "C7",
      "type": "time",
      "value": "08時28分",
      "title": "開始時間"
    },
    {
      "id": "C8",
      "type": "number",
      "value": "111",
      "title": "参加人数"
    },
    {
      "id": "C12",
      "type": "address",
      "value": "アメリカ合衆国 カリフォルニア州 クパチーノ",
      "title": "現在地",
      "latitude": 37.3229978,
      "longitude": -122.0321823
    },
    {
      "id": "C21",
      "type": "image",
      "value": "1837_502_82196_C21.jpg",
      "title": "現場写真"
    },
    {
      "id": "C22",
      "type": "canvas",
      "value": "1837_502_82196_C22.png",
      "title": "署名"
    },
  ]
}

レスポンス

下記の形式でデータを返してください。

  • HTTPステータスコード:200
  • Content-Type:application/Json
  • 文字コード:UTF-8

カスタムレスポンス

独自のメッセージを返すことができます。

  • HTTPステータスコード:200, 400
  • Content-Type:application/Json
  • 文字コード:UTF-8
パラメータ内容
typestringtext
textstring任意の文字列

ステータスコード200で返す例

カスタムメッセージと共に「リセット」ボタンをチャットツールに表示します。

res.status(200).send({
    "type": "text",
    "text": "送信結果を受け付けました。https://spalo.jp",
})

ステータスコード400で返す例

カスタムメッセージと共に「送信」ボタンをチャットツールに表示します。

res.status(400).send({
    "type": "text",
    "text": "送信結果を処理できません。再度、送信して下さい。",
});

表示例

ステータスコード:200

ステータスコード:400

PAGE TOP