Repository: line/line-bot-sdk-go
Pull request #312 (2022-04-29 09:13:33)

Update version to 7.15.0
Update version to 7.15.0 - add webhook redelivery


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1a0bcf2..44a3990 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Changelog
 
+## [v7.15.0](https://github.com/line/line-bot-sdk-go/tree/v7.15.0) (2022-04-29)
+
+[Full Changelog](https://github.com/line/line-bot-sdk-go/compare/v7.14.0...v7.15.0)
+
+**Merged pull requests:**
+
+- add webhook redelivery. [\#311](https://github.com/line/line-bot-sdk-go/pull/311)([hinoguma](https://github.com/hinoguma))
+
 ## [v7.14.0](https://github.com/line/line-bot-sdk-go/tree/v7.14.0) (2022-03-18)
 
 [Full Changelog](https://github.com/line/line-bot-sdk-go/compare/v7.13.0...v7.14.0)
diff --git a/linebot/event.go b/linebot/event.go
index bc333f7..81da7a2 100644
--- a/linebot/event.go
+++ b/linebot/event.go
@@ -189,11 +189,6 @@ const (
 	StickerResourceTypeNameText       StickerResourceType = "CUSTOM"
 )
 
-// DeliveryContext type
-type DeliveryContext struct {
-	IsRedelivery bool `json:"isRedelivery"`
-}
-
 // Event type
 type Event struct {
 	ReplyToken        string
@@ -211,8 +206,6 @@ type Event struct {
 	Members           []*EventSource
 	Unsend            *Unsend
 	VideoPlayComplete *VideoPlayComplete
-	WebhookEventID    string
-	DeliveryContext   DeliveryContext
 }
 
 type rawEvent struct {
@@ -230,8 +223,6 @@ type rawEvent struct {
 	Things            *rawThingsEvent      `json:"things,omitempty"`
 	Unsend            *Unsend              `json:"unsend,omitempty"`
 	VideoPlayComplete *VideoPlayComplete   `json:"videoPlayComplete,omitempty"`
-	WebhookEventID    string               `json:"webhookEventId"`
-	DeliveryContext   DeliveryContext      `json:"deliveryContext"`
 }
 
 type rawMemberEvent struct {
@@ -308,8 +299,6 @@ func (e *Event) MarshalJSON() ([]byte, error) {
 		Postback:          e.Postback,
 		Unsend:            e.Unsend,
 		VideoPlayComplete: e.VideoPlayComplete,
-		WebhookEventID:    e.WebhookEventID,
-		DeliveryContext:   e.DeliveryContext,
 	}
 	if e.Beacon != nil {
 		raw.Beacon = &rawBeaconEvent{
@@ -434,8 +423,6 @@ func (e *Event) UnmarshalJSON(body []byte) (err error) {
 	e.Mode = rawEvent.Mode
 	e.Timestamp = time.Unix(rawEvent.Timestamp/milliSecPerSec, (rawEvent.Timestamp%milliSecPerSec)*nanoSecPerMilliSec).UTC()
 	e.Source = rawEvent.Source
-	e.WebhookEventID = rawEvent.WebhookEventID
-	e.DeliveryContext = rawEvent.DeliveryContext
 
 	switch rawEvent.Type {
 	case EventTypeMessage:
diff --git a/linebot/raw.go b/linebot/raw.go
index f542af8..750e1fd 100644
--- a/linebot/raw.go
+++ b/linebot/raw.go
@@ -27,7 +27,7 @@ func (client *Client) NewRawCall(method string, endpoint string) (*RawCall, erro
 		return nil, err
 	}
 	return &RawCall{
-		c:   client,
+		c: client,
 		req: req,
 	}, nil
 }
@@ -39,7 +39,7 @@ func (client *Client) NewRawCallWithBody(method string, endpoint string, body io
 		return nil, err
 	}
 	return &RawCall{
-		c:   client,
+		c: client,
 		req: req,
 	}, nil
 }
@@ -49,7 +49,7 @@ type RawCall struct {
 	c   *Client
 	ctx context.Context
 
-	req *http.Request
+	req         *http.Request
 }
 
 // AddHeader method
diff --git a/linebot/version.go b/linebot/version.go
index 39b0615..f04b4b9 100644
--- a/linebot/version.go
+++ b/linebot/version.go
@@ -16,4 +16,4 @@
 
 package linebot
 
-const version = "7.14.0"
+const version = "7.15.0"


Test patch:
diff --git a/linebot/get_ids_test.go b/linebot/get_ids_test.go
index 0c6ba4c..2ed705e 100644
--- a/linebot/get_ids_test.go
+++ b/linebot/get_ids_test.go
@@ -408,11 +408,11 @@ func TestGetGroupMemberIDsScanner(t *testing.T) {
 	}
 
 	testCases := []struct {
-		FirstResponse  *MemberIDsResponse
+		FirstResponse   *MemberIDsResponse
 		SecondResponse *MemberIDsResponse
 	}{
 		{
-			FirstResponse:  res1,
+			FirstResponse:   res1,
 			SecondResponse: res2,
 		},
 		{
@@ -497,11 +497,11 @@ func TestGetRoomMemberIDsScanner(t *testing.T) {
 	}
 
 	testCases := []struct {
-		FirstResponse  *MemberIDsResponse
+		FirstResponse   *MemberIDsResponse
 		SecondResponse *MemberIDsResponse
 	}{
 		{
-			FirstResponse:  res1,
+			FirstResponse:   res1,
 			SecondResponse: res2,
 		},
 		{
diff --git a/linebot/webhook_test.go b/linebot/webhook_test.go
index ed55c1e..e2128fd 100644
--- a/linebot/webhook_test.go
+++ b/linebot/webhook_test.go
@@ -41,10 +41,6 @@ var webhookTestRequestBody = `{
             "source": {
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
-            },
-			"webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
             },
             "message": {
                 "id": "325708",
@@ -62,10 +58,6 @@ var webhookTestRequestBody = `{
                 "groupId": "u206d25c2ea6bd87c17655609a1c37cb8",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": true
-            },
             "message": {
                 "id": "325708",
                 "type": "text",
@@ -82,10 +74,6 @@ var webhookTestRequestBody = `{
                 "groupId": "u206d25c2ea6bd87c17655609a1c37cb8",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "text",
@@ -114,10 +102,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "image"
@@ -132,10 +116,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "type": "image",
                 "id": "354718705033693861",
@@ -158,10 +138,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "type": "video",
                 "id": "325708",
@@ -182,10 +158,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "type": "audio",
                 "id": "325708",
@@ -204,10 +176,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "file",
@@ -224,10 +192,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "location",
@@ -246,10 +210,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "sticker",
@@ -267,10 +227,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "sticker",
@@ -288,10 +244,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "3257088",
                 "type": "sticker",
@@ -309,10 +261,6 @@ var webhookTestRequestBody = `{
             "source": {
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
-            },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
             }
         },
         {
@@ -322,10 +270,6 @@ var webhookTestRequestBody = `{
             "source": {
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
-            },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
             }
         },
         {
@@ -336,10 +280,6 @@ var webhookTestRequestBody = `{
             "source": {
                 "type": "group",
                 "groupId": "cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
-            },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
             }
         },
         {
@@ -349,10 +289,6 @@ var webhookTestRequestBody = `{
             "source": {
                 "type": "group",
                 "groupId": "cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
-            },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
             }
         },
         {
@@ -364,10 +300,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "postback": {
                 "data": "action=buyItem&itemId=123123&color=red"
             }
@@ -381,10 +313,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "postback": {
                 "data": "action=sel&only=date",
 				"params": {
@@ -401,10 +329,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "postback": {
                 "data": "action=sel&only=time",
 				"params": {
@@ -421,10 +345,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "postback": {
                 "data": "action=sel",
 				"params": {
@@ -441,10 +361,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "postback": {
                 "data": "action=richmenu-changed-to-a",
 								"params": {
@@ -462,10 +378,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "U012345678901234567890123456789ab"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "beacon": {
                 "hwid":"374591320",
                 "type":"enter"
@@ -480,10 +392,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "U012345678901234567890123456789ab"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "beacon": {
                 "hwid":"374591320",
                 "type":"enter",
@@ -499,10 +407,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "U012345678901234567890123456789ab"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "beacon": {
                 "hwid":"374591320",
                 "type":"stay",
@@ -517,10 +421,6 @@ var webhookTestRequestBody = `{
             "userId": "U012345678901234567890123456789ab",
             "type": "user"
           },
-          "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-          "deliveryContext": {
-            "isRedelivery": false
-          },
           "timestamp": 1462629479859,
           "link": {
             "result": "ok",
@@ -536,10 +436,6 @@ var webhookTestRequestBody = `{
             "type": "group",
             "groupId": "C4af498062901234567890123456789ab"
           },
-          "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-          "deliveryContext": {
-            "isRedelivery": false
-          },
           "joined": {
             "members": [
               {
@@ -561,10 +457,6 @@ var webhookTestRequestBody = `{
             "type": "group",
             "groupId": "C4af498062901234567890123456789ab"
           },
-          "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-          "deliveryContext": {
-            "isRedelivery": false
-          },
           "left": {
             "members": [
               {
@@ -586,10 +478,6 @@ var webhookTestRequestBody = `{
             "type": "user",
             "userId": "U91eeaf62d901234567890123456789ab"
           },
-          "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-          "deliveryContext": {
-            "isRedelivery": false
-          },
           "things": {
             "deviceId": "t2c449c9d1...",
             "type": "link"
@@ -603,10 +491,6 @@ var webhookTestRequestBody = `{
             "type": "user",
             "userId": "U91eeaf62d901234567890123456789ab"
           },
-          "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-          "deliveryContext": {
-            "isRedelivery": false
-          },
           "things": {
             "deviceId": "t2c449c9d1...",
             "type": "unlink"
@@ -620,10 +504,6 @@ var webhookTestRequestBody = `{
             "type": "user",
             "userId": "U91eeaf62d901234567890123456789ab"
           },
-          "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-          "deliveryContext": {
-            "isRedelivery": false
-          },
           "things": {
             "deviceId": "t016b8dc6...",
             "type": "scenarioResult",
@@ -651,10 +531,6 @@ var webhookTestRequestBody = `{
             "userId":"U91eeaf62d901234567890123456789ab",
             "type":"user"
           },
-          "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-          "deliveryContext": {
-            "isRedelivery": false
-          },
           "timestamp":1563511218376,
           "things":{
             "deviceId":"t016b8d...",
@@ -681,10 +557,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "text",
@@ -700,10 +572,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "u206d25c2ea6bd87c17655609a1c37cb8"
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "message": {
                 "id": "325708",
                 "type": "text",
@@ -727,10 +595,6 @@ var webhookTestRequestBody = `{
                 "groupId": "Ca56f94637c...",
                 "userId": "U4af4980629..."
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "unsend": {
                 "messageId": "325708"
             }
@@ -744,10 +608,6 @@ var webhookTestRequestBody = `{
                 "type": "user",
                 "userId": "U4af4980629..."
             },
-            "webhookEventId": "01FZ74ASS536FW97EX38NKCZQK",
-            "deliveryContext": {
-                "isRedelivery": false
-            },
             "videoPlayComplete": {
                 "trackingId": "track_id"
             }
@@ -766,10 +626,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &TextMessage{
 			ID:   "325708",
 			Text: "Hello, world",
@@ -785,10 +641,6 @@ var webhookTestWantEvents = []*Event{
 			UserID:  "u206d25c2ea6bd87c17655609a1c37cb8",
 			GroupID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: true,
-		},
 		Message: &TextMessage{
 			ID:   "325708",
 			Text: "Hello, world",
@@ -804,10 +656,6 @@ var webhookTestWantEvents = []*Event{
 			UserID:  "u206d25c2ea6bd87c17655609a1c37cb8",
 			GroupID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &TextMessage{
 			ID:   "325708",
 			Text: "@openProfileUser Hello. @notOpenProfileUser Hello.",
@@ -835,10 +683,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &ImageMessage{
 			ID: "325708",
 		},
@@ -852,10 +696,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &ImageMessage{
 			ID: "354718705033693861",
 			ContentProvider: &ContentProvider{
@@ -877,10 +717,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &VideoMessage{
 			ID: "325708",
 			ContentProvider: &ContentProvider{
@@ -900,10 +736,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &AudioMessage{
 			ID: "325708",
 			ContentProvider: &ContentProvider{
@@ -921,10 +753,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &FileMessage{
 			ID:       "325708",
 			FileName: "file.txt",
@@ -940,10 +768,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &LocationMessage{
 			ID:        "325708",
 			Title:     "hello",
@@ -961,10 +785,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &StickerMessage{
 			ID:                  "325708",
 			PackageID:           "1",
@@ -981,10 +801,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &StickerMessage{
 			ID:                  "325708",
 			PackageID:           "1",
@@ -1001,10 +817,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &StickerMessage{
 			ID:                  "3257088",
 			PackageID:           "20",
@@ -1022,10 +834,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 	},
 	{
 		Type:      EventTypeUnfollow,
@@ -1035,10 +843,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 	},
 	{
 		ReplyToken: "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
@@ -1049,10 +853,6 @@ var webhookTestWantEvents = []*Event{
 			Type:    EventSourceTypeGroup,
 			GroupID: "cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 	},
 	{
 		Type:      EventTypeLeave,
@@ -1062,10 +862,6 @@ var webhookTestWantEvents = []*Event{
 			Type:    EventSourceTypeGroup,
 			GroupID: "cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 	},
 	{
 		ReplyToken: "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
@@ -1076,10 +872,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Postback: &Postback{
 			Data: "action=buyItem&itemId=123123&color=red",
 		},
@@ -1093,10 +885,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Postback: &Postback{
 			Data: "action=sel&only=date",
 			Params: &Params{
@@ -1113,10 +901,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Postback: &Postback{
 			Data: "action=sel&only=time",
 			Params: &Params{
@@ -1133,10 +917,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Postback: &Postback{
 			Data: "action=sel",
 			Params: &Params{
@@ -1153,10 +933,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Postback: &Postback{
 			Data: "action=richmenu-changed-to-a",
 			Params: &Params{
@@ -1174,10 +950,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U012345678901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Beacon: &Beacon{
 			Hwid:          "374591320",
 			Type:          BeaconEventTypeEnter,
@@ -1193,10 +965,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U012345678901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Beacon: &Beacon{
 			Hwid:          "374591320",
 			Type:          BeaconEventTypeEnter,
@@ -1212,10 +980,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U012345678901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Beacon: &Beacon{
 			Hwid:          "374591320",
 			Type:          BeaconEventTypeStay,
@@ -1231,10 +995,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U012345678901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		AccountLink: &AccountLink{
 			Result: AccountLinkResultOK,
 			Nonce:  "xxxxxxxxxxxxxxx",
@@ -1249,10 +1009,6 @@ var webhookTestWantEvents = []*Event{
 			Type:    EventSourceTypeGroup,
 			GroupID: "C4af498062901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Members: []*EventSource{
 			{
 				Type:   EventSourceTypeUser,
@@ -1272,10 +1028,6 @@ var webhookTestWantEvents = []*Event{
 			Type:    EventSourceTypeGroup,
 			GroupID: "C4af498062901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Members: []*EventSource{
 			{
 				Type:   EventSourceTypeUser,
@@ -1295,10 +1047,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U91eeaf62d901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Things: &Things{
 			DeviceID: `t2c449c9d1...`,
 			Type:     `link`,
@@ -1312,10 +1060,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U91eeaf62d901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Things: &Things{
 			DeviceID: `t2c449c9d1...`,
 			Type:     `unlink`,
@@ -1329,10 +1073,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U91eeaf62d901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Things: &Things{
 			DeviceID: "t016b8dc6...",
 			Type:     "scenarioResult",
@@ -1361,10 +1101,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U91eeaf62d901234567890123456789ab",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Things: &Things{
 			DeviceID: "t016b8d...",
 			Type:     "scenarioResult",
@@ -1389,10 +1125,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &TextMessage{
 			ID:   "325708",
 			Text: "Stand by me",
@@ -1407,10 +1139,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "u206d25c2ea6bd87c17655609a1c37cb8",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Message: &TextMessage{
 			ID:   "325708",
 			Text: "Hello, world! (love)",
@@ -1428,10 +1156,6 @@ var webhookTestWantEvents = []*Event{
 			GroupID: "Ca56f94637c...",
 			UserID:  "U4af4980629...",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		Unsend: &Unsend{
 			MessageID: "325708",
 		},
@@ -1445,10 +1169,6 @@ var webhookTestWantEvents = []*Event{
 			Type:   EventSourceTypeUser,
 			UserID: "U4af4980629...",
 		},
-		WebhookEventID: "01FZ74ASS536FW97EX38NKCZQK",
-		DeliveryContext: DeliveryContext{
-			IsRedelivery: false,
-		},
 		VideoPlayComplete: &VideoPlayComplete{
 			TrackingID: "track_id",
 		},