responsys-api 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NThlNWRiM2JmMDc1ZDJhNGM2ZjI1YWMwZjhiMGViYzM4MGI3ZGEyMw==
4
+ MTlmMTI3NDdjZmE5MjYwYTllNzRiMTU3OTE1ZDc4OGQ2N2EwZTNhNQ==
5
5
  data.tar.gz: !binary |-
6
- ZDkyMzQ2YTA3NzNlNjJhYzVkYjg1NWZmYjYyMDgzZTQ1ZWE2NzY2Nw==
6
+ ZjU1YjUxYWUxMWE0Yzg0NTk0YWRmYTAyNDYxMjI3YmQ1YzNiMzYyNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjA1YzZmYjU5N2FiYzMzY2VlZjcyYTAwZWI3ZDljOTAxMDkyNjE2NzY3MmI5
10
- ZTQ0NzAzNzYxZDIzNmVjM2RjYTA1MzhhNDMwYmNhMWMzYWY1YjQ1MzE5Yjdm
11
- N2FhMmM0ZWEzYzExYmRkMTJmMGMxMDBmOTM0OWQwOGU2NGU0Yzc=
9
+ MjAwMmE5OWU3YzRhMjliZjNhZmQ2ODNkNGE3ZWEzOWY4NjAxYmJmMWU5YjE0
10
+ ZDk1M2MwOTlmZjQyYWRmYTM5ODVkZDQwMzA1MjNmMTkyYWQ2NzJmZTc2NWFl
11
+ NjdiNTlmMDNlMDMzY2M1YmVlNzYwNTJlZDNjNTEyZjg3NWE0OGE=
12
12
  data.tar.gz: !binary |-
13
- MWFlYzk1Y2E3ZGRjYTUyNTY3NzU0ODE3NzMwZTk4ZjgyODkzYTYzZDAwODM3
14
- ZDcxYWZmZmM4NmUyOWJlNDFhZjRkYzRmZWU4YmIzNDc3YmZmNDA5OTZjOTBj
15
- YTc1NGQ5ZDRlOWJlY2Y0MjI2YTc5N2UxM2EwMWY0ZmRiYmVhYzA=
13
+ NTJlNjI3MDZkOWNhMWI2MDNjNTk3ZDAxMGQ3MWM1ZTdiODM5NGU3ODRjNGI3
14
+ NmY5MGIxNjE2ZWZkMTc0MDZiOTQ5MzdhZTgzNDMyZWRjMGJhNGM0ZTNkN2Mx
15
+ YmM2NjY1NTlhOWRhM2Y0NWY5MjkwYTgzZjBjODU1ZWRjNzdlZjU=
@@ -5,6 +5,17 @@ module Responsys
5
5
  module Campaign
6
6
  include Responsys::Exceptions
7
7
 
8
+ def trigger_custom_event(custom_event, recipients)
9
+ raise ParameterException, Responsys::Helper.get_message("api.campaign.incorrect_recipients_type") unless recipients.is_a? Array
10
+ raise ParameterException, Responsys::Helper.get_message("api.object.custom_event.incorrect_event_object") unless custom_event.is_a? Responsys::Api::Object::CustomEvent
11
+
12
+ message = {
13
+ customEvent: custom_event.to_api,
14
+ recipientData: recipients.map(&:to_api)
15
+ }
16
+ api_method(:trigger_custom_event, message)
17
+ end
18
+
8
19
  def trigger_message(campaign, recipients)
9
20
  raise ParameterException, Responsys::Helper.get_message("api.campaign.incorrect_recipients_type") unless recipients.is_a? Array
