Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

 

This part of the document describes the different ways through which an external system can use MailUp to send email messages with dynamic contents: this way, it is possible to take advantage of the MailUp reputation and sending infrastructure to avoid spam filters and check both send status and the archive of sent messages.

 

Transactional emails

 

The dynamic fields allow to send single email messages containing some personalized content, through the same process MailUp uses for confirmation request emails and subscription confirmation emails. These messages - also called transactional emails - have a fixed structure with some personalized fields: for example, they can be used to send the user a password, a notice, an order confirmation, and so on.


MailUp can manage the whole process automatically, so:

  • messages are sent very quickly, thanks to an oversized infrastructure that guarantees immediate sending (except in case of grey listing on destination servers). There are no bandwidth restrictions here and a dedicated channel is used for sending (no queue-related delay). Anyway, this functionality should not overused, not to lose these benefits 
  • automatic processes can be activated following actions that users might have performed.


MailUp can send transactional emails in two ways, as described below:. 


  1. MailUp sends a confirmation message to subscribers through an automatic procedure. Subscription can take place in two ways
    • Standard API (subscribe.asp, subscribe.aspx, xmlsubscribe.aspx)
    • Web Service di importazione descritto nel capitolo 12 (WS_MailupImport)


Configurando opportunamente il contenuto del messaggio di conferma iscrizione, si può fare in modo che questo corrisponda al template del messaggio che si vuole inviare (per ogni lista è previsto un solo messaggio di conferma, ma le liste disponibili sono infinite). Il messaggio di conferma può essere personalizzato con i dati del destinatario mediante l'uso di campi dinamici (fino a 40 campi acquistando l'opzione Marketing+) 
Queste email possono anche contenere un link che scatena un'azione (apertura di una pagina messaggi e invio automatico di una seconda email), usando il link SUB. E' sufficiente creare una LISTA ad hoc, dedicata a questo tipo di attività. Ogni lista può avere un mittente differente. 
Soluzione 2
Esiste anche una soluzione basata su web service che consente l'invio singolo immediato di un messaggio, questa è molto più flessibile ma è importante seguire le avvertenze indicate nella sezione che descrive questi servizi.
Mediante il metodo SendSingleNewsletter() descritto in 13.4.7 è infatti possibile inviare un messaggio email specificando oggetto, destinatari e contenuti. 

Nell'utilizzo di SendSingleNewsletter(), si raccomanda di utilizzare dei messaggi predefiniti con parti dinamiche, evitando quando possibile di creare una nuova newsletter ad ogni chiamata. In caso contrario MailUp continuerebbe ad allocare spazio per memorizzare nuovi contenuti, il peggioramento delle performance sarebbe inevitabile.

 

Email messages sent to groups of users

 

Questo paragrafo descrive le modalità con cui eseguire con MailUp invii di email a gruppi/liste di utenti senza accedere alla console. I metodi descritti nel paragrafo precedente sono adatti per la realizzazione di piccoli automatismi, ma se si vogliono spedire newsletter o DEM la strada più indicata è quella descritta in questo paragrafo. 

 

Standard Web Services

 

