外部データ参照

2020-11-11
2023-01-19

概要

SPALOアシスタントなどのチャットアプリで回答タイプ「外部データ参照」が呼ばれると、設定されたWebhook-URL宛てに呼び出された項目名やこれまで会話で収集した情報が通知されます。

リクエスト

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

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

リクエストオブジェクト

パラメータ内容
webhookKeystringWebhookのキー(固定値)。エンドポイント保護に利用します。
secretHashstringwebhook 毎の clientSecret の hash値(可変値)。エンドポイント保護に利用します。
eventstringsearch
eventTimestringイベント時刻
botNamestringボット名
item_namestringWebhook通知時の検索項目名
infoobject送信者情報(下記参照)
dataarrayセル連携ない回答タイプを含む入力済み全データ(下記参照)

info

キー内容
userIdstringユーザーID
userNamestringユーザー名
emailstringメールアドレス

data

キー内容
idstringセル番地
typestring回答タイプ(種類は以下参照)
titlestringシナリオ項目名
valuestring入力値(回答値)
latitudenumberGPS情報がある場合に付与
longitudenumberGPS情報がある場合に付与

回答タイプの種類

 回答タイプtype名
テキストtext
数字number
日付date
時間time
メールアドレスemail
ボタンbutton
確認ボタンconfirm
チェックボックスcheckbox
位置情報address
バーコードbarcode
画像image
手書きcanvas

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

回答タイプ「外部データ参照」に、項目名「中間送信」が設定されている際、「中間送信」の項目が呼ばれた際に通知されるリクエストオブジェクトの例

{
  "webhookKey": "85126C79CBF9FE36BB9D05D0639C70C235C18D37",
  "secretHash": "$2a$10$87xh2Zrb9i0MFZPcPZRJ0uaER3C9Q6S.FrEWn6gsCvwblG43OMlE6",
  "event": "SEARCH",
  "eventTime": "2023-01-15 13:25:09",
  "item_name": "中間送信",
  "data": [
    {
      "id": "C6",
      "type": "date",
      "value": "2023年01月15日",
      "title": "作業日"
    },
    {
      "id": "C7",
      "type": "time",
      "value": "13時24分",
      "title": "開始時間"
    },
    {
      "id": "C8",
      "type": "number",
      "value": "23",
      "title": "参加人数"
    },
    {
      "id": "C12",
      "type": "address",
      "value": "アメリカ合衆国 カリフォルニア州 クパチーノ",
      "title": "現在地",
      "latitude": 37.3229978,
      "longitude": -122.0321823
    },
    {
      "id": "C21",
      "type": "image",
      "value": "gs://bungu/tmp/1839/502/original/20230115132455798.jpg",
      "title": "現場写真"
    },
    {
      "id": "C22",
      "type": "canvas",
      "value": "gs://bungu/tmp/1839/502/original/20230115132503338.png",
      "title": "署名"
    }
  ],
  "botName": "業務日報",
  "info": {
    "userId": 123,
    "userName": "鈴木一郎",
    "email": "suzuki@spalo.co.jp"
  }
}

レスポンス

レスポンスには下記の形式でデータを返してください。

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

ボタンレイアウト

名前備考
typestringcarousel
layoutstringbutton
actionsarray下記参照(最大データ件数:200)

actions

名前最大文字数備考
labelstring50画面表示用
textstring50データ用

レスポンス例

{  
  "type": "carousel",
  "layout": "button",
  "actions": [
     {
       "label": "営業部",
       "text": "sales"
     },
     {
       "label": "開発部",
       "text": "development"
     }
   ]
}

画像レイアウト

名前備考
typestringcarousel
layoutstringimage
actionsarray下記参照(最大データ件数:10)

actions

名前最大文字数備考
labelstring50画面表示用
textstring50データ用
uristring画像URI(画面表示用)

画像の制限

  • サイズ上限:1280 x 960
  • ファイルサイズ上限:1MB/毎
  • フォーマット:png, jpg, jpeg
  • URIプロトコル:https (httpは動作保証なし)

レスポンス例

{  
  "type": "carousel",
  "layout": "image",
  "actions": [
     {
       "label": "iPhone 12",
       "text": "iPhone12",
       "uri": "https://domain-example.jp/test/iphone12.png"
     },
     {
       "label": "iPhone 12 mini",
       "text": "iPhone12mini",
       "uri": "https://domain-example.jp/test/iphone12mini.png"
     }
   ]
}
PAGE TOP