資料串接

如何用 Webhook 將填表資料即時發送給第三方系統


什麼是 Webhook

你是否曾經在網路上把 Email 提供給某個服務商,當服務商有最新消息的時候就會通知你。Webhook 有一點類似 Email 訂閱最新消息的概念,是2個系統之間的訂閱機制。差別是,系統之間的傳輸地址是一個 URL 網址,這個網址就叫做 Webhook URL。

簡單來說,你可以把 Webhook 想像成是一種網路通知的技術,或一個網路地址。2個不同的系統可以透過協定的網路地址互相傳遞資料。

發燒互動的表單系統也提供通知功能,你可以在後台註冊一個 Webhook URL,當表單有新的填表內容,發燒互動的系統就會通知你的  Webhook URL,同時把填表的資料發送給這個網址。(資料格式如下)

市場上有相當多的工具可以接受 Webhook 資料拋接,例如 Googlesheets,Zapier,mailchimp  等等!

你也可以請 IT 人員將填表資料即時記錄到企業的資料庫系統。

發燒互動表單 Webhook 格式

以下是某個表單的格式範例
{
    "webhook_id": “f2f7a357-971f-459d-97b6-636f09d913bd”,
    "event_type": "formSubmit",
    "version": "1",
    "payload": {
        "form_id": 104,
        "title": "form example",
        “serial_number”: 190,
        “uid”: "temp_8fd49340-950b-11ea-b0fb-79250516b2b6",
        “login_id”:  "12345",
        "submitted_at": 1585129540,
        "fields": [
            {
                "id": 1,
                "name": "full name",
                "value": "John Doe",
                "ref": "your name"
            },
            {
                "id": 2,
                "name": "email",
                "value": "john.doe@example.com",
                "ref": ""
            },
            {
                "id": 3,
                "name": "what's your favorite pets",
                "value": "dogs,cats,rabbits",
                "ref": ""
            },
            {
                "id": 4,
                "name": "what's your gender",
                "value": "male",
                "ref": ""
            },
            {
                "id": 5,
                "name": "county/city",
                "value": "Taipei City",
                "ref": "address1"
            },
            {
                "id": 6,
                "name": "district",
                "value": "Zhongshan District",
                "ref": "address2"
            },
            {
                "id": 7,
                "name": "term of use",
                "value": true,
                "ref": ""
            },
            {
                "id": 8,
                "name": "rf",
                "value": "some hidden value",
                "ref": ""
            }
        ],
       "tracking": {            
                "ga_client_id": "1855437272.1588751465",            
                "utm_source": "",            
                "utm_campaign": "",            
                "utm_medium": "",            
                "utm_term": "",            
                "utm_content": ""        
         }
    }
}

Header 資料型態 說明
X-Fever-Signature string 來自 Feversocial 的數位簽章,使用 HMAC-SHA256 產生
Key 資料型態
webhook_id string webhook 唯一 ID
event_type string webhook 事件類型
version string webhook api 版本號
payload object 主要的資料

Payload 格式說明

Key

資料型態 說明
form_id
number 表單唯一 ID
title
string 表單標題
serial_number
number 活動參與者序號
uid
stringFeversocial 內部唯一識別序號
login_id
string登入者ID (facebook,line或會員ID)
submitted_at
number UNIX timestamp
fields
array 表單資料欄位

id number 欄位唯一 ID

name string 欄位顯示名稱

value string, bool 網友填表值

ref string 欄位別名

is_multiple_choice bool 是否為複選題
tracking

追蹤碼
如果表單所在網址有utm 參數, 系統會自動儲存

utm_campaignstring

utm_sourcestring

utm_mediumstring

utm_termstring

utm_contentstring

查看 webhook 串接規格文件

icon_BackToTop