Per maggiore chiarezza si presentano a titolo di esempio degli scenari d'uso e si indicano i web service da utilizzare. La panoramica non copre tutti i casi possibili ma descrive quelli più frequenti.
Negli esempi che seguono si omettono per semplicità gli aspetti di autenticazione ai web service Come indicato nella documentazione di riferimento, i metodi del web service WS_MailUpImport hanno una modalità di autenticazione distinta da quella degli altri web service.. 
Scenario 1
Il cliente vuole inviare un messaggio ad un elenco di utenti e sia il messaggio sia l'elenco dei destinatari sono già disponibili su MailUp.

  1. Se si vuole inviare un messaggio a tutti gli utenti di una lista si può usare il metodo SendNewsletter() specificando "send_to = ALL" ,ID lista, ID messaggio e la data/ora di invio. Gli ID di lista e messaggio possono essere ottenuti controllando la TABELLA CODICI sulla console MailUp oppure mediante i metodi GetLists() e GetNewsletters()
  2. Se si vuole restringere l'elenco dei destinatari agli appartenenti ad uno o più gruppi, nella chiamata a SendNewsletter() si devono specificare anche gli ID di questi gruppi
  3. Se gli utenti sono contraddistinti dall'avere in comune dei dati che possono estratti tramite un filtro di MailUp (filtri anagrafici, per attività o geografici, disponibili con l'opzione Marketing+) allora nella chiamata al metodoSendNewsletter() si deve indicare anche il filtro da applicare. L'utilizzo dei filtri può essere in aggiunta oppure in alternativa a quello dei gruppi Il vantaggio del filtro consiste nel fatto che tutti gli utenti che rispettano una condizione sono automaticamente inclusi nei risultati del filtro, mentre per appartenere ad un gruppo è necessaria un'operazione di inserimento dell'utente nel gruppo.

 

Evitare di usare il metodo SendSingleNewsletter() al posto di SendNewsletter(), il primo dei due deve essere impiegato solo nei casi delle email transazionali descritte nel paragrafo precedente



Scenario 2
Come scenario 1, ma in questo caso si ha anche la necessità di importare un elenco di utenti a cui inviare il messaggio. Alcuni di questi utenti potrebbero essere già iscritti in MailUp perché hanno ricevuto comunicazioni precedenti, altri potrebbero essere dei nuovi iscritti.

  1. Mediante i metodi di WS_MailUpImport si crea un nuovo gruppo temporaneo (CreateGroup(groupName)) e si importa in esso un elenco di destinatari (StartImportProcess(groupID, recipients,…)). L'operazione potrebbe durare diversi minuti, anche decine di minuti se l'elenco è voluminoso e può essere monitorata con GetProcessDetails(). Una volta terminata l'importazione si può usare il metodo SendNewsletter(groupID) per eseguire l'invio. Al termine di questa sequenza il gruppo creato deve essere cancellato con il metodo DeleteGroup().
  2. La modalità descritta al punto precedente risulta poco efficiente al crescere del volume di dati da importare, può quindi risultare utile una soluzione alternativa che prevede l'importazione "bulk" da file (maggiore efficienza) a seguito di un comando via web service. Il metodo SendMessageNL(fileName, listId, messageId, timeDateSending, ) consente infatti la pianificazione di un invio alla data e ora specificate e poi esegue in modalità asincrona le seguenti operazioni:
    1. Creazione di un gruppo temporaneo
    2. Importazione nel gruppo temporaneo degli utenti indicati nel file
    3. Invio del messaggio alla data e ora prestabilita
    4. Rimozione del gruppo temporaneo

 

La soluzione qui descritta è utilizzabile solo nel caso in cui gli utenti importati saranno utilizzati solo per invii mediante il canale email



Scenario 3
In aggiunta a quanto previsto negli scenari precedenti, potrebbe essere necessario importare in MailUp un messaggio creato esternamente a MailUp. Mediante il metodo CreateNewsletters() è possibile creare un nuovo messaggio passando come parametro il contenuto del messaggio (html, solo testo oppure URL dal quale prelevare il contenuto html).
È inoltre possibile usare il metodo SendNewsletterFast(), il quale non fa altro che concentrare in un'unica chiamata quello che si può ottenere dalle chiamate in sequenza ai metodi CreateNewsletters() e SendNewsletter() 

È importante prestare attenzione alla frequenza con cui si chiamano metodi che creano una nuova newsletter anziché utilizzarne una esistente. Un numero elevato di messaggi creati ogni giorno dai web service (es. decine di messaggi ogni giorno) può sovraccaricare il sistema e causando a medio/lungo termine un deterioramento delle performance.



