PNotify

Cổng thông báo · Go + PostgreSQL

Một yêu cầu,mọi kênh thông báo

Gửi một lần, tới người nhận ở nơi họ đang ở: email, Telegram, tin nhắn CalixOne — hoặc cuộc gọi PCall đọc to nội dung. PNotify xếp hàng từng lượt gửi, thử lại khi lỗi và báo cái gì đã tới.

  • Email
  • Telegram
  • PCall message
  • PCall voice call
  • Idempotency-Key
4đường gửi từ một yêu cầu
6trạng thái lượt gửi, từ pending tới delivered hoặc dead
1binary Go và PostgreSQL — không thêm hàng đợi
0tin nhắn render dở: thiếu khoá là báo lỗi

Làm được gì

Thông báo đáng tin cậy là sẽ tới

Có hàng đợi, thử lại và trạng thái theo từng người nhận — thay cho đoạn script gửi rồi quên.

Toả đi nhiều kênh

Một yêu cầu, nhiều người nhận và nhiều kênh; mỗi người nhận có một lượt gửi riêng để theo dõi.

Hàng đợi bền

Mỗi lượt gửi được lưu vào PostgreSQL trước khi gửi, nên sập hay khởi động lại cũng không mất thông báo.

Thử lại thông minh

Lỗi tạm thời được thử lại với khoảng chờ tăng dần; lỗi vĩnh viễn dừng ngay thay vì gõ mãi vào nhà cung cấp.

Mẫu tin

Mẫu tin nằm trong binary. Thiếu khoá dữ liệu là báo lỗi, nên không bao giờ gửi đi tin điền dở.

PCall: giọng nói và chat

Tới người dùng ngay trong CalixOne: tin nhắn chat, hoặc cuộc gọi đổ chuông trong app và đọc nội dung bằng giọng tiếng Việt tự nhiên.

Chống gửi trùng

Gửi kèm Idempotency-Key thì yêu cầu thử lại trả về kết quả ban đầu thay vì thông báo hai lần.

Tất cả tính năng

Cách hoạt động

Từ lệnh gọi API tới đã nhận

Mỗi người nhận đi qua cùng những trạng thái nhìn thấy được.

  1. 1

    Gửi

    Hệ thống của bạn gọi POST /v1/notifications kèm mẫu tin, dữ liệu và người nhận. Bạn nhận về 202.

  2. 2

    Xếp hàng

    Mỗi người nhận một lượt gửi được lưu ở trạng thái pending.

  3. 3

    Giao

    Một worker nhận lượt gửi và chuyển cho kênh: sending rồi sent.

  4. 4

    Xác nhận

    Kênh có thể xác nhận — PCall — báo về qua webhook: delivered hoặc failed.

  5. 5

    Theo dõi

    GET /v1/notifications/{id} liệt kê từng lượt gửi và trạng thái; dead nghĩa là PNotify đã bỏ cuộc.

FAQ

Câu hỏi thường gặp

Có khi nào một thông báo bị gửi hai lần?

Giao ít nhất một lần nên hiếm khi có thể. Dùng Idempotency-Key để chống việc bạn thử lại; nhà cung cấp cũng nhận id lượt gửi.

PCall là gì?

Lớp thoại và chat của CalixOne. PNotify xuất hiện ở đó như một tài khoản bot nhắn tin cho mọi người và có thể gọi để đọc to thông báo.

Nếu một kênh chưa được cấu hình thì sao?

Kênh không được đăng ký; lượt gửi cho nó kết thúc ở dead với lý do “channel not configured”.

Tôi có thể dùng thử không?

PNotify được triển khai riêng cho từng khách hàng. Hãy liên hệ để cùng dựng môi trường thử.

Để mọi cảnh báo đều tới được người nhận

Cho chúng tôi biết ai cần được báo, về việc gì và nhanh đến đâu.

Liên hệ