public function testSetRecipientData() { $int_obj = new InteractObject(); $int_obj->setFolderName("some_folder"); $int_obj->setObjectName("some_contact_list"); $identifier = new RecipientIdentifier(); $identifier->setValue(RecipientIdentifier::EMAIL_ADDRESS); $ids = array("*****@*****.**", "*****@*****.**"); $optionalData = array(array("FIRST_NAME" => "Mason", "ZIP" => "12345"), array("FIRST_NAME" => "Tom", "Zip" => "54321")); $this->event->setRecipientDataParam($int_obj, $identifier, $ids, $optionalData); $this->assertTrue(is_array($this->event->params['recipientData'])); foreach ($this->event->params['recipientData'] as $key => $recipientObject) { $this->assertInstanceOf('recipient', $recipientObject); } }
public function setRecipientDataParam($folderName, $listName, RecipientIdentifier $recipientIdentifier, array $recipient_ids, array $transientData) { $recipientDataArray = array(); $optionalDataArray = array(); $recipientCount = count($recipient_ids); $recipient_obj = new RecipientIdentifier(); for ($cnt = 0; $cnt < $recipientCount; $cnt++) { $optionalDataArray = null; $recipient = new recipient(); $recipient->setListName($folderName, $listName); $recipient->setEmailFormat(EmailFormat::NO_FORMAT); $recipient->{"set" . $recipientIdentifier->getValue()}($recipient_ids[$cnt]); // Build optionalData array foreach ($transientData[0] as $name => $value) { $optionalData = new optionalData(); $optionalData->setName($name); $optionalData->setValue($value); $optionalDataArray[] = $optionalData; } $recipientDataObj = new RecipientData(); $recipientDataObj->setRecipient($recipient); $recipientDataObj->setOptionalData($optionalDataArray); $this->params['recipientData'][] = $recipientDataObj; } }
$record_2->setFieldValues(array("*****@*****.**", "TEST_MDIXON")); $records[] = $record_1; $records[] = $record_2; $merge_obj->setRecordDataParam($fieldNames, $records); $merge_result_ids = $instance->execute($merge_obj); /* * merge call end */ /* * trigger event call begin */ $custom_obj = new triggerCustomEvent(); $custom_event = new CustomEvent(); $custom_event->setEventName("DEV_SUPP_TEST"); $custom_obj->setCustomEventParam($custom_event); $identifier = new RecipientIdentifier(); $identifier->setValue(RecipientIdentifier::RECIPIENT_ID); /* * Transient data is optionalData in Responsys Jargon * These name value pairs can be used to display in the * campaign body and/or evaluated by program logic as ETV or "ENTRY TRACKING VARIABLES" * */ $transientData = array('FIRST_NAME' => 'Scooby', 'LAST_NAME' => 'Doo'); $transientData1 = array('FIRST_NAME' => 'Wilma', 'LAST_NAME' => 'SmartyPants'); $transientDataArray[] = $transientData; $transientDataArray[] = $transientData1; /* * Obtain recipient id from merge call result! */ if (is_array($merge_result_ids->recipientResult)) {