예제 #1
0
 function SendTriggeredSends($arrayOfTriggeredRecords)
 {
     $sendTS = new ET_TriggeredSend();
     $sendTS->authStub = $this;
     $sendTS->props = $arrayOfTriggeredRecords;
     $sendResponse = $sendTS->send();
     return $sendResponse;
 }
예제 #2
0
 $trigger->filter = array('Property' => 'CustomerKey', 'SimpleOperator' => 'equals', 'Value' => 'TEXTEXT');
 $getResult = $trigger->get();
 print_r('Get Status: ' . ($getResult->status ? 'true' : 'false') . "\n");
 print 'Code: ' . $getResult->code . "\n";
 print 'Message: ' . $getResult->message . "\n";
 print 'Result Count: ' . count($getResult->results) . "\n";
 print 'Results: ' . "\n";
 print_r($getResult->results);
 print "\n---------------\n";
 // Send an email with TriggeredSend
 print_r("Send an email using a triggered send \n");
 $sendTrigger = new ET_TriggeredSend();
 $sendTrigger->props = array('CustomerKey' => 'TEXTEXT');
 $sendTrigger->authStub = $myclient;
 $sendTrigger->subscribers = array(array("EmailAddress" => "*****@*****.**", "SubscriberKey" => "*****@*****.**"));
 $sendResult = $sendTrigger->send();
 print_r('Send Status: ' . ($sendResult->status ? 'true' : 'false') . "\n");
 print 'Code: ' . $sendResult->code . "\n";
 print 'Message: ' . $sendResult->message . "\n";
 print 'Results: ' . "\n";
 print_r($sendResult->results);
 print "\n---------------\n";
 // Generate a unique identifier for the TriggeredSend customer key since they cannot be re-used even after deleted
 $TSNameForCreateThenDelete = uniqid();
 // Create a TriggeredSend Definition
 print_r("Create a TriggeredSend Definition  \n");
 $postTrig = new ET_TriggeredSend();
 $postTrig->authStub = $myclient;
 $postTrig->props = array('CustomerKey' => $TSNameForCreateThenDelete, 'Name' => $TSNameForCreateThenDelete, 'Email' => array("ID" => "3113962"), "SendClassification" => array("CustomerKey" => "2240"));
 $postResult = $postTrig->post();
 print_r('Post Status: ' . ($postResult->status ? 'true' : 'false') . "\n");
 $sendTrigger->subscribers = array(array("EmailAddress" => "*****@*****.**", "SubscriberKey" => "*****@*****.**"));
 $sendResult = $sendTrigger->send();
 print_r('Send Status: ' . ($sendResult->status ? 'true' : 'false') . "\n");
 print 'Code: ' . $sendResult->code . "\n";
 print 'Message: ' . $sendResult->message . "\n";
 print 'Results: ' . "\n";
 print_r($sendResult->results);
 print "\n---------------\n";
 $clientMID = '0000001';
 // Send an email with TriggeredSend with Client context
 print_r("Send an email using a triggered send with Client context\n");
 $sendTrigger = new ET_TriggeredSend();
 $sendTrigger->props = array('CustomerKey' => 'TEXTEXT');
 $sendTrigger->authStub = $myclient;
 $sendTrigger->subscribers = array(array("EmailAddress" => "*****@*****.**", "SubscriberKey" => "*****@*****.**"));
 $sendResult = $sendTrigger->send($clientMID);
 print_r('Send Status: ' . ($sendResult->status ? 'true' : 'false') . "\n");
 print 'Code: ' . $sendResult->code . "\n";
 print 'Message: ' . $sendResult->message . "\n";
 print 'Results: ' . "\n";
 print_r($sendResult->results);
 print "\n---------------\n";
 // Generate a unique identifier for the TriggeredSend customer key since they cannot be re-used even after deleted
 $TSNameForCreateThenDelete = uniqid();
 // Create a TriggeredSend Definition
 print_r("Create a TriggeredSend Definition  \n");
 $postTrig = new ET_TriggeredSend();
 $postTrig->authStub = $myclient;
 $postTrig->props = array('CustomerKey' => $TSNameForCreateThenDelete, 'Name' => $TSNameForCreateThenDelete, 'Email' => array("ID" => "3113962"), "SendClassification" => array("CustomerKey" => "2240"));
 $postResult = $postTrig->post();
 print_r('Post Status: ' . ($postResult->status ? 'true' : 'false') . "\n");
 /**
  * Sends a Triggered Send to defined Email Address
  * @param $email Email Address to send to
  * @param $emailid Email ID (content of the email to be sent)
  * @param $sendClassification the Send Classification usually Default Commercial
  * @param $properties array of extra properties, must be in allowed properties to be passed to ExactTarget.
  * @return bool|\ET_Patch
  * @throws \Exception
  */
 public function sendTriggered($email, $emailid, $sendClassification = "Default Commercial", $properties = [])
 {
     $name = uniqid();
     $ts = new \ET_TriggeredSend();
     $ts->authStub = $this->fuel;
     $ts->props = array('CustomerKey' => $name, 'Name' => $name, 'Description' => 'Lantern Test Triggered Send', 'Email' => array('ID' => $emailid), 'SendClassification' => array('CustomerKey' => $sendClassification), 'EmailSubject' => 'Testing Lantern Triggered Send', 'TriggeredSendStatus' => 'Active', 'RefreshContent' => 'true', 'SuppressTracking' => 'true', 'Priority' => 'High');
     $allowed_properties = ['SenderProfile', 'DeliveryProfile'];
     foreach ($properties as $key => $property) {
         if (in_array($key, $allowed_properties)) {
             $ts->props[$key] = $property;
         }
     }
     $getRes = $ts->post();
     if ($getRes->status == true) {
         $patchTrig = new \ET_TriggeredSend();
         $patchTrig->authStub = $this->fuel;
         $patchTrig->props = array('CustomerKey' => $name, 'TriggeredSendStatus' => 'Active', 'RefreshContent' => 'true');
         if (is_array($email)) {
             $subscribers = [];
             foreach ($email as $e) {
                 $subscribers[] = ['EmailAddress' => $e, 'SubscriberKey' => $e];
             }
             $patchTrig->subscribers = $subscribers;
         } else {
             $patchTrig->subscribers = [['EmailAddress' => $email, 'SubscriberKey' => $email]];
         }
         $patchResult = $patchTrig->patch();
         $sendresult = $patchTrig->send();
         if ($patchResult->status == true && $sendresult->status == true) {
             return $patchResult;
         } else {
             Log::error("Error Sending Triggered Send", [$patchResult, $sendresult]);
             return false;
         }
     } else {
         Log::error("Error (sendTriggered)", [$getRes]);
         return false;
     }
 }