如要獲取即時 Webhook 通知,必須符合以下條件:
如果應用程式的權限未達 Advanced Access 級別,則該應用程式將無法獲取 Webhook 通知。
media
欄位。-1
。comments
和 live_comments
Webhooks 欄位的 Webhooks 通知。 建立用於接收和處理 Webhooks 的端點。在配置期間,選擇 Instagram Graph API 物件,點擊設定,然後訂閱一或多個 Instagram 欄位。
欄位 | 說明 | 必要權限 |
---|---|---|
您應用程式的 Instagram 用戶所擁有的 Instagram 媒體上收到的留言。 用戶在加強推廣的 Instagram 帖子或 Instagram 廣告帖子留言時,媒體物件中將傳回 | ||
您應用程式的 Instagram 用戶所擁有的直播 Instagram 媒體上收到的留言。 | ||
有人在留言中以 @ 提及您應用程式的 Instagram 用戶。 | ||
描述限時動態互動情況的衡量數據。在限時動態到期後 1 小時傳送。 |
您的應用程式必須在連結應用程式用戶帳戶的專頁中啟用專頁訂閱,方法是向專頁訂閱的應用程式關係連線傳送 POST
要求,並訂閱任何專頁欄位。
POST /{page-id}/subscribed_apps ?access_token={access-token} &subscribed_fields={fields}
值的預留位置 | 值的說明 |
---|---|
| 連結至應用程式用戶帳戶專頁的編號。 |
| 應用程式用戶的專頁存取憑證。 |
| 專頁欄位(例如 |
您的應用程式不會收到某欄位的變更通知,除非您在應用程式管理中心內配置專頁訂閱,並訂閱該欄位。
curl -i -X POST \
"https://graph.facebook.com/v19.0
/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..."
{ "success": true }
如果您已訂閱 story_insights
欄位,在限時動態過期後,我們便會向您的端點傳送一則包含限時動態用戶互動衡量數據的 Webhook 通知。
[ { "entry": [ { "changes": [ { "field": "story_insights", "value": { "media_id": "18023345989012587", "exits": 1, "replies": 0, "reach": 17, "taps_forward": 12, "taps_back": 0, "impressions": 28 } } ], "id": "17841405309211844", // Instagram Business or Creator Account ID "time": 1547687043 } ], "object": "instagram" } ]
如果您已訂閱 mentions
欄位,當 Instagram 用戶在留言或說明文字中以 @ 提及了 Instagram 商業或創作者帳戶,我們便會向您的端點傳送一則 Webhook 通知。
例如,以下是就一個 Instagram 商業帳戶(17841405726653026
)傳送的留言 Webhook 通知裝載範例:
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "comment_id": "17894227972186120", "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
如要獲取留言內容,請使用 comment_id
屬性查詢 GET /{ig-user-id}/mentioned_comment
關係連線:
GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_comment.comment_id(17894227972186120)
{ "mentioned_comment": { "timestamp": "2018-03-20T00:05:29+0000", "text": "@bluebottle challenge?", "id": "17894227972186120" }, "id": "17841405726653026" }
獲得回應後,剖析 text
屬性的裝載,以確定是否需要回覆留言。若要回覆,請使用 Webhook 通知裝載的 caption_id
和 media_id
屬性值,以查詢 POST /{ig-user-id}/mentions
端點:
curl -i -X POST \ -d "comment_id=17894227972186120" \ -d "media_id=17918195224117851" \ -d "message=Challenge%20accepted!" \ -d "access_token={access-token}" \ "https://graph.facebook.com/17841405726653026/mentions"
{ "id": "17911496353086895" }
如果您已訂閱 mentions
欄位,當用戶在媒體物件的留言或說明文字中以 @ 提及了 Instagram 商業或創作者帳戶,且該媒體物件並不屬於該企業或創作者帳戶,我們便會向您的端點傳送一則 Webhook 通知。
例如,以下是就一個就 Instagram 商業帳戶(17841405726653026
)傳送的說明文字 @ 提及內容 Webhook 通知裝載範例:
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
如要獲取說明文字內容,請使用 media_id
屬性查詢 GET /{ig-user-id}/mentioned_media
關係連線:
GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_media.media_id(17918195224117851){caption,media_type}
{ "mentioned_media": { "caption": "@bluebottle There can be only one!", "media_type": "IMAGE", "id": "17918195224117851" }, "id": "17841405726653026" }
獲得回應後,剖析 caption
屬性的裝載,以確定是否需要回覆留言。若要回覆,請使用 Webhook 的 media_id
屬性,以查詢 POST /{ig-user-id}/mentions
關係連線:
curl -i -X POST \ -d "media_id=17918195224117851" \ -d "message=MacLeod%20agrees!" \ -d "access_token={access-token}" \ "https://graph.facebook.com/17841405726653026/mentions"
{ "id": "17911496353086895" }