Ti trovi qui:
Content syndication nell'API
Riferimento per informazioni sulla content syndication di Email Studio nell'API.
Comando HTTPGet
Scopo
Includere nel corpo del messaggio email per inviare il contenuto dell'URL specificato all'email al momento dell'invio. Se il contenuto è inserito nella cache, il sistema include la copia inserita nella cache; in caso contrario, accede all'URL. Utilizzare questo comando per includere contenuto specifico dell'abbonato in ogni email della campagna.
Se il syndicated content non è specifico dell'abbonato, utilizzare il comando Before;HTTPGet.
Sintassi
%%httpget "URL"%%
Argomenti
URL
Si supponga di avere più inserzioni sul proprio server Web e di usare uno script che ne sceglie una in modo casuale in modo che ogni abbonato riceva un'inserzione selezionata casualmente.
L'indirizzo del sito Web è https://www.example.com. Il nome file dello script scritto per generare pagine Web personalizzate è getdata.pl, che utilizza l'attributo Email Studio con etichetta Indirizzo email per determinare quale pagina visualizzare. Questo codice viene immesso nel corpo dell'email nel punto in cui viene visualizzato il contenuto della pagina Web:
%%httpget
"https://www.example.com/cgi-bin/getdata.pl?id=[Email Address]"%%
Quando viene generata l'email, l'applicazione sostituisce l'indirizzo email dell'abbonato con l'URL (ad esempio, https://www.example.com/cgibin/getdat...heirDomain.com). Il contenuto visualizzato in quella posizione del corpo dell'email è la pagina Web specifica dell'indirizzo email dell'abbonato.
Anche se il tag di unione HTTPGet non richiede un output specifico dall'URL, si consiglia di includere una riga di stato standard HTTP/1.0 200 OK, una riga Content-Type: text/plain o Content-Type: text/html seguita da una riga vuota e quindi il contenuto del testo da inserire. Ad esempio, uno script Perl include codice simile a quello indicato di seguito:
print "HTTP/1.0 200 OK\r\n";
print "Content-Type: text/plain\r\n";
print
"\r\n";
print "Welcome to the Northern Trail
newsletter!";
Questa funzione funziona con HTTP sulla porta 80 e HTTPS sulla porta 443. Le assegnazioni di porte non standard causano errori.
Comando HTTPGetWrap
Scopo
Includere nei tag <a> dei link nel syndicated content per tracciare i link visualizzati nel contenuto inviato ai messaggi email con HTTPGet o con la funzione AMPscript TreatAsContent().
Sintassi
<a href="httpgetwrap|URL">Click here</a>
Argomenti
URL
Comando Before;HTTPGet
Scopo
Includere nel corpo dell'email per inviare il contenuto dell'URL specificato una sola volta all'inizio di un invio email da includere in ogni email della campagna. Utilizzare questo comando per risparmiare tempo rispetto all'uso di HTTPGet quando non è necessario inviare il contenuto separatamente per ogni istanza dell'email. Questo comando si può usare anche per ottenere una notifica dell'inizio di un invio email. Se il syndicated content è specifico dell'abbonato, utilizzare il comando HTTPGet al posto di questo comando.
Sintassi
%%before;httpget "URL"%%
Argomenti
URL
Inclusione della stessa inserzione in ogni email
Si supponga di avere più inserzioni sul server Web ma di volere che ogni abbonato a un particolare invio di email visualizzi lo stesso messaggio. L'indirizzo del sito Web è https://www.example.com e il nome file dello script che invia l'inserzione è getmailad.pl. Questo codice viene immesso nel corpo dell'email nel punto in cui viene visualizzata l'inserzione:
%%before;httpget
"https://www.example.com/cgi-bin/getmailad.pl"%%
Richiesta di notifica dell'inizio di un invio email
È stato scritto uno script che registra l'ora di inizio dell'invio di email. L'indirizzo del sito Web dove si trova lo script è https://www.example.com e il nome file dello script è recordevent.pl. Inserire questo codice all'inizio del corpo del messaggio email:
%%before;httpget
"https://www.example.com/cgi-bin/recordevent.pl"%%
Il sistema esegue lo script al momento dell'elaborazione dell'invio email. Questo comando non aggiunge contenuti al corpo dell'email. Il comando before;httpget viene elaborato al di fuori del contesto dell'abbonato perché recupera
contenuti utilizzati nell'email per tutti gli abbonati. Di conseguenza, l'unica personalizzazione valida per la stringa di query URL è la sostituzione di JobID. Ad esempio:
%%before;httpget
"https://www.example.com/cgibin/record....pl?id=[jobid]"%%
Comando After;HTTPGet
Scopo
Includere alla fine di una definizione email per eseguire una sola volta un'azione alla fine di una campagna email. Questo comando non include contenuti nel corpo dell'email. Utilizzare questo comando per informare il proprio sistema CRM o CMS che l'invio email è completato.
Sintassi
%%after;httpget "URL"%%
Argomenti
URL
Richiesta di notifica del completamento di un invio email
L'utente ha scritto uno script per registrare il completamento di un invio email.
L'indirizzo del sito Web dove si trova lo script è https://www.example.com e il nome file dello script è logsentmessage.pl. Inserire il codice seguente alla fine del corpo del messaggio email:
%%after;httpget
"https://www.example.com/cgi-bin/logsentmessage.pl"%%
Il sistema esegue lo script alla fine dell'invio dell'email. Questo comando non aggiunge contenuti al corpo dell'email.
Il comando after;httpget viene elaborato al di fuori del contesto dell'abbonato perché viene richiamato una volta al termine dell'invio a tutti gli abbonati. Di conseguenza, l'unica personalizzazione valida per la stringa di query URL è la sostituzione di JobID. Ad esempio:
%%after;httpget
"https://www.example.com/cgi-bin/logse...pl?jid=[jobid]"%%
Opzioni di gestione delle restituzioni vuote
La chiamata HTTPGET può avere esito positivo senza errori ma senza restituire contenuti. Per impostazione predefinita, il sistema presuppone che non siano presenti syndicated content pertinenti al contesto dell'email e continua l'invio dell'email. È possibile ignorare questo comportamento predefinito impostando un flag facoltativo.
Sintassi
%%httpget[;EmptyReturnHandlingOption] "URL"%%
Oppure
%%before;httpget[;EmptyReturnHandlingOption] "URL"%%
Valori validi
- 0 (o nessuno): continuare la normale elaborazione
- 1: interrompere l'elaborazione e impostare lo stato del processo su errore
- 2 (per una chiamata a livello abbonato): ignorare l'abbonato e continuare l'invio
- 2 (per una chiamata di livello prima dell'invio): interrompere l'invio e impostare lo stato del processo su errore
Questo flag viene ignorato per il comando After;HTTPGet.
Si supponga di avere più inserzioni sul proprio server Web e di usare uno script che ne sceglie una in modo casuale in modo che ogni abbonato riceva un'inserzione selezionata casualmente. Se lo script non restituisce alcuna inserzione, si desidera che il sistema ignori l'abbonato e continui con il resto dell'invio.
L'indirizzo del sito Web è https://www.example.com e il nome file dello script è ad.pl e si trova in cgi-binfolder. Inserire il codice seguente nel corpo dell'email nel punto in cui viene visualizzata l'inserzione:
%%httpget ; 2
"https://www.example.com/cgi-bin/ad.pl"%%
Gestione degli errori
La miglior difesa in caso di errori relativi alla content syndication è una buona strategia di attacco. Utilizzando AMPscript è possibile pre-convalidare i valori da utilizzare per la content syndication. Se la pagina richiede un valore per la stringa di query e genera errori in caso di mancata ricezione, è possibile controllare il valore prima che venga effettuata la chiamata.
Potenzialmente pericoloso
%%httpget
"http://adomain.com/newsletter/album?...umId=[albumid]"%%
In questa chiamata di content syndication, albumid non deve restituire alcun contenuto. Se non fa parte della richiesta, restituisce un errore del server.
Approccio migliore
%%[ if length(albumid) > 0 then ]%% %%httpget
"http://adomain.com/newsletter/album?...umId=[albumid]"%% %%[ endif ]%%
Questo approccio utilizza Manuscript per convalidare i dati prima di eseguire la chiamata di content syndication. Non impedisce errori isolati del server Web, ma evita problemi correlati ai dati.
