データ送信
2020-11-11
2023-03-01
概要
SPALOアシスタントなどのチャットアプリを使い、送信Webhookが設定されたBotで「送信」し、帳票Excelのファイル送信に成功すると、登録されたWebhook-URL宛に、帳票データを通知します。
リクエスト
リクエストは以下の形式で送られます。
- HTTP Method:POST
- Content-Type:application/Json
- 文字コード:UTF-8
- タイムアウト:5秒
リクエストオブジェクト
パラメータ | 型 | 内容 |
---|---|---|
webhookKey | string | Webhookのキー(固定値)。エンドポイント保護に利用します。 |
secretHash | string | webhook 毎の clientSecret の hash値(可変値)。エンドポイント保護に利用します。 |
event | string | SEND |
eventTime | string | イベント時刻 |
historyId | number | 履歴ID(Excelファイルの送信に成功すると採番されます) |
workspaceName | string | ワークスペース名 |
groupName | string | グループ名 |
botId | number | ボットID |
botName | string | ボット名 |
senderId | number | 送信者ID |
senderName | string | 送信者名 |
info | object | 送信者情報(以下参照) |
dataDetail | array | 送信データ(以下参照) |
data | object | 送信データ(以下参照) |
info
データ参照の「info」と共通
dataDetail
データ参照の「data」と共通
data
key | value |
---|---|
項目名 | 値 |
※ 画像ファイルのフォーマット: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
パラメータ | 型 | 内容 |
---|---|---|
type | string | text |
text | string | 任意の文字列 |
ステータスコード200で返す例
カスタムメッセージと共に「リセット」ボタンをチャットツールに表示します。
res.status(200).send({
"type": "text",
"text": "送信結果を受け付けました。https://spalo.jp",
})
ステータスコード400で返す例
カスタムメッセージと共に「送信」ボタンをチャットツールに表示します。
res.status(400).send({
"type": "text",
"text": "送信結果を処理できません。再度、送信して下さい。",
});