# Push notification manually Mô tả tính năng cho việc push thông báo chủ động Trong phần này có 2 phần chính: - Tạo topic chủ động - Push notification chủ động ## 1. Tạo topic chủ động ### 1.1. Tạo topic Đây là màn hình sơ bộ: ![](https://i.imgur.com/0hSUvzh.png) - Chọn chung cư (required) - Chọn block (optional) - Chọn căn hộ (optional) Sau khi bấm nút tạo topic: - Nếu chỉ chọn chung cư thì tạo topic cho chung cư đó cùng các block và căn hộ thuộc về chung cư đó - Nếu chỉ chọn chung cư và chọn block thì tạo topic cho block đó cùng toàn bộ căn hộ thuộc về block đó - Nếu có chọn cả 3 option thì tạo topic cho căn hộ đó Lưu ý là sẽ có trường hợp có những topic đã tạo trước đó rồi thì không tạo nữa. Ví dụ tạo topic cho block A, trong block A có `1000` căn hộ và `200` căn đã được tạo topic trước đó. Kết quả là cần tạo `801` topics, `1` topic chung cư và `800` topics căn hộ. ### 1.2. Lịch sử tạo topic Sau khi tiến hành tạo topic chủ động xong thì sẽ hiển thị như hình: ![](https://i.imgur.com/uz7O4jX.png) - Số lượng, thì lấy ví dụ ở trên, trường hợp trong `800` topics được gọi để khởi tạo, có thể vì lí do gì đó mà không tạo được `100` topics (giả sử như aws bị lỗi, hoặc chết server, ...) thì hiển thị là `700/800` - Trạng thái, mặc định là thành công. Thất bại khi không có topic nào được tạo hoặc có lỗi toàn bộ. ## 2. Push notification chủ động ### 2.1 Push notification chủ động Dùng để push notification tới cho toàn chung cư, cho toàn block, hoặc căn hộ cụ thể. Giao diện đề xuất: ![](https://i.imgur.com/BbD5Pv7.png) Kết quả khi nhấn push notification thì ở app sẽ nhận được như hình: ![](https://i.imgur.com/EA4rlvc.png) - Chọn chung cư (required) - Chọn block (optional) - Chọng căn hộ (optional) - Tiêu đề thông báo (required) , chính là title trong hình sau - Nội dung thông báo (required), chính là message ở hình dưới Ngoài ra, còn có trường hợp gắn thêm data vào message để app có thể xử lí một số trường hợp tương ứng. Do đó cần có thêm: - Chọn loại thông báo (optional), có các loại sau: - `notice-bill`: thông báo phí - `service-booking`: thông báo đặt dịch vụ - `utility-booking`: thông báo đặt tiện ích - `order`: thông báo đã thanh toán thành công hóa đơn - `announcement`: có thông báo mới từ BQL - `news`: có tin tức mới từ BQL - `conversation`: thông báo liên quan đến hội thoại - Nhập id thông báo (required if inputed type): id này thường do người sử dụng lấy tùy vào mục đích, sẽ được CS hướng dẫn. - `notice-bill`: id của thông báo tổng - `service-booking`: id của booking dịch vụ - `utility-booking`: id của booking tiện ích - `order`: id của hóa đơn vừa được thanh toán - `announcement`: id của thông báo - `news`: id của tin tức - `conversation`: id của hội thoại Một số trường hợp push được liệt kê trong [link này](https://docs.google.com/spreadsheets/d/1g5uoUUxWk6pkyDOYU_O7KMkbVpOlpxLY8Cu51IrIxmc/edit#gid=0). ### 2.2 Lịch sử push notification chủ động Mục đích của chức năng này là lưu lại các notification đã được gửi chủ động. ![](https://i.imgur.com/Y7nXv0J.png)