Use a triggered send to reach a subscriber after they perform a specific action.
Sample .NET Code
public void testTriggeredSendEmail()
{
TriggeredSendDefinition definition = new TriggeredSendDefinition();
definition.CustomerKey = "Definition_Key";
//subscriber to whom email is sent
Subscriber subscriber = new Subscriber();
subscriber.EmailAddress = "aruiz@example.com";
subscriber.SubscriberKey = "aruiz@example.com";
TriggeredSend send = new TriggeredSend();
send.TriggeredSendDefinition = definition;
//If passing Full HTML_Body, pass value to HTML__Body
ETServiceClient.ETClient.Attribute attribute1 = new ETServiceClient.ETClient.Attribute();
attribute1.Name = "HTML__BODY";
//attribute2.Value = html;
//set HTML content to Email, Testing foreign language.
attribute1.Value = "????????????????????";
subscriber.Attributes = new ETServiceClient.ETClient.Attribute[] { attribute1 }; //set attribute value and assign that to subscriber
send.Subscribers = new Subscriber[] { subscriber }; //set subscriber to Triggered send
APIObject[] sends = { send };
String requestId = null;
String overAllStatus = null;
CreateOptions test = new CreateOptions();
//If you want to send email Asynchronous, enable permission.
test.RequestType = RequestType.Asynchronous;
CreateResult[] results = soapClient.Create(new CreateOptions(), sends, out requestId, out overAllStatus);
Console.Write("Status ::: " + overAllStatus);
}
Sample Java Code (Axis 1.4)
public void testTriggeredSend () throws RemoteException {
Soap_PortType stub = init();
TriggeredSendDefinition sendDefinition = new TriggeredSendDefinition();
sendDefinition.setCustomerKey("Test_Dynamic_Href"); //this is that External_Key
TriggeredSend triggeredSend = new TriggeredSend();
Subscriber subscriber = new Subscriber();
subscriber.setEmailAddress("acruz@example.com"); //Subscriber to whom email is sent.
subscriber.setSubscriberKey("Dynamic_Herf"); //Unique identifier for this email_Id
Attribute attribute = new Attribute();
attribute.setName("LINK_HREF_1"); //Attribute in body similar to "HTML__Body"
// attribute.setName("%%=TREATASCONTENT(HTML_HREF_1)=%%");
attribute.setValue("<a href='httpgetwrap|http://www.marketingcloud.com' alias='MC'>Dynamic Link</a>");
subscriber.setAttributes(new Attribute[]{attribute});
/* Owner owner = new Owner();
owner.setFromName("FromName"); //At run time you change from user and email address
owner.setFromAddress("example@example.com");
triggeredSend.setOwner(owner);*/
triggeredSend.setSubscribers(new Subscriber[]{subscriber});
triggeredSend.setTriggeredSendDefinition(sendDefinition);
CreateOptions createOptions = new CreateOptions();
//createOptions.setRequestType(RequestType.Synchronous);
CreateRequest createRequest = new CreateRequest(createOptions, new APIObject[]{triggeredSend});
CreateResponse createResponse = stub.create(createRequest);
System.out.println("TriggeredSend ::: " + createResponse.getOverallStatus());
}
Sample SOAP Envelope
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
">
<Header>
<fueloauth>YOUR_ACCESS_TOKEN</fueloauth>
</Header>
<Body>
<CreateRequest xmlns="http://exacttarget.com/wsdl/partnerAPI">
<Objects xsi:type="TriggeredSend">
<PartnerKey xsi:nil="true"/>
<ObjectID xsi:nil="true"/>
<TriggeredSendDefinition>
<PartnerKey xsi:nil="true"/>
<ObjectID xsi:nil="true"/>
<CustomerKey>Definition_Key</CustomerKey>
</TriggeredSendDefinition>
<Subscribers>
<PartnerKey xsi:nil="true"/>
<ObjectID xsi:nil="true"/>
<EmailAddress>aruiz@example.com</EmailAddress>
<SubscriberKey>aruiz@example.com</SubscriberKey>
<Attributes>
<Name>HTML__BODY</Name>
<Value>????????????????????</Value>
</Attributes>
</Subscribers>
</Objects>
</CreateRequest>
</Body>
</Envelope>