2014-04-07 13 views
10

Desidero abilitare le notifiche degli eventi per i miei clienti. Esistono molti modi per inviare notifiche: e-mail, sms, XMPP/altro IM, messaggi vocali preregistrati tramite SIP, servizi push dei messaggi specifici del telefono, callback REST, ecc.Servizio Web che fornisce notifiche su più trasporti

Non voglio sviluppare tutti questi mi trasporta, quindi ho bisogno di un servizio web in grado di gestire tali notifiche per i clienti. Inoltre, non voglio memorizzare email/telefoni/altre informazioni personali identificabili.

Le notifiche sono transazionali (vale a dire che non è la consegna di massa stesso messaggio a tutti). Le soluzioni a pagamento sono benvenute.

C'è http://pagerduty.com ma è

  • progettato per lavorare all'interno dell'azienda e non con i clienti al di fuori
  • focalizzata sulla ciclo completo di risposta agli incidenti in contrasto con la consegna semplice messaggio

Così pone un carico maggiore sugli intervistati e voglio qualcosa che richiede uno sforzo zero per l'impostazione da parte degli utenti.

Monitis è un altro esempio. Ha diversi trasporti tra cui Twitter, ma ancora una volta è progettato per gli addetti ai lavori e non per gli abbonati al servizio che arrivano in massa.

Amazon SNS sembra essere di livello troppo basso in quanto gestisce solo la consegna di notifiche push, ma per visualizzarle devo scrivere un'app mobile che non desidero.

I server XMPP come descritto in How best to deliver notifications to various IM/notification services? hanno tradizionalmente supportato l'idea di diversi trasporti, ma mi piacerebbe un servizio in hosting di terze parti.

Twilio ha solo 2 trasporti: SMS e chiamate vocali e più orientati su comunicazioni a 2 lati.

Non riesco nemmeno a trovare le parole chiave giuste per cercare il servizio/SaaS che voglio.

La domanda è: ci sono tali servizi? Un campione di pochi mi darebbe un'idea di cosa cercare.

+0

Cosa ne pensi di semplice twilio? –

+0

Ha solo 2 trasporti: SMS e chiamata vocale. Email e IM non sono indirizzati. Quindi offre pochi vantaggi nella scelta di un sms e un fornitore di servizi voce separatamente. – nponeccop

risposta

1

questo viene molto tardi, forse troppo tardi, ma ...

Non dovrebbe essere necessario per implementare qualsiasi del trasporto, ma si può essere necessaria per costruire alcune delle porte e sarà più probabile che sia necessario il montaggio del applicazione che parla con ciascuno dei gateway. Probabilmente non troverai un singolo servizio per questo.

Hai già delineato la strategia. Hai sostanzialmente questi pezzi:

  1. trasporti
  2. gateway
  3. applicazione

Ciascuno dei trasporti si accede attraverso alcuni client sia tramite un API o di un CLI - così avrete bisogno di capire qual è il tuo ambiente. Java è probabilmente una buona scelta, ma altri ambienti multipiattaforma potrebbero funzionare.infrastrutture esistenti come Apache ServiceMix ha il supporto per alcuni di questi trasporti:

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

e ci possono essere altri middleware con simili, trasporti distinti.

Probabilmente vorrete un gateway per ogni provider per ogni tipo di trasporto. Potresti riuscire a trovare un fornitore che fornisca servizi adeguati per più trasporti, ad es. SMS e voce di Twilio, ma questa sarà probabilmente l'eccezione. Potresti anche scoprire che a causa delle differenze nei trasporti (e quindi della funzionalità), è più conveniente creare un gateway per ogni tipo di trasporto. Pertanto, potresti avere due provider configurati nel tuo gateway SMS, uno per Twilio e uno per Kannel, e potresti avere il tuo account Twilio usato nel gateway SMS e nel gateway SIP.

Il passaggio finale è il montaggio della domanda in qualcosa di significativo. Questo potrebbe essere simile:

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

inviato ai canali (cioè pair provider trasporto) configurate, forse, da parte dell'utente e di essere in grado di raccogliere la risposta dall'utente:

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

Dovrai memorizzare le basi dell'endpoint di ogni trasporto, ad esempio il numero di telefono per SMS, il nome utente per la chat, ecc., Quindi se hai problemi di sicurezza PII da affrontare devi pensarci. Un'opzione potrebbe essere quella di trasformare tutte le informazioni personali su ciascun provider, ma dovrai comunque mantenere ciascun account per i tuoi utenti in ciascun provider e probabilmente dovrai sapere qualcosa sull'utente, come "$ {username}" sopra , per personalizzare la notifica in modo appropriato all'interno dell'applicazione. Quindi, rimuovere tutte le PII dalla tua applicazione sembra improbabile.

Non sono sicuro di quanto questo aiuto, ma forse ti dà alcune idee.

Problemi correlati