Sending emails through API

Avatar

Avatar

Ramaswami

Avatar

Ramaswami

Ramaswami

12-11-2020

Hi Team, 

 

I am seding emails through javascript API like the below : 

 

Ramaswami_0-1605188912188.png

 

in my javascript code : 

 

var emailCondition = "@email = 'abc@gmail.com'";

var deliveryId = nms.delivery.SubmitNotification ("prdDM30608",
<delivery>
<targets >
<deliveryTarget >
<targetPart type='query' exclusion='false' ignoreDeleteStatus='false'>
<where>
<condition expr={emailCondition} />
</where>
</targetPart>
</deliveryTarget>
</targets>
</delivery>);
logInfo("deliveryid : "+deliveryId)

 

Currently it is taking the email address statically. I want the email address to be taken dynamically from the query activity. How can i do that ?

 

solution which I am following ( but i don't think so this is a nice solution as when i follow this solution the exclude duplicate option in the email settings not working)

 

Solution which i am thinking is a wrong approach : 

// vars.tableName = table which is generated by query activity and it has email column

var cnx = application.getConnection();

var details = cnx.query("select * from "+vars.tableName);
for each(var row in details)
{
var emailCondition = "@email = '"+row[1]+"'";
var deliveryId = nms.delivery.SubmitNotification ("prdDM30608",
<delivery>
<targets >
<deliveryTarget >
<targetPart type='query' exclusion='false' ignoreDeleteStatus='false'>
<where>
<condition expr={emailCondition} />
</where>
</targetPart>
</deliveryTarget>
</targets>
</delivery>);
logInfo("deliveryid : "+deliveryId)
}
cnx.dispose();

 

Is there any good approach to directly pipe the email from query activity this way i can exclude duplicate addresses for emails. 

 

Question 2: 

Also if in email template if we have a variable piping like "<%=recipient.firstname>" how can i pass this varable from api call ?? any solution for this??

 

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

DavidKangni

MVP

Avatar

DavidKangni

MVP

DavidKangni
MVP

12-11-2020

You should use message center for this cases if you want your recipient/user to receive an email after your api call. 

from the marketing instance, i will recommend to send api call to recipient table and trigger a workflow every 10-15 min.

 

Thanks

David

Answers (0)