Scenario 4
Molto spesso si ha la necessità di tracciare i risultati di campagna. Tenuto conto che, nel caso di invii A scanso di equivoci, con "un invio" si intende una singola operazione di spedizione, indipendentemente dal numero di destinatari del messaggio. ripetuti di uno stesso messaggio, l'esportazione batch delle statistiche non è in grado di associare i click ad un certo invio, può risultare utile la duplicazione di un messaggio in modo tale che ci sia una corrispondenza "uno a uno" tra messaggi ed invii. Il metodo CloneMessage() consente la duplicazione di un messaggio: una volta creato un nuovo messaggio si può procedere alle operazioni di invio descritte negli scenari precedenti. 

Con i web service non è possibile gestire l'importazione di codici di campagna esterni (descritti in 7.1.2), per questi è necessario utilizzare l'importazione batch.

 

Batch FTP ZIP

 

La modalità Batch FTP ZIP è un'integrazione speciale che permette l'importazione batch da un file zip che contiene diversi file contenenti l'elenco dei destinatari, il messaggio html da inviare e le impostazioni (data, ora ecc. ) di invio.
Questa modalità è un altro modo con cui è possibile inviare email con MailUp senza accedere all'applicazione web.
L'integrazione Batch FTP ZIP non è compresa nell'offerta standard di MailUp ed è dettagliata nel capitolo 9.1 dedicato alle integrazioni speciali. 

 

Web Service for massive mailings

 

Una console MailUp può essere configurata per eseguire, tramite web service, invii massivi di contenuti fortemente personalizzati. Il chiamante invoca un apposito metodo del web service passando l'indirizzo email del destinatario ed il contenuto del messaggio, MailUp accumula le richieste e a cadenza regolare esegue un invio a blocchi dei messaggi accumulati. Questo sistema è particolarmente efficiente quando si devono spedire grossi volumi di email rispettando vincoli temporali sui tempi di consegna complessivi.
Vantaggi
Il sistema offre la possibilità di:

  • Fornire una capacità di invio più elevata dei web service tradizionali (la velocità dipende comunque dalla banda)
  • Fornire la capacità di gestire milioni di richieste al giorno, garantendo un tempo massimo di consegna a partire dal ricevimento della richiesta Purchè la banda acquistata sia adeguata al volume, ai tempi e alla dimensione in KB dei messaggi inviati
  • Risolvere i problemi che caratterizzano i web service classici quando ogni richiesta comporta la creazione di un nuovo messaggio
  • Inviare email completamente distinte tra un destinatario e l'altro
  • Specificare una versione testuale del messaggio diversa da quella html

Limitazioni

  • La soluzione proposta è stata studiata per esigenze in cui la necessità di accedere alla console MailUp è molto limitata, alcune funzioni statistiche o di invio potrebbero non essere disponibili.
  • La console per invii massivi è nata come spin-off della versione 7.3 di MailUp ma non segue lo stesso piano di aggiornamenti della console MailUp standard, è quindi possibile che le funzioni più recenti La versione 7.3 è stata rilasciata alla fine del 2010 della console standard non siano disponibili sulla versione dedicata agli invii massivi.
  • Tutti i messaggi inviati sono registrati come se appartenessero alla stessa newsletter. Ne consegue che i risultati statistici offerti si limitano alle statistiche per messaggio filtrate per data
  • La soluzione offerta non è adatta all'invio di messaggi singoli in tempo reale (in fase di configurazione si può ridure la latenza fino ad un minuto, anche se in base all'esperienza la configurazione ottimale prevede latenze di 15-30 minuti)
  • Al fine di garantire la massima efficienza è necessario eseguire operazioni periodiche di pulizia dei dati non più necessari, il sistema non è quindi adatto ad un funzionamento intensivo 24x7, tuttavia il problema è aggirabile distribuendo le chiamate ai web service su due o più console MailUp.
  • No labels