samples/sample-triggeredsend.rb in sfmc-fuelsdk-ruby-1.1.0 vs samples/sample-triggeredsend.rb in sfmc-fuelsdk-ruby-1.2.0

- old
+ new

@@ -1,129 +1,129 @@ -require 'marketingcloudsdk' -require 'securerandom' -require_relative 'sample_helper' - -begin - stubObj = MarketingCloudSDK::Client.new auth - - # Get all TriggeredSendDefinitions - p '>>> Get all TriggeredSendDefinitions' - getTS = MarketingCloudSDK::TriggeredSend.new - getTS.authStub = stubObj - getTS.props = ["CustomerKey", "Name", "TriggeredSendStatus"] - getResponse = getTS.get - p 'Retrieve Status: ' + getResponse.status.to_s - p 'Code: ' + getResponse.code.to_s - p 'Message: ' + getResponse.message.to_s - p 'MoreResults: ' + getResponse.more?.to_s - p 'Results Count: ' + getResponse.results.length.to_s - #p 'Results: ' + getResponse.results.to_s - raise 'Failure retrieving triggersend' unless getResponse.success? - - # Generate a unique identifier for the TriggeredSend customer key since they cannot be re-used even after deleted - TSNameForCreateThenDelete = SecureRandom.uuid - - # Create a TriggeredSend Definition - p '>>> Create a TriggeredSend Definition' - postTrig = MarketingCloudSDK::TriggeredSend.new - postTrig.authStub = stubObj - postTrig.props = {'CustomerKey' => TSNameForCreateThenDelete,'Name' => TSNameForCreateThenDelete, 'Email' => {"ID"=>"3113962"}, "SendClassification"=> {"CustomerKey"=> "2240"}} - postResponse = postTrig.post - p 'Post Status: ' + postResponse.status.to_s - p 'Code: ' + postResponse.code.to_s - p 'Message: ' + postResponse.message.to_s - p 'Result Count: ' + postResponse.results.length.to_s - p 'Results: ' + postResponse.results.inspect - raise 'Failure creating triggersend' unless postResponse.success? - - # Specify the name of a TriggeredSend that was setup for testing - # Do not use a production Triggered Send Definition - - NameOfTestTS = "TEXTEXT" - - # Pause a TriggeredSend - p '>>> Pause a TriggeredSend' - patchTrig = MarketingCloudSDK::TriggeredSend.new - patchTrig.authStub = stubObj - patchTrig.props = {"CustomerKey" => NameOfTestTS, "TriggeredSendStatus" =>"Inactive"} - patchResponse = patchTrig.patch - p 'Patch Status: ' + patchResponse.status.to_s - p 'Code: ' + patchResponse.code.to_s - p 'Message: ' + patchResponse.message.to_s - p 'Result Count: ' + patchResponse.results.length.to_s - p 'Results: ' + patchResponse.results.inspect - raise 'Failure updating triggersend' unless patchResponse.success? - - # Retrieve Single TriggeredSend - p '>>> Retrieve Single TriggeredSend' - getTS = MarketingCloudSDK::TriggeredSend.new - getTS.authStub = stubObj - getTS.props = ["CustomerKey", "Name", "TriggeredSendStatus"] - getTS.filter = {'Property' => 'CustomerKey','SimpleOperator' => 'equals','Value' => NameOfTestTS} - getResponse = getTS.get - p 'Retrieve Status: ' + getResponse.status.to_s - p 'Code: ' + getResponse.code.to_s - p 'Message: ' + getResponse.message.to_s - p 'MoreResults: ' + getResponse.more?.to_s - p 'Results Count: ' + getResponse.results.length.to_s - p 'Results: ' + getResponse.results.to_s - raise 'Failure retrieving triggersend' unless getResponse.success? - - # Start a TriggeredSend by setting to Active - p '>>> Start a TriggeredSend by setting to Active' - patchTrig = MarketingCloudSDK::TriggeredSend.new - patchTrig.authStub = stubObj - patchTrig.props = {"CustomerKey" => NameOfTestTS, "TriggeredSendStatus" =>"Active"} - patchResponse = patchTrig.patch - p 'Patch Status: ' + patchResponse.status.to_s - p 'Code: ' + patchResponse.code.to_s - p 'Message: ' + patchResponse.message.to_s - p 'Result Count: ' + patchResponse.results.length.to_s - p 'Results: ' + patchResponse.results.inspect - raise 'Failure updating triggersend' unless patchResponse.success? - - # Retrieve Single TriggeredSend After setting back to active - p '>>> Retrieve Single TriggeredSend After setting back to active' - getTS = MarketingCloudSDK::TriggeredSend.new - getTS.authStub = stubObj - getTS.props = ["CustomerKey", "Name", "TriggeredSendStatus"] - getTS.filter = {'Property' => 'CustomerKey','SimpleOperator' => 'equals','Value' => NameOfTestTS} - getResponse = getTS.get - p 'Retrieve Status: ' + getResponse.status.to_s - p 'Code: ' + getResponse.code.to_s - p 'Message: ' + getResponse.message.to_s - p 'MoreResults: ' + getResponse.more?.to_s - p 'Results Count: ' + getResponse.results.length.to_s - p 'Results: ' + getResponse.results.to_s - raise 'Failure retrieving triggersend' unless getResponse.success? - - # Send an email with TriggeredSend - p '>>> Send an email with TriggeredSend' - sendTrig = MarketingCloudSDK::TriggeredSend.new - sendTrig.authStub = stubObj - sendTrig.props = [{"CustomerKey" => NameOfTestTS, "Subscribers" => {"EmailAddress"=>"testing@bh.exacttarget.com", "SubscriberKey" => "testing@bh.exacttarget.com"}}] - sendResponse = sendTrig.send - p 'Send Status: ' + sendResponse.status.to_s - p 'Code: ' + sendResponse.code.to_s - p 'Message: ' + sendResponse.message.to_s - p 'Result Count: ' + sendResponse.results.length.to_s - p 'Results: ' + sendResponse.results.inspect - raise 'Failure sending triggersend' unless sendResponse.success? - - - # Delete a TriggeredSend Definition - p '>>> Delete a TriggeredSend Definition ' - deleteTrig = MarketingCloudSDK::TriggeredSend.new - deleteTrig.authStub = stubObj - deleteTrig.props = {'CustomerKey' => TSNameForCreateThenDelete} - deleteResponse = deleteTrig.delete - p 'Delete Status: ' + deleteResponse.status.to_s - p 'Code: ' + deleteResponse.code.to_s - p 'Message: ' + deleteResponse.message.to_s - p 'Result Count: ' + deleteResponse.results.length.to_s - p 'Results: ' + deleteResponse.results.inspect - raise 'Failure deleting triggersend' unless deleteResponse.success? - -rescue => e - p "Caught exception: #{e.message}" - p e.backtrace -end +require 'marketingcloudsdk' +require 'securerandom' +require_relative 'sample_helper' + +begin + stubObj = MarketingCloudSDK::Client.new auth + + # Get all TriggeredSendDefinitions + p '>>> Get all TriggeredSendDefinitions' + getTS = MarketingCloudSDK::TriggeredSend.new + getTS.authStub = stubObj + getTS.props = ["CustomerKey", "Name", "TriggeredSendStatus"] + getResponse = getTS.get + p 'Retrieve Status: ' + getResponse.status.to_s + p 'Code: ' + getResponse.code.to_s + p 'Message: ' + getResponse.message.to_s + p 'MoreResults: ' + getResponse.more?.to_s + p 'Results Count: ' + getResponse.results.length.to_s + #p 'Results: ' + getResponse.results.to_s + raise 'Failure retrieving triggersend' unless getResponse.success? + + # Generate a unique identifier for the TriggeredSend customer key since they cannot be re-used even after deleted + TSNameForCreateThenDelete = SecureRandom.uuid + + # Create a TriggeredSend Definition + p '>>> Create a TriggeredSend Definition' + postTrig = MarketingCloudSDK::TriggeredSend.new + postTrig.authStub = stubObj + postTrig.props = {'CustomerKey' => TSNameForCreateThenDelete,'Name' => TSNameForCreateThenDelete, 'Email' => {"ID"=>"3113962"}, "SendClassification"=> {"CustomerKey"=> "2240"}} + postResponse = postTrig.post + p 'Post Status: ' + postResponse.status.to_s + p 'Code: ' + postResponse.code.to_s + p 'Message: ' + postResponse.message.to_s + p 'Result Count: ' + postResponse.results.length.to_s + p 'Results: ' + postResponse.results.inspect + raise 'Failure creating triggersend' unless postResponse.success? + + # Specify the name of a TriggeredSend that was setup for testing + # Do not use a production Triggered Send Definition + + NameOfTestTS = "TEXTEXT" + + # Pause a TriggeredSend + p '>>> Pause a TriggeredSend' + patchTrig = MarketingCloudSDK::TriggeredSend.new + patchTrig.authStub = stubObj + patchTrig.props = {"CustomerKey" => NameOfTestTS, "TriggeredSendStatus" =>"Inactive"} + patchResponse = patchTrig.patch + p 'Patch Status: ' + patchResponse.status.to_s + p 'Code: ' + patchResponse.code.to_s + p 'Message: ' + patchResponse.message.to_s + p 'Result Count: ' + patchResponse.results.length.to_s + p 'Results: ' + patchResponse.results.inspect + raise 'Failure updating triggersend' unless patchResponse.success? + + # Retrieve Single TriggeredSend + p '>>> Retrieve Single TriggeredSend' + getTS = MarketingCloudSDK::TriggeredSend.new + getTS.authStub = stubObj + getTS.props = ["CustomerKey", "Name", "TriggeredSendStatus"] + getTS.filter = {'Property' => 'CustomerKey','SimpleOperator' => 'equals','Value' => NameOfTestTS} + getResponse = getTS.get + p 'Retrieve Status: ' + getResponse.status.to_s + p 'Code: ' + getResponse.code.to_s + p 'Message: ' + getResponse.message.to_s + p 'MoreResults: ' + getResponse.more?.to_s + p 'Results Count: ' + getResponse.results.length.to_s + p 'Results: ' + getResponse.results.to_s + raise 'Failure retrieving triggersend' unless getResponse.success? + + # Start a TriggeredSend by setting to Active + p '>>> Start a TriggeredSend by setting to Active' + patchTrig = MarketingCloudSDK::TriggeredSend.new + patchTrig.authStub = stubObj + patchTrig.props = {"CustomerKey" => NameOfTestTS, "TriggeredSendStatus" =>"Active"} + patchResponse = patchTrig.patch + p 'Patch Status: ' + patchResponse.status.to_s + p 'Code: ' + patchResponse.code.to_s + p 'Message: ' + patchResponse.message.to_s + p 'Result Count: ' + patchResponse.results.length.to_s + p 'Results: ' + patchResponse.results.inspect + raise 'Failure updating triggersend' unless patchResponse.success? + + # Retrieve Single TriggeredSend After setting back to active + p '>>> Retrieve Single TriggeredSend After setting back to active' + getTS = MarketingCloudSDK::TriggeredSend.new + getTS.authStub = stubObj + getTS.props = ["CustomerKey", "Name", "TriggeredSendStatus"] + getTS.filter = {'Property' => 'CustomerKey','SimpleOperator' => 'equals','Value' => NameOfTestTS} + getResponse = getTS.get + p 'Retrieve Status: ' + getResponse.status.to_s + p 'Code: ' + getResponse.code.to_s + p 'Message: ' + getResponse.message.to_s + p 'MoreResults: ' + getResponse.more?.to_s + p 'Results Count: ' + getResponse.results.length.to_s + p 'Results: ' + getResponse.results.to_s + raise 'Failure retrieving triggersend' unless getResponse.success? + + # Send an email with TriggeredSend + p '>>> Send an email with TriggeredSend' + sendTrig = MarketingCloudSDK::TriggeredSend.new + sendTrig.authStub = stubObj + sendTrig.props = [{"CustomerKey" => NameOfTestTS, "Subscribers" => {"EmailAddress"=>"testing@bh.exacttarget.com", "SubscriberKey" => "testing@bh.exacttarget.com"}}] + sendResponse = sendTrig.send + p 'Send Status: ' + sendResponse.status.to_s + p 'Code: ' + sendResponse.code.to_s + p 'Message: ' + sendResponse.message.to_s + p 'Result Count: ' + sendResponse.results.length.to_s + p 'Results: ' + sendResponse.results.inspect + raise 'Failure sending triggersend' unless sendResponse.success? + + + # Delete a TriggeredSend Definition + p '>>> Delete a TriggeredSend Definition ' + deleteTrig = MarketingCloudSDK::TriggeredSend.new + deleteTrig.authStub = stubObj + deleteTrig.props = {'CustomerKey' => TSNameForCreateThenDelete} + deleteResponse = deleteTrig.delete + p 'Delete Status: ' + deleteResponse.status.to_s + p 'Code: ' + deleteResponse.code.to_s + p 'Message: ' + deleteResponse.message.to_s + p 'Result Count: ' + deleteResponse.results.length.to_s + p 'Results: ' + deleteResponse.results.inspect + raise 'Failure deleting triggersend' unless deleteResponse.success? + +rescue => e + p "Caught exception: #{e.message}" + p e.backtrace +end