送信時に送信定義メールの外部キーを取得

このサンプルコードを使用して、送信時に送信定義メールの外部キーを取得します。たとえば、この情報を使用して、属性を URL にパラメーターとして含めて、購読者が使用することができます。

1Platform.Load("Core","1");
2
3     var rowcolor = "#FFFFFF";
4
5     var esd = Send.Definition.Init('myESD');
6        esd = Send.Definition.Retrieve();
7
8     for (var i = 0; i < esd.length; i++)
9     {
10          var sdlName = esd[i].Name;
11          var sdlKey = esd[i].CustomerKey;
12          var eID = esd[i].Email.ID;
13          var sdlObj = esd[i].SendDefinitionList;
14          var eName = getemailname(eID);
15
16
17          Write("<tr style='background-color: " + rowcolor + "'>");
18          Write("<td>" + (i + 1) + "</td>");
19          Write("<td>" + sdlName + "</td>");
20          Write("<td>" + eName + "</td>");
21
22          for (var j = 0; j < sdlObj.length; j++)
23              {
24
25                   var sdlListType= sdlObj[j].SendDefinitionListType;
26                   var sdlDstType= sdlObj[j].DataSourceTypeID;
27
28                   if (sdlDstType == "CustomObject") {
29                        var deName = getdename(sdlObj[j].CustomObjectID);
30                   }
31                   else if (sdlDstType == "FilterDefinition") {
32                        var deName = getfiltername(sdlKey);
33                   }
34                   else {
35                        //Write(Stringify(sdlObj[j]));
36                        var deName = getlistname(sdlObj[j].List.ID);
37                   }
38
39                   if (j >= 1) {
40
41
42
43                   Write("<tr style='background-color: " + rowcolor + "'>");
44                   Write("<td>&nbsp;</td>");
45                   Write("<td>" + sdlName + "</td>");
46                   Write("<td>" + eName + "</td>");
47                   Write("<td>" + sdlListType + "</td>");
48                   Write("<td>" + sdlDstType + "</td>");
49                   Write("<td>" + deName + "</td>");
50                   Write("</tr>");
51
52                   }
53
54                   else {
55
56                   Write("<td>" + sdlListType + "</td>");
57                   Write("<td>" + sdlDstType + "</td>");
58                   Write("<td>" + deName + "</td>");
59                   Write("</tr>");
60
61                   }
62
63                   if (rowcolor == "#FFFFFF") {
64                       rowcolor = "#CCFFFF"
65                   }
66                   else
67                   {
68                       rowcolor = "#FFFFFF"
69                   }
70              }
71
72
73     }
74
75       function getemailname(pEID)
76       {
77          var myEmail = Email.Init("myEmail");
78          myEmail =  Email.Retrieve({Property:"ID",SimpleOperator:"equals",Value:pEID});
79
80          for (var i = 0; i < myEmail.length; i++)
81          {
82              return (myEmail[i].Name);
83          }
84
85     }
86
87     function getfiltername(pKEY)
88       {
89          var myFilter = FilterDefinition.Init("myFilter");
90          myFilter =  FilterDefinition.Retrieve({Property:"CustomerKey",SimpleOperator:"equals",Value:pKEY});
91
92          for (var i = 0; i < myFilter.length; i++)
93          {
94              return (myFilter[i].Name);
95          }
96
97     }
98
99     function getdename(pID)
100       {
101          var myDE = DataExtension.Init("myDE");
102          myDE =  DataExtension.Retrieve({Property:"ObjectID",SimpleOperator:"equals",Value:pID});
103
104          for (var i = 0; i < myDE.length; i++)
105          {
106              return (myDE[i].Name);
107          }
108
109     }
110
111     function getlistname(pID)
112       {
113          var myList = List.Init("myList");
114          myList =  List.Retrieve({Property:"ID",SimpleOperator:"equals",Value:pID});
115
116          for (var i = 0; i < myList.length; i++)
117          {
118              return (myList[i].ListName);
119          }
120
121     }
122
123</script>