$trigger->props = array("CustomerKey", "Name", "TriggeredSendStatus"); $trigger->filter = array('Property' => 'CustomerKey', 'SimpleOperator' => 'equals', 'Value' => $NameOfTestTS); $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"; // Start a TriggeredSend by setting to Active print_r("Start a TriggeredSend by setting to Active \n"); $patchTrig = new ET_TriggeredSend(); $patchTrig->authStub = $myclient; $patchTrig->props = array('CustomerKey' => 'TEXTEXT', 'TriggeredSendStatus' => 'Active', 'RefreshContent' => 'true'); $patchResult = $patchTrig->patch(); print_r('Patch Status: ' . ($patchResult->status ? 'true' : 'false') . "\n"); print 'Code: ' . $patchResult->code . "\n"; print 'Message: ' . $patchResult->message . "\n"; print 'Result Count: ' . count($patchResult->results) . "\n"; print 'Results: ' . "\n"; print_r($patchResult->results); print "\n---------------\n"; // Retrieve Single TriggeredSend After setting back to active print_r("Retrieve Single TriggeredSend After setting back to active\n"); $trigger = new ET_TriggeredSend(); $trigger->authStub = $myclient; $trigger->props = array("CustomerKey", "Name", "TriggeredSendStatus"); $trigger->filter = array('Property' => 'CustomerKey', 'SimpleOperator' => 'equals', 'Value' => 'TEXTEXT'); $getResult = $trigger->get(); print_r('Get Status: ' . ($getResult->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; } }