Vous êtes ici :
Syndication de contenu dans l’API
Référence pour les informations relatives à la syndication de contenu Email Studio dans l'API.
Commande HTTPGet
Objectif
Inclure dans le corps de l'e-mail pour extraire un contenu à l'URL spécifiée dans l'e-mail au moment de son envoi. Si le contenu est mis en cache, le système inclut la copie mise en cache ; sinon il accède à l'URL. Utilisez cette commande pour inclure un contenu spécifique à l'abonné dans chaque e-mail de la campagne.
Si le contenu syndiqué n’est pas spécifique à l’abonné, utilisez la commande Before;HTTPGet.
Syntaxe
%%httpget "URL"%%
Arguments
URL
Vous avez plusieurs publicités sur votre serveur Web, et un script qui en sélectionne une de façon aléatoire, pour que chaque abonné ait une publicité sélectionnée de façon aléatoire.
L’adresse du site Web est https://www.example.com. Le nom de fichier du script que vous avez écrit pour générer des pages Web personnalisées est getdata.pl, qui utilise l'attribut Adresse e-mail d’Email Studio pour déterminer la page à afficher. Vous saisissez ce code dans le corps de l'e-mail, à l'emplacement d'affichage du contenu de la page Web :
%%httpget
"https://www.example.com/cgi-bin/getdata.pl?id=[Email Address]"%%
Lors de la génération de l'e-mail, l'application remplace l'adresse e-mail de l'abonné dans l'URL (par exemple : https://www.example.com/cgibin/getdat...heirDomain.com). Le contenu affiché à cet emplacement dans le corps de l'e-mail correspond à la page Web spécifique à l'adresse e-mail de cet abonné.
Bien que la balise de fusion HTTPGet ne requiert pas une sortie spécifique de l’URL, nous recommandons d’inclure une ligne de statut standard HTTP/1.0 200 OK, une ligne Content-Type:text/plain ou Content-Type: text/html suivie d'une ligne vide, puis le contenu du texte à insérer. Par exemple, un script Perl inclut un code de ce type :
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!";
Cette fonction fonctionne avec HTTP sur port 80 et HTTPS sur port 443. Les attributions de port non standard entraînent l'échec de cette fonction.
Commande HTTPGetWrap
Objectif
Inclure dans les balises <a> de liens dans le contenu syndiqué afin de suivre les liens qui apparaissent dans le contenu extrait dans vos e-mails avec la fonction AMPscript HTTPGet ou TreatAsContent().
Syntaxe
<a href="httpgetwrap|URL">Click here</a>
Arguments
URL
Commande Before;HTTPGet
Objectif
Inclure dans le corps de l'e-mail pour extraire un contenu de l'URL spécifiée une fois au début de l'envoi d'un e-mail à inclure dans chaque e-mail de la campagne. Utilisez cette commande pour gagner du temps sur HTTPGet lorsque vous n'avez pas besoin d'extraire un contenu séparément pour chaque instance de l'e-mail. Vous pouvez également utiliser cette commande pour obtenir une notification indiquant qu’un envoi d’e-mail a commencé. Si le contenu syndiqué est spécifique à l’abonné, utilisez plutôt la commande HTTPGet.
Syntaxe
%%before;httpget "URL"%%
Arguments
URL
Inclusion de la même publicité dans chaque e-mail
Vous avez plusieurs publicités sur votre serveur Web, mais vous souhaitez que chaque abonné d’un envoi d’e-mail particulier voie la même publicité. L’adresse du site Web est https://www.example.com et le nom de fichier du script qui extrait la publicité est getmailad.pl. Saisissez ce code dans le corps de l'e-mail, à l'emplacement d'affichage de la publicité :
%%before;httpget
"https://www.example.com/cgi-bin/getmailad.pl"%%
Demande de notification indiquant que l’envoi d'un e-mail a commencé
Vous avez écrit un script qui enregistre l'heure de début de l'envoi de l'e-mail. L'adresse du site Web où se trouve le script est https://www.example.com, et le nom de fichier du script est recordevent.pl. Vous saisissez ce code en haut du corps de l'e-mail :
%%before;httpget
"https://www.example.com/cgi-bin/recordevent.pl"%%
Le système exécute votre script au moment du traitement de l’envoi de l’e-mail. Cette commande n'entraîne pas l'ajout de contenu au corps de l'e-mail. La commande before;httpget est traitée en dehors du contexte de l'abonné, car elle récupère
le contenu utilisé dans l’e-mail pour tous les abonnés. Par conséquent, la seule personnalisation valide dans la chaîne de requête d’URL est la substitution JobID. Par exemple :
%%before;httpget
"https://www.example.com/cgibin/record....pl?id=[jobid]"%%
Commande After;HTTPGet
Objectif
Inclure à la fin d'une définition d’e-mail pour effectuer une action ponctuelle à la fin de la campagne par e-mail. Cette commande n'inclut pas le contenu du corps de l'e-mail. Utilisez cette commande pour fournir à votre système CRM ou CMS une notification indiquant que l’e-mail a été envoyé.
Syntaxe
%%after;httpget "URL"%%
Arguments
URL
Demande de notification indiquant que l’envoi d'un e-mail a été effectué
Vous avez écrit un script qui consigne qu’un e-mail a été envoyé.
L'adresse du site Web où se trouve le script est https://www.example.com et le nom de fichier du script est logsentmessage.pl. Vous saisissez le code suivant à la fin du corps de l'e-mail :
%%after;httpget
"https://www.example.com/cgi-bin/logsentmessage.pl"%%
Le système exécute votre script à la fin de l’envoi de l’e-mail. Cette commande n'entraîne pas l'ajout de contenu au corps de l'e-mail.
La commande after;httpget est traitée en dehors du contexte de l'abonné, car elle est invoquée une fois lorsque l'envoi à tous les abonnés est terminé. Par conséquent, la seule personnalisation valide dans la chaîne de requête d’URL est la substitution JobID. Par exemple :
%%after;httpget
"https://www.example.com/cgi-bin/logse...pl?jid=[jobid]"%%
Options de traitement des retours vides
L'appel HTTPGET peut réussir sans erreur, mais ne renvoyer aucun contenu. Par défaut, le système considère qu'il n'existe aucun contenu syndiqué pertinent dans le contexte de l'e-mail et continue l'envoi de l'e-mail. Vous pouvez remplacer ce comportement par défaut par un indicateur facultatif.
Syntaxe
%%httpget[;EmptyReturnHandlingOption] "URL"%%
Ou
%%before;httpget[;EmptyReturnHandlingOption] "URL"%%
Valeurs valides
- 0 (ou aucun) : continue le traitement normal
- 1 : arrête le traitement et définit le statut de la tâche sur Erreur
- 2 (pour un appel au niveau de l'abonné) : ignore l'abonné et continue l'envoi
- 2 (pour un appel au niveau précédent) : arrête l'envoi et définit le statut de la tâche sur Erreur
Cet indicateur est ignoré pour la commande After;HTTPGet.
Vous avez plusieurs publicités sur votre serveur Web, et un script qui en sélectionne une de façon aléatoire, pour que chaque abonné ait une publicité sélectionnée de façon aléatoire. Si le script ne renvoie pas une publicité, demandez au système d’ignorer cet abonné et de continuer avec le reste de l’envoi.
L’adresse du site Web est https://www.example.com et le nom de fichier du script est ad.pl, qui se trouve dans cgi-binfolder. Vous saisissez le code suivant dans le corps de l'e-mail, à l'emplacement d'affichage de la publicité :
%%httpget ; 2
"https://www.example.com/cgi-bin/ad.pl"%%
Traitement des erreurs
La meilleure défense contre les erreurs de syndication de contenu est une bonne infraction. En utilisant AMPscript, vous pouvez pré-valider les valeurs utilisées pour la syndication de contenu. Si votre page nécessite une valeur de chaîne de requête, ou si elle ne la reçoit pas, vous pouvez vérifier la valeur avant que l’appel n’ait lieu.
Potentiellement dangereux
%%httpget
"http://adomain.com/newsletter/album?...umId=[albumid]"%%
Dans ce appel de syndication de contenu, albumid est obligatoire pour renvoyer un contenu. S'il n'est pas inclus dans la requête, il renvoie une erreur de serveur.
Une meilleure approche
%%[ if length(albumid) > 0 then ]%% %%httpget
"http://adomain.com/newsletter/album?...umId=[albumid]"%% %%[ endif ]%%
Cette approche utilise Manuscript pour valider les données avant d'exécuter l'appel de syndication de contenu. Elle n'empêche pas les erreurs de faux serveurs Web, mais empêche les problèmes de données.

