Xin API Instagram và kết nối tài khoản vào ChatHub
Bổ sung trường hợp sử dụng Instagram vào ứng dụng Meta sẵn có, xin thêm quyền nhắn tin, khai webhook Instagram rồi thêm tài khoản business vào hộp thư ChatHub.
Bài này giải quyết việc gì#
Kênh Instagram của ChatHub nhận và trả lời tin nhắn Direct của một tài khoản Instagram business ngay trong hộp thư chung. Instagram không có token riêng: mọi lời gọi đều đi bằng token của Trang Facebook đã liên kết, nên kênh này dùng chung ứng dụng Meta, App Secret và token quản trị với kênh Facebook — bạn chỉ phải xin thêm quyền và khai thêm một webhook.
Vì vậy điều kiện đầu tiên là đã làm xong bài Trang Facebook: ứng dụng Meta đã tạo, App ID, App Secret và token quản trị đã khai trong ChatHub. Bài này chỉ đi tiếp từ chỗ đó.
1. Chuẩn bị tài khoản Instagram đúng loại#
Meta chỉ mở API nhắn tin cho tài khoản Instagram chuyên nghiệp (business hoặc creator) đã liên kết với một Trang Facebook. Tài khoản cá nhân thường không gọi API được, dù bạn có xin bao nhiêu quyền.
- 1
Trong ứng dụng Instagram trên điện thoại, mở Cài đặt → Loại tài khoản và công cụ → Chuyển sang tài khoản chuyên nghiệp, chọn Doanh nghiệp.
- 2
Liên kết tài khoản với Trang Facebook: mở Trang trên Facebook, vào Cài đặt → Tài khoản đã liên kết, chọn Instagram rồi đăng nhập tài khoản muốn nối.
- 3
Vẫn trong ứng dụng Instagram, mở Cài đặt → Quyền riêng tư → Tin nhắn và bật cho phép truy cập tin nhắn ở mục Công cụ được kết nối — thiếu công tắc này thì webhook im lặng không gửi gì về.
2. Thêm trường hợp sử dụng Instagram vào ứng dụng#
- 1
Mở developers.facebook.com, vào đúng ứng dụng đang dùng cho kênh Facebook.
- 2
Ở Bảng điều khiển, bấm Thêm trường hợp sử dụng góc trên bên phải.
- 3
Trong hộp thoại, lọc theo nhóm Nhắn tin doanh nghiệp, tích Quản lý hoạt động nhắn tin và nội dung trên Instagram rồi bấm Lưu.
3. Thêm quyền nhắn tin và lấy token quản trị mới#
ChatHub nhắn tin Instagram qua đường Đăng nhập bằng Facebook, nên quyền cần thêm nằm ở trang Thiết lập API bằng thông tin đăng nhập Facebook của trường hợp sử dụng vừa thêm.
- 1
Mở Trường hợp sử dụng, bấm Tùy chỉnh ở dòng Instagram, rồi chọn trang Thiết lập API bằng thông tin đăng nhập Facebook (hoặc bấm liên kết API setup with Facebook login ngay trong lời giới thiệu).
- 2
Ở mục Gửi tin nhắn trên Instagram, bấm Add required messaging permissions. Meta báo Đã thêm quyền nhắn tin và nút chuyển thành Go to permissions and features.
- 3
Mở Công cụ → Trình khám phá API Đồ thị, chọn đúng ứng dụng ở ô Ứng dụng trên Meta.
- 4
Thêm hai quyền instagram_basic và instagram_manage_messages bên cạnh ba quyền pages sẵn có.
- 5
Bấm Generate Access Token, xác nhận cấp quyền — bước xác nhận sẽ hỏi cả Trang lẫn tài khoản Instagram — rồi chép token mới.
4. Cập nhật token và chép Callback URL Instagram#
- 1
Trong ChatHub, mở Cài đặt rồi chọn nhóm Kênh, tới thẻ Ứng dụng Facebook.
- 2
Dán token quản trị vừa sinh vào ô Token người quản trị rồi bấm Lưu. App ID và App Secret giữ nguyên.
- 3
Kéo xuống mục Khai webhook sang Meta: dòng Callback URL (Instagram) là địa chỉ dành riêng cho sản phẩm Instagram. Bấm Chép ở dòng đó và ở dòng Verify Token — cặp giá trị này dùng cho bước kế tiếp.
5. Nối Trang và khai webhook ở Cài đặt Instagram#
Webhook Instagram khai ở trang Cài đặt Instagram bên trong trường hợp sử dụng Messenger — đây là nơi Meta gom phần nhắn tin Instagram đi bằng token của Trang.
- 1
Mở Trường hợp sử dụng, bấm Tùy chỉnh ở dòng Messenger, rồi chọn Cài đặt Instagram ở cột trái.
- 2
Ở mục Mã truy cập, bấm Thêm hoặc gỡ trang và chọn Trang Facebook đã liên kết Instagram; cửa sổ cấp quyền sẽ hỏi kèm tài khoản Instagram của Trang.
- 3
Ở mục Webhooks, bấm Thêm URL gọi lại.
- 4
Dán Callback URL (Instagram) vào ô URL gọi lại, dán Verify Token vào ô Mã xác minh rồi bấm Xác minh và lưu.
- 5
Trong bảng trường webhook hiện ra sau khi lưu, gạt Đăng ký cho hai trường messages và messaging_postbacks.
6. Thêm kênh Instagram trong ChatHub#
- 1
Trong ChatHub, mở trang Kênh, bấm Thêm tài khoản rồi chọn loại Instagram.
- 2
Danh sách hiện các Trang có liên kết Instagram mà token quản trị với tới được; chọn tài khoản muốn nối rồi bấm Tạo tài khoản.
- 3
Bấm Kết nối trên kênh vừa tạo. ChatHub tự đăng ký ứng dụng vào Trang liên kết — không phải khai gì thêm bên Meta.
- 4
Nhắn thử một tin Direct từ tài khoản Instagram khác có vai trò trong ứng dụng và xem nó về hộp thư.
Những giới hạn cần biết trước#
Instagram theo cùng cửa sổ 24 giờ với Messenger: chỉ trả lời tự do trong 24 giờ kể từ tin cuối của khách, quá hạn thì Meta từ chối cho tới khi khách nhắn lại. ChatHub đếm ngược ngay trên ô nhập, và ghi chú nội bộ không bị hạn nào cả.
Về nội dung gửi đi: Instagram chỉ nhận ảnh, video và tệp âm thanh — không gửi được tài liệu như PDF; nhãn dán chỉ nhận được chứ không gửi được; nút bấm của workflow gửi thành quick reply, riêng nút mở liên kết được viết thành dòng chữ kèm địa chỉ vì Instagram không có chỗ gắn nút liên kết.
Một điểm dễ vấp khi dùng cả hai kênh Meta: đăng ký webhook thuộc về Trang chứ không thuộc từng kênh, nên bấm Ngắt kết nối kênh Instagram cũng ngắt luôn webhook Messenger của kênh Facebook cùng Trang, và ngược lại. Kênh còn lại sẽ hiện Đã ngắt ở lần kiểm tra kế tiếp — bấm Kết nối là đăng ký lại, không mất gì.