10
21
  message = {
@@ -9,3 +9,4 @@ require "responsys/api/object/recipient"
9
9
  require "responsys/api/object/recipient_data"
10
10
  require "responsys/api/object/email_format"
11
11
  require "responsys/api/object/optional_data"
12
+ require "responsys/api/object/custom_event"
@@ -0,0 +1,29 @@
1
+ module Responsys
2
+ module Api
3
+ module Object
4
+ class CustomEvent
5
+ include Responsys::Exceptions
6
+ attr_accessor :event_name, :event_id, :event_string_data_mapping, :event_number_data_mapping, :event_date_data_mapping
7
+
8
+ def initialize(event_name="", event_id="", options={})
9
+ raise ParameterException, Responsys::Helper.get_message("api.object.custom_event.empty_event") if event_name.blank? && event_id.blank?
10
+ @event_name = event_name || ""
11
+ @event_id = event_id || ""
12
+ @event_string_data_mapping = options[:event_string_data_mapping] || ""
13
+ @event_number_data_mapping = options[:event_number_data_mapping] || ""
14
+ @event_date_data_mapping = options[:event_date_data_mapping] || ""
15
+ end
16
+
17
+ def to_api
18
+ {
19
+ eventName: event_name,
20
+ eventId: event_id,
21
+ eventStringDataMapping: event_string_data_mapping,
22
+ eventDateDataMapping: event_date_data_mapping,
23
+ eventNumberDataMapping: event_number_data_mapping
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -14,6 +14,9 @@ en:
14
14
  incorrect_email_format: The email format is not supported
15
15
  record:
16
16
  incorrect_field_values_type: The field_values must be an array
17
+ custom_event:
18
+ empty_event: The event_name or event_id must be specified
19
+ incorrect_event_object: "custom_event must be a CustomEvent instance"
17
20
  client:
18
21
  api_method:
19
22
  wrong_action_login: Please use the dedicated login method
@@ -22,4 +25,4 @@ en:
22
25
  incorrect_recipients_type: Recipients parameter must be an array
23
26
  member:
24
27
  riid_missing: Variable riid is not provided to the member
25
- record_not_found: The member has not been found in the list
28
+ record_not_found: The member has not been found in the list
@@ -5,12 +5,12 @@ module Responsys
5
5
  class Member
6
6
  include Responsys::Api
7
7
  include Responsys::Api::Object
8
- attr_accessor :email, :user_riid
8
+ attr_accessor :email, :user_riid, :client
9
9
 
10
- def initialize(email, riid = nil)
10
+ def initialize(email, riid = nil, client = Client.instance)
11
11
  @email = email
12
12
  @user_riid = riid
13
- @client = Client.instance
13
+ @client = client
14
14
  end
15
15
 
16
16
  def add_to_list(list, subscribe = false, details = {}, update_record = false)
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "responsys-api"
7
- spec.version = "0.0.9"
7
+ spec.version = "0.1.0"
8
8
  spec.authors = ["Dan DeMeyere", "Florian Lorrain", "Morgan Griggs", "Mike Rocco"]
9
9
  spec.email = ["dan@thredup.com", "florian.lorrain@thredup.com", "morgan@thredup.com", "michael.rocco@thredup.com"]
10
10
  spec.description = "A gem to integrate with the Responsys SOAP API"
@@ -1,23 +1,76 @@
1
1
  require "spec_helper.rb"
2
2
  require "responsys/api/client"
3
3
 
4
- describe Responsys::Api::Campaign do
4
+ describe Responsys::Api::Campaign do
5
+ let(:list) { Responsys::Api::Object::InteractObject.new(DATA[:folder], DATA[:lists][:list1][:name]) }
6
+ let(:campaign) { Responsys::Api::Object::InteractObject.new(DATA[:folder], DATA[:campaigns][:campaign1][:name]) }
7
+ let(:recipient1) { Responsys::Api::Object::Recipient.new(emailAddress: DATA[:users][:user1][:EMAIL_ADDRESS], listName: list) }
8
+ let(:recipient2) { Responsys::Api::Object::Recipient.new(emailAddress: DATA[:users][:user2][:EMAIL_ADDRESS], listName: list) }
9
+ let(:recipientData1) { Responsys::Api::Object::RecipientData.new(recipient1) }
10
+ let(:recipientData2) { Responsys::Api::Object::RecipientData.new(recipient2) }
11
+ let(:custom_event) { Responsys::Api::Object::CustomEvent.new(DATA[:custom_events][:custom_event1][:name]) }
12
+
13
+ before(:all) do
14
+ @client = Responsys::Api::Client.instance
15
+ end
5
16
 
6
17
  context "Trigger Message" do
7
- before(:all) do
8
- @client = Responsys::Api::Client.instance
18
+ it "should return a status of ok when triggering a message for one recipient" do
19
+ VCR.use_cassette("api/campaign/trigger_message_1") do
20
+ response = Responsys::Api::Client.instance.trigger_message(campaign, [recipientData1])
21
+ expect(response[:status]).to eq("ok")
22
+ end
9
23
  end
10
24
 
11
- before(:each) do
12
- @campaign = Responsys::Api::Object::InteractObject.new("fake","fake")
13
- @recipient = Responsys::Api::Object::Recipient.new(emailAddress: 'fake@thredup.com')
14
- @recipientData = Responsys::Api::Object::RecipientData.new(@recipient)
25
+ it "should return a status of ok when triggering a message for more than one recipient" do
26
+ VCR.use_cassette("api/campaign/trigger_message_2") do
27
+ response = Responsys::Api::Client.instance.trigger_message(campaign, [recipientData1,recipientData2])
28
+ expect(response[:status]).to eq("ok")
29
+ end
15
30
  end
16
31
 
17
32
  it "should pass api_method a message Hash" do
18
33
  expect(@client).to receive(:api_method).with(anything, be_a_kind_of(Hash))
19
- @client.trigger_message(@campaign, [@recipientData])
34
+ @client.trigger_message(campaign, [recipientData1])
35
+ end
36
+
37
+ it "should pass info to the trigger campaign message API call" do
38
+ expect(@client).to receive(:api_method).with(:trigger_campaign_message, anything)
39
+ @client.trigger_message(campaign, [recipientData1])
20
40
  end
21
41
  end
22
42
 
43
+ context "#trigger_custom_event" do
44
+ it "should return a status of ok when triggering a custom event for one recipient" do
45
+ VCR.use_cassette("api/campaign/trigger_custom_event_1") do
46
+ response = Responsys::Api::Client.instance.trigger_custom_event(custom_event, [recipientData1])
47
+ expect(response[:status]).to eq("ok")
48
+ end
49
+ end
50
+
51
+ it "should return a status of ok when triggering a custom event for more than one recipient" do
52
+ VCR.use_cassette("api/campaign/trigger_custom_event_2") do
53
+ response = Responsys::Api::Client.instance.trigger_custom_event(custom_event, [recipientData1,recipientData2])
54
+ expect(response[:status]).to eq("ok")
55
+ end
56
+ end
57
+
58
+ it "should pass api_method a message hash" do
59
+ expect(@client).to receive(:api_method).with(anything, be_a_kind_of(Hash))
60
+ @client.trigger_custom_event(custom_event, [recipientData1])
61
+ end
62
+
63
+ it "should pass info to the trigger custom event API call" do
64
+ expect(@client).to receive(:api_method).with(:trigger_custom_event, anything)
65
+ @client.trigger_custom_event(custom_event, [recipientData1])
66
+ end
67
+
68
+ it "should include a custom event in the message" do
69
+ expect { @client.trigger_custom_event(campaign, [recipientData1]) }.to raise_error(Responsys::Exceptions::ParameterException, "custom_event must be a CustomEvent instance")
70
+ end
71
+
72
+ it "should only accept an array of recipients in the message" do
73
+ expect { @client.trigger_custom_event(custom_event, recipientData1) }.to raise_error(Responsys::Exceptions::ParameterException, "Recipients parameter must be an array")
74
+ end
75
+ end
23
76
  end
@@ -0,0 +1,16 @@
1
+ require "spec_helper.rb"
2
+
3
+ describe Responsys::Api::Object::CustomEvent do
4
+ context "#intialize" do
5
+ it "should raise an exception if there is no event identifier present" do
6
+ expect{ Responsys::Api::Object::CustomEvent.new("") }.to raise_exception(Responsys::Exceptions::ParameterException, "The event_name or event_id must be specified")
7
+ end
8
+ end
9
+
10
+ context "#to_api" do
11
+ it "should correctly transform the object to the api representation" do
12
+ object = Responsys::Api::Object::CustomEvent.new("event_name")
13
+ expect(object.to_api).to eq({ eventName: "event_name", eventId: "", eventStringDataMapping: "", eventDateDataMapping: "", eventNumberDataMapping: "" })
14
+ end
15
+ end
16
+ end
@@ -1,7 +1,7 @@
1
1
  require "spec_helper.rb"
2
2
  require "responsys/api/client"
3
3
 
4
- describe Responsys::Api::Object::Recipient do
4
+ describe Responsys::Api::Object::Recipient do
5
5
 
6
6
 
7
7
  context "new recipient" do
@@ -15,19 +15,19 @@ describe Responsys::Api::Object::Recipient do
15
15
  end
16
16
 
17
17
  it "should have recipient_id attribute" do
18
- expect(@recipient.recipient_id).to be
18
+ expect(@recipient.recipient_id).to be_a(String)
19
19
  end
20
20
 
21
21
  it "should have customer_id attribute" do
22
- expect(@recipient.customer_id).to be
22
+ expect(@recipient.customer_id).to be_a(String)
23
23
  end
24
24
 
25
25
  it "should have email_address attribute" do
26
- expect(@recipient.email_address).to be
26
+ expect(@recipient.email_address).to be_a(String)
27
27
  end
28
28
 
29
29
  it "should have mobile_number attribute" do
30
- expect(@recipient.mobile_number).to be
30
+ expect(@recipient.mobile_number).to be_a(String)
31
31
  end
32
32
 
33
33
  it "should have email_format attribute of type EmailFormat" do
@@ -46,19 +46,19 @@ describe Responsys::Api::Object::Recipient do
46
46
  end
47
47
 
48
48
  it "should have recipientId attribute " do
49
- expect(@recipient.to_api[:recipientId]).to be
49
+ expect(@recipient.to_api[:recipientId]).to be_a(Integer)
50
50
  end
51
51
 
52
52
  it "should have customerId attribute " do
53
- expect(@recipient.to_api[:customerId]).to be
53
+ expect(@recipient.to_api[:customerId]).to be_a(String)
54
54
  end
55
55
 
56
56
  it "should have emailAddress attribute " do
57
- expect(@recipient.to_api[:emailAddress]).to be
57
+ expect(@recipient.to_api[:emailAddress]).to be_a(String)
58
58
  end
59
59
 
60
60
  it "should have mobileNumber attribute " do
61
- expect(@recipient.to_api[:mobileNumber]).to be
61
+ expect(@recipient.to_api[:mobileNumber]).to be_a(String)
62
62
  end
63
63
 
64
64
  it "should have EmailFormat attribute of type String" do
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://ws5.responsys.net/webservices/services/ResponsysWSService
6
+ body:
7
+ encoding: UTF-8
8
+ string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:ws.rsys.com"
10
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><sessionHeader><sessionId>zhCE1Tdc0UhcA8pcvIwterF7MK</sessionId></sessionHeader></env:Header><env:Body><tns:triggerCustomEvent><tns:customEvent><tns:eventName>rspec_event1</tns:eventName><tns:eventId></tns:eventId><tns:eventStringDataMapping></tns:eventStringDataMapping><tns:eventDateDataMapping></tns:eventDateDataMapping><tns:eventNumberDataMapping></tns:eventNumberDataMapping></tns:customEvent><tns:recipientData><tns:recipient><tns:listName><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_list1</tns:objectName></tns:listName><tns:recipientId>0</tns:recipientId><tns:customerId></tns:customerId><tns:emailAddress>user1@email.com</tns:emailAddress><tns:mobileNumber></tns:mobileNumber><tns:emailFormat>NO_FORMAT</tns:emailFormat></tns:recipient><tns:optionalData><tns:name></tns:name><tns:value></tns:value></tns:optionalData></tns:recipientData></tns:triggerCustomEvent></env:Body></env:Envelope>
11
+ headers:
12
+ Cookie:
13
+ - JSESSIONID=0C8539AD888A36D0E56CE1E8C148C822.ws03-ri5
14
+ Soapaction:
15
+ - '"triggerCustomEvent"'
16
+ Content-Type:
17
+ - text/xml;charset=UTF-8
18
+ Content-Length:
19
+ - '1165'
20
+ Accept-Encoding:
21
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
+ Accept:
23
+ - '*/*'
24
+ User-Agent:
25
+ - Ruby
26
+ response:
27
+ status:
28
+ code: 200
29
+ message: OK
30
+ headers:
31
+ Content-Length:
32
+ - '400'
33
+ Content-Type:
34
+ - text/xml; charset=UTF-8
35
+ Date:
36
+ - Thu, 13 Nov 2014 23:26:12 GMT
37
+ Server:
38
+ - Apache
39
+ Set-Cookie:
40
+ - BIGipServerDC2-APIGEE-I5-9051-SSL=3600669706.23331.0000; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><triggerCustomEventResponse
44
+ xmlns="urn:ws.rsys.com"><result><recipientId>48614925</recipientId><success>true</success><errorMessage
45
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" /></result></triggerCustomEventResponse></soapenv:Body></soapenv:Envelope>
46
+ http_version:
47
+ recorded_at: Thu, 13 Nov 2014 23:26:12 GMT
48
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://ws5.responsys.net/webservices/services/ResponsysWSService
6
+ body:
7
+ encoding: UTF-8
8
+ string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:ws.rsys.com"
10
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><sessionHeader><sessionId>efkxCZI0UR09suTmXLr9X5MQnv</sessionId></sessionHeader></env:Header><env:Body><tns:triggerCustomEvent><tns:customEvent><tns:eventName>rspec_event1</tns:eventName><tns:eventId></tns:eventId><tns:eventStringDataMapping></tns:eventStringDataMapping><tns:eventDateDataMapping></tns:eventDateDataMapping><tns:eventNumberDataMapping></tns:eventNumberDataMapping></tns:customEvent><tns:recipientData><tns:recipient><tns:listName><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_list1</tns:objectName></tns:listName><tns:recipientId>0</tns:recipientId><tns:customerId></tns:customerId><tns:emailAddress>user1@email.com</tns:emailAddress><tns:mobileNumber></tns:mobileNumber><tns:emailFormat>NO_FORMAT</tns:emailFormat></tns:recipient><tns:optionalData><tns:name></tns:name><tns:value></tns:value></tns:optionalData></tns:recipientData><tns:recipientData><tns:recipient><tns:listName><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_list1</tns:objectName></tns:listName><tns:recipientId>0</tns:recipientId><tns:customerId></tns:customerId><tns:emailAddress>user2@email.com</tns:emailAddress><tns:mobileNumber></tns:mobileNumber><tns:emailFormat>NO_FORMAT</tns:emailFormat></tns:recipient><tns:optionalData><tns:name></tns:name><tns:value></tns:value></tns:optionalData></tns:recipientData></tns:triggerCustomEvent></env:Body></env:Envelope>
11
+ headers:
12
+ Cookie:
13
+ - JSESSIONID=BAC4722EECDC1A1F56B044801679505A.ws04-ri5
14
+ Soapaction:
15
+ - '"triggerCustomEvent"'
16
+ Content-Type:
17
+ - text/xml;charset=UTF-8
18
+ Content-Length:
19
+ - '1635'
20
+ Accept-Encoding:
21
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
+ Accept:
23
+ - '*/*'
24
+ User-Agent:
25
+ - Ruby
26
+ response:
27
+ status:
28
+ code: 200
29
+ message: OK
30
+ headers:
31
+ Content-Length:
32
+ - '557'
33
+ Content-Type:
34
+ - text/xml; charset=UTF-8
35
+ Date:
36
+ - Thu, 13 Nov 2014 23:26:12 GMT
37
+ Server:
38
+ - Apache
39
+ Set-Cookie:
40
+ - BIGipServerDC2-APIGEE-I5-9051-SSL=3600669706.23331.0000; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><triggerCustomEventResponse
44
+ xmlns="urn:ws.rsys.com"><result><recipientId>48614925</recipientId><success>true</success><errorMessage
45
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" /></result><result><recipientId>48614965</recipientId><success>true</success><errorMessage
46
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" /></result></triggerCustomEventResponse></soapenv:Body></soapenv:Envelope>
47
+ http_version:
48
+ recorded_at: Thu, 13 Nov 2014 23:26:12 GMT
49
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://ws5.responsys.net/webservices/services/ResponsysWSService
6
+ body:
7
+ encoding: UTF-8
8
+ string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:ws.rsys.com"
10
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><sessionHeader><sessionId>20Kf4jHbupQjtqpZ6ypNZ0tpoB</sessionId></sessionHeader></env:Header><env:Body><tns:triggerCampaignMessage><tns:campaign><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_campaign1</tns:objectName></tns:campaign><tns:recipientData><tns:recipient><tns:listName><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_list1</tns:objectName></tns:listName><tns:recipientId>0</tns:recipientId><tns:customerId></tns:customerId><tns:emailAddress>user1@email.com</tns:emailAddress><tns:mobileNumber></tns:mobileNumber><tns:emailFormat>NO_FORMAT</tns:emailFormat></tns:recipient><tns:optionalData><tns:name></tns:name><tns:value></tns:value></tns:optionalData></tns:recipientData></tns:triggerCampaignMessage></env:Body></env:Envelope>
11
+ headers:
12
+ Cookie:
13
+ - JSESSIONID=BD6C90EEC399A3A726DA05EC56D156C3.ws04-ri5
14
+ Soapaction:
15
+ - '"triggerCampaignMessage"'
16
+ Content-Type:
17
+ - text/xml;charset=UTF-8
18
+ Content-Length:
19
+ - '1022'
20
+ Accept-Encoding:
21
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
+ Accept:
23
+ - '*/*'
24
+ User-Agent:
25
+ - Ruby
26
+ response:
27
+ status:
28
+ code: 200
29
+ message: OK
30
+ headers:
31
+ Content-Length:
32
+ - '408'
33
+ Content-Type:
34
+ - text/xml; charset=UTF-8
35
+ Date:
36
+ - Thu, 13 Nov 2014 23:26:10 GMT
37
+ Server:
38
+ - Apache
39
+ Set-Cookie:
40
+ - BIGipServerDC2-APIGEE-I5-9051-SSL=3600669706.23331.0000; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><triggerCampaignMessageResponse
44
+ xmlns="urn:ws.rsys.com"><result><recipientId>48614925</recipientId><success>true</success><errorMessage
45
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" /></result></triggerCampaignMessageResponse></soapenv:Body></soapenv:Envelope>
46
+ http_version:
47
+ recorded_at: Thu, 13 Nov 2014 23:26:11 GMT
48
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://ws5.responsys.net/webservices/services/ResponsysWSService
6
+ body:
7
+ encoding: UTF-8
8
+ string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:ws.rsys.com"
10
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><sessionHeader><sessionId>rMc94sfP8BH1ZTd1WzOLOLAogo</sessionId></sessionHeader></env:Header><env:Body><tns:triggerCampaignMessage><tns:campaign><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_campaign1</tns:objectName></tns:campaign><tns:recipientData><tns:recipient><tns:listName><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_list1</tns:objectName></tns:listName><tns:recipientId>0</tns:recipientId><tns:customerId></tns:customerId><tns:emailAddress>user1@email.com</tns:emailAddress><tns:mobileNumber></tns:mobileNumber><tns:emailFormat>NO_FORMAT</tns:emailFormat></tns:recipient><tns:optionalData><tns:name></tns:name><tns:value></tns:value></tns:optionalData></tns:recipientData><tns:recipientData><tns:recipient><tns:listName><tns:folderName>rspec_tests</tns:folderName><tns:objectName>rspec_list1</tns:objectName></tns:listName><tns:recipientId>0</tns:recipientId><tns:customerId></tns:customerId><tns:emailAddress>user2@email.com</tns:emailAddress><tns:mobileNumber></tns:mobileNumber><tns:emailFormat>NO_FORMAT</tns:emailFormat></tns:recipient><tns:optionalData><tns:name></tns:name><tns:value></tns:value></tns:optionalData></tns:recipientData></tns:triggerCampaignMessage></env:Body></env:Envelope>
11
+ headers:
12
+ Cookie:
13
+ - JSESSIONID=EAF8B08C0EF1AA34C82094C92FF37DEF.ws03-ri5
14
+ Soapaction:
15
+ - '"triggerCampaignMessage"'
16
+ Content-Type:
17
+ - text/xml;charset=UTF-8
18
+ Content-Length:
19
+ - '1492'
20
+ Accept-Encoding:
21
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
+ Accept:
23
+ - '*/*'
24
+ User-Agent:
25
+ - Ruby
26
+ response:
27
+ status:
28
+ code: 200
29
+ message: OK
30
+ headers:
31
+ Content-Length:
32
+ - '565'
33
+ Content-Type:
34
+ - text/xml; charset=UTF-8
35
+ Date:
36
+ - Thu, 13 Nov 2014 23:26:11 GMT
37
+ Server:
38
+ - Apache
39
+ Set-Cookie:
40
+ - BIGipServerDC2-APIGEE-I5-9051-SSL=3600669706.23331.0000; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><triggerCampaignMessageResponse
44
+ xmlns="urn:ws.rsys.com"><result><recipientId>48614925</recipientId><success>true</success><errorMessage
45
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" /></result><result><recipientId>48614965</recipientId><success>true</success><errorMessage
46
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" /></result></triggerCampaignMessageResponse></soapenv:Body></soapenv:Envelope>
47
+ http_version:
48
+ recorded_at: Thu, 13 Nov 2014 23:26:11 GMT
49
+ recorded_with: VCR 2.9.2
@@ -20,13 +20,21 @@
20
20
  :list1:
21
21
  :name: rspec_list1
22
22
  :records:
23
- -
23
+ -
24
24
  <<: *user1
25
- -
25
+ -
26
26
  <<: *user2
27
- -
27
+ -
28
28
  <<: *user3
29
29
 
30
+ :campaigns:
31
+ :campaign1:
32
+ :name: rspec_campaign1
33
+
34
+ :custom_events:
35
+ :custom_event1:
36
+ :name: rspec_event1
37
+
30
38
  :pets:
31
39
  :pet1:
32
40
  :name: rspec_pet1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: responsys-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan DeMeyere
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-11-14 00:00:00.000000000 Z
14
+ date: 2014-11-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rubyntlm
@@ -162,6 +162,7 @@ files:
162
162
  - lib/responsys/api/folder.rb
163
163
  - lib/responsys/api/list.rb
164
164
  - lib/responsys/api/object/all.rb
165
+ - lib/responsys/api/object/custom_event.rb
165
166
  - lib/responsys/api/object/email_format.rb
166
167
  - lib/responsys/api/object/field.rb
167
168
  - lib/responsys/api/object/field_type.rb
@@ -187,11 +188,16 @@ files:
187
188
  - spec/api/campaign_spec.rb
188
189
  - spec/api/client_spec.rb
189
190
  - spec/api/list_spec.rb
191
+ - spec/api/object/custom_event_spec.rb
190
192
  - spec/api/object/recipient_data_spec.rb
191
193
  - spec/api/object/recipient_spec.rb
192
194
  - spec/api/object/record_data_spec.rb
193
195
  - spec/api/table_spec.rb
194
196
  - spec/api_credentials.sample.yml
197
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_1.yml
198
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_2.yml
199
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_message_1.yml
200
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_message_2.yml
195
201
  - spec/fixtures/vcr_cassettes/api/client/expired_session.yml
196
202
  - spec/fixtures/vcr_cassettes/api/list/merge.yml
197
203
  - spec/fixtures/vcr_cassettes/api/list/retrieve.yml
@@ -239,11 +245,16 @@ test_files:
239
245
  - spec/api/campaign_spec.rb
240
246
  - spec/api/client_spec.rb
241
247
  - spec/api/list_spec.rb
248
+ - spec/api/object/custom_event_spec.rb
242
249
  - spec/api/object/recipient_data_spec.rb
243
250
  - spec/api/object/recipient_spec.rb
244
251
  - spec/api/object/record_data_spec.rb
245
252
  - spec/api/table_spec.rb
246
253
  - spec/api_credentials.sample.yml
254
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_1.yml
255
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_custom_event_2.yml
256
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_message_1.yml
257
+ - spec/fixtures/vcr_cassettes/api/campaign/trigger_message_2.yml
247
258
  - spec/fixtures/vcr_cassettes/api/client/expired_session.yml
248
259
  - spec/fixtures/vcr_cassettes/api/list/merge.yml
249
260
  - spec/fixtures/vcr_cassettes/api/list/retrieve.yml