2014-04-07 12 views
10

Tôi muốn bật thông báo sự kiện cho khách hàng của mình. Có nhiều cách có thể để gửi thông báo: email, sms, XMPP/IM khác, tin nhắn thoại được ghi âm trước qua SIP, dịch vụ đẩy tin nhắn điện thoại cụ thể, gọi lại REST,Dịch vụ web cung cấp thông báo qua nhiều lần vận chuyển

Tôi không muốn phát triển tất cả các tự vận chuyển, vì vậy tôi cần một dịch vụ web có thể quản lý các thông báo đó cho khách hàng. Ngoài ra, tôi không muốn lưu trữ email/điện thoại/thông tin nhận dạng cá nhân khác.

Thông báo là giao dịch (nghĩa là thông báo không gửi cùng một thông điệp hàng loạt cho tất cả mọi người). Các giải pháp trả phí được hoan nghênh.

http://pagerduty.com nhưng nó là

  • thiết kế để làm việc trong doanh nghiệp và không phải với khách hàng bên ngoài
  • tập trung vào chu kỳ đầy đủ của ứng phó sự cố như trái ngược với giao thông điệp đơn giản

Vì vậy, nó đặt nhiều gánh nặng hơn cho người trả lời và tôi muốn thứ gì đó đòi hỏi nỗ lực không phải để người dùng thiết lập.

Monitis là một ví dụ khác. Nó có nhiều phương tiện đi kèm bao gồm Twitter, nhưng một lần nữa nó được thiết kế cho người trong cuộc chứ không phải cho người đăng ký dịch vụ đến với số lượng lớn.

Amazon SNS có vẻ quá thấp vì nó chỉ quản lý việc gửi thông báo đẩy, nhưng để trao đổi chúng tôi phải viết một ứng dụng di động mà tôi không muốn.

Máy chủ XMPP như được mô tả trong How best to deliver notifications to various IM/notification services? có truyền thống hỗ trợ ý tưởng về các phương tiện vận chuyển khác nhau, nhưng tôi muốn dịch vụ được lưu trữ của bên thứ ba.

Twilio chỉ có 2 phương tiện: SMS và cuộc gọi thoại và định hướng hơn về truyền thông 2 mặt đầy đủ.

Tôi thậm chí không thể tìm thấy từ khóa google phù hợp để tìm kiếm dịch vụ/SaaS tôi muốn.

Câu hỏi đặt ra là có bất kỳ dịch vụ nào như vậy không? Một mẫu của một vài người sẽ cho tôi một ý tưởng về những gì cần tìm kiếm.

+0

Bạn nghĩ gì về twilio đơn giản? –

+0

Chỉ có 2 phương tiện: SMS và cuộc gọi thoại. Email và IM không được giải quyết. Vì vậy, nó cung cấp ít lợi thế để lựa chọn một sms và một nhà cung cấp giọng nói riêng biệt. – nponeccop

Trả lời

1

này đi kèm rất muộn, có lẽ đã quá muộn nhưng ...

Bạn không nên cần phải thực hiện bất kỳ việc vận chuyển nhưng bạn có thể được yêu cầu để xây dựng một số cổng và nhiều khả năng bạn sẽ cần phải lắp ráp ứng dụng nói chuyện với mỗi cổng. Bạn không có khả năng sẽ tìm thấy một dịch vụ duy nhất cho việc này.

Bạn đã vạch ra chiến lược. Về cơ bản bạn có những mẩu:

  1. vận chuyển
  2. cổng
  3. ứng dụng

Mỗi phòng trong số vận chuyển được truy cập thông qua một số khách hàng thông qua hoặc là một API hoặc một CLI - vì vậy bạn sẽ cần phải tìm ra môi trường của bạn là gì. Java có lẽ là một lựa chọn tốt nhưng các môi trường đa nền tảng khác có thể hoạt động.Hiện có cơ sở hạ tầng như Apache ServiceMix đã hỗ trợ cho một số trong những vận tải:

https://cwiki.apache.org/confluence/display/SM/Components+list

và có thể có khác giữa-ware với tương tự, vận tải khác nhau.

Bạn có thể sẽ muốn một cổng cho mỗi nhà cung cấp cho từng loại phương tiện. Bạn có thể tìm thấy một nhà cung cấp dịch vụ đầy đủ nhiều phương tiện, ví dụ: SMS và giọng nói của Twilio, nhưng điều đó có thể sẽ là ngoại lệ. Bạn cũng có thể thấy rằng do sự khác biệt trong việc vận chuyển (và do đó chức năng), sẽ thuận tiện hơn khi xây dựng một cổng cho mỗi loại truyền tải. Vì vậy, bạn có thể có hai nhà cung cấp được cấu hình trong cổng SMS của bạn, một cho Twilio và một cho Kannel, và bạn có thể có tài khoản Twilio của bạn được sử dụng trong cổng SMS và trong cổng SIP.

Bước cuối cùng là lắp ráp ứng dụng của bạn vào một cái gì đó có ý nghĩa. Đây có thể là một cái gì đó như:

sent.......: "Thanks for your purchase, ${username}!" 

gửi đến các kênh truyền hình (ví dụ, cặp nhà cung cấp vận tải) được cấu hình, có lẽ, bởi người sử dụng và có thể thu thập các phản hồi từ người dùng:

response...: "It was a pleasure! --Bob" 

Bạn sẽ cần phải lưu trữ các điểm cơ bản của điểm cuối của mỗi phương tiện, ví dụ như số điện thoại cho SMS, tên người dùng để trò chuyện, v.v., vì vậy nếu bạn gặp vấn đề bảo mật PII để giải quyết, bạn sẽ cần phải suy nghĩ. Một tùy chọn có thể là chuyển tất cả PII sang từng nhà cung cấp nhưng bạn vẫn cần phải giữ từng tài khoản cho người dùng của mình trong từng nhà cung cấp và bạn có thể cần phải biết điều gì đó về người dùng, như "$ {username}" ở trên , để cá nhân hóa thông báo của bạn một cách thích hợp trong ứng dụng của bạn. Vì vậy, việc xóa tất cả PII khỏi ứng dụng của bạn có vẻ không khả thi.

Tôi không chắc chắn mức độ trợ giúp này có thể mang lại cho bạn một số ý tưởng.

Các vấn đề liên quan