Nội dung sau đây là từ tài liệu về sản phẩm Webhooks. Vui lòng tham khảo tài liệu về Webhooks nếu bạn chưa quen dùng Webhooks.
Để nhận được thông báo webhook trực tiếp, bạn phải đáp ứng các điều kiện sau:
Nếu quyền của ứng dụng không có cấp độ truy cập là Quyền truy cập nâng cao thì ứng dụng đó sẽ không nhận được thông báo webhook.
media
.-1
.comments
và live_comments
. Tạo một điểm cuối có thể chấp nhận và xử lý webhook. Khi đặt cấu hình, hãy chọn đối tượng API Đồ thị trên Instagram, nhấp vào Thiết lập rồi đăng ký một hoặc nhiều trường trên Instagram.
Trường | Mô tả | Các quyền cần có |
---|---|---|
Bình luận về File phương tiện trên Instagram do người dùng Instagram trong ứng dụng của bạn sở hữu. Hệ thống sẽ trả về | ||
Bình luận về File phương tiện trên Instagram trong buổi phát trực tiếp do người dùng Instagram trong ứng dụng của bạn sở hữu. | ||
Lượt @nhắc đến người dùng Instagram trong ứng dụng của bạn trong một bình luận. | ||
Số liệu mô tả hoạt động tương tác với tin. Được gửi 1 giờ sau khi tin hết hạn. |
Ứng dụng của bạn phải bật hoạt động đăng ký Trang trên Trang đã kết nối với tài khoản của người dùng ứng dụng bằng cách gửi yêu cầu POST
đến cạnh Ứng dụng đã đăng ký trên Trang và đăng ký bất kỳ trường nào trên Trang.
POST /{page-id}/subscribed_apps ?access_token={access-token} &subscribed_fields={fields}
Phần giữ chỗ giá trị | Mô tả giá trị |
---|---|
| ID của Trang đã kết nối với tài khoản của người dùng ứng dụng. |
| Mã truy cập Trang của người dùng ứng dụng. |
| Một trường trên Trang (ví dụ: |
Ứng dụng của bạn sẽ không nhận được thông báo về những thay đổi đối với trường, trừ khi bạn đặt cấu hình hoạt động đăng ký Trang trong Bảng điều khiển ứng dụng và đăng ký trường đó.
curl -i -X POST \
"https://graph.facebook.com/v21.0
/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..."
{ "success": true }
Nếu bạn đăng ký trường story_insights
, chúng tôi sẽ gửi cho điểm cuối của bạn một thông báo webhook chứa số liệu về hoạt động tương tác của người dùng với tin sau khi tin hết hạn.
[ { "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" } ]
Nếu bạn đăng ký trường mentions
, chúng tôi sẽ gửi cho điểm cuối của bạn một thông báo webhook mỗi khi người dùng Instagram @nhắc đến Tài khoản kinh doanh hoặc Tài khoản người sáng tạo nội dung trên Instagram trong bình luận hoặc chú thích.
Ví dụ: dưới đây là phần tải dữ liệu mẫu cho thông báo webhook về bình luận được gửi cho một Tài khoản kinh doanh trên Instagram (17841405726653026
):
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "comment_id": "17894227972186120", "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Để lấy nội dung bình luận, hãy sử dụng thuộc tính comment_id
để truy vấn cạnh 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" }
Khi bạn lấy được phản hồi, hãy phân tích cú pháp phần tải dữ liệu cho thuộc tính text
để xác định xem bạn có muốn phản hồi bình luận hay không. Nếu bạn muốn phản hồi, hãy sử dụng các giá trị thuộc tính caption_id
và media_id
của phần tải dữ liệu thông báo webhook để truy vấn điểm cuối 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" }
Nếu bạn đăng ký trường mentions
, chúng tôi sẽ gửi cho điểm cuối của bạn một thông báo webhook mỗi khi người dùng @nhắc đến Tài khoản kinh doanh hoặc Tài khoản người sáng tạo nội dung trên Instagram trong bình luận hoặc chú thích trên đối tượng file phương tiện không thuộc sở hữu của Doanh nghiệp hoặc Người sáng tạo nội dung đó.
Ví dụ: dưới đây là thông báo webhook mẫu về lượt @nhắc đến trong chú thích được gửi cho một Tài khoản kinh doanh trên Instagram (17841405726653026
):
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Để lấy nội dung chú thích, hãy sử dụng thuộc tính media_id
để truy vấn cạnh 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" }
Khi bạn lấy được phản hồi, hãy phân tích cú pháp phần tải dữ liệu cho thuộc tính caption
để xác định xem bạn có muốn phản hồi bình luận hay không. Nếu bạn muốn phản hồi, hãy sử dụng thuộc tính media_id
của webhook để truy vấn cạnh 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" }