qualtrics 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +3 -0
  3. data/.gitignore +23 -0
  4. data/.rspec +1 -0
  5. data/Gemfile +7 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +29 -0
  8. data/Rakefile +7 -0
  9. data/lib/qualtrics.rb +52 -0
  10. data/lib/qualtrics/configuration.rb +17 -0
  11. data/lib/qualtrics/distribution.rb +90 -0
  12. data/lib/qualtrics/entity.rb +55 -0
  13. data/lib/qualtrics/mailer.rb +111 -0
  14. data/lib/qualtrics/message.rb +75 -0
  15. data/lib/qualtrics/operation.rb +77 -0
  16. data/lib/qualtrics/panel.rb +69 -0
  17. data/lib/qualtrics/panel_import.rb +41 -0
  18. data/lib/qualtrics/panel_import_file.rb +28 -0
  19. data/lib/qualtrics/recipient.rb +109 -0
  20. data/lib/qualtrics/recipient_import_row.rb +40 -0
  21. data/lib/qualtrics/response.rb +35 -0
  22. data/lib/qualtrics/survey.rb +80 -0
  23. data/lib/qualtrics/survey_import.rb +26 -0
  24. data/lib/qualtrics/transaction.rb +70 -0
  25. data/lib/qualtrics/version.rb +3 -0
  26. data/qualtrics.gemspec +34 -0
  27. data/spec/fixtures/sample_survey.xml +2 -0
  28. data/spec/fixtures/vcr_cassettes/Qualtrics_Distribution/creating_to_qualtrics/can_retrieve_a_panel_of_distributions_in_qualtrics.yml +655 -0
  29. data/spec/fixtures/vcr_cassettes/Qualtrics_Distribution/creating_to_qualtrics/can_update_itself.yml +599 -0
  30. data/spec/fixtures/vcr_cassettes/Qualtrics_Mailer/creating_to_qualtrics/sends_a_reminder_to_a_distribution.yml +493 -0
  31. data/spec/fixtures/vcr_cassettes/Qualtrics_Mailer/creating_to_qualtrics/sends_a_survey_to_a_panel_and_creates_a_distribution.yml +441 -0
  32. data/spec/fixtures/vcr_cassettes/Qualtrics_Mailer/creating_to_qualtrics/sends_a_survey_to_an_individual_and_creates_a_distribution.yml +441 -0
  33. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/creating_to_qualtrics/persists_to_qualtrics.yml +56 -0
  34. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/creating_to_qualtrics/populates_the_message_id_when_successful.yml +56 -0
  35. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/creating_to_qualtrics/populates_the_success_attribute.yml +56 -0
  36. data/spec/fixtures/vcr_cassettes/Qualtrics_Message/retrieves_an_array_of_all_panels_in_a_library.yml +115 -0
  37. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/creating_to_qualtrics/persists_to_qualtrics.yml +107 -0
  38. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/creating_to_qualtrics/populates_the_panel_id_when_successful.yml +107 -0
  39. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/creating_to_qualtrics/populates_the_success_attribute.yml +107 -0
  40. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/destroys_a_panel_that_returns_true_when_successful.yml +107 -0
  41. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/raises_an_error_when_you_attempt_to_save_an_already_presisted_panel.yml +55 -0
  42. data/spec/fixtures/vcr_cassettes/Qualtrics_Panel/retrieves_an_array_of_all_panels_in_a_library.yml +704 -0
  43. data/spec/fixtures/vcr_cassettes/Qualtrics_PanelImport/transmits_to_qualtrics.yml +72 -0
  44. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/persists_to_qualtrics.yml +159 -0
  45. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/populates_the_recipient_id_when_successful.yml +159 -0
  46. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/populates_the_success_attribute.yml +159 -0
  47. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/creating_to_qualtrics/raises_an_error_when_a_recipient_is_created_without_specifying_a_panel_id.yml +107 -0
  48. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/recipient_made_in_qualtrics/can_delete_itself_in_qualtrics.yml +311 -0
  49. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/recipient_made_in_qualtrics/can_update_itself_in_qualtrics.yml +313 -0
  50. data/spec/fixtures/vcr_cassettes/Qualtrics_Recipient/recipient_made_in_qualtrics/gets_its_information_in_qualtrics.yml +209 -0
  51. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/can_be_activated_or_deactivated.yml +232 -0
  52. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/destroys_a_survey_that_returns_true_when_successful.yml +128 -0
  53. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/populates_the_survey_id_when_successful.yml +128 -0
  54. data/spec/fixtures/vcr_cassettes/Qualtrics_Survey/creating_to_qualtrics/retrieves_an_array_of_all_surveys.yml +203 -0
  55. data/spec/fixtures/vcr_cassettes/Qualtrics_SurveyImport/transmits_to_qualtrics.yml +128 -0
  56. data/spec/qualtrics/configuration_spec.rb +53 -0
  57. data/spec/qualtrics/distribution_spec.rb +144 -0
  58. data/spec/qualtrics/mailer_spec.rb +127 -0
  59. data/spec/qualtrics/message_spec.rb +105 -0
  60. data/spec/qualtrics/panel_import_file_spec.rb +26 -0
  61. data/spec/qualtrics/panel_import_spec.rb +43 -0
  62. data/spec/qualtrics/panel_spec.rb +80 -0
  63. data/spec/qualtrics/recipient_import_row_spec.rb +62 -0
  64. data/spec/qualtrics/recipient_spec.rb +185 -0
  65. data/spec/qualtrics/response_spec.rb +41 -0
  66. data/spec/qualtrics/survey_import_spec.rb +44 -0
  67. data/spec/qualtrics/survey_spec.rb +125 -0
  68. data/spec/spec_helper.rb +11 -0
  69. data/spec/support/_dotenv.rb +2 -0
  70. data/spec/support/qualtrics.rb +5 -0
  71. data/spec/support/vcr.rb +11 -0
  72. metadata +330 -0
@@ -0,0 +1,35 @@
1
+ require 'json'
2
+
3
+ module Qualtrics
4
+ class Response
5
+
6
+ def initialize(raw_response)
7
+ @raw_response = raw_response
8
+ if @raw_response.status != 200
9
+ raise Qualtrics::ServerErrorEncountered
10
+ end
11
+ end
12
+
13
+ def success?
14
+ body['Meta'].nil? ? false : body['Meta']['Status'] == 'Success'
15
+ end
16
+
17
+ def result
18
+ body['Result'].nil? ? {} : body['Result']
19
+ end
20
+
21
+ protected
22
+
23
+ def body
24
+ if @body.nil?
25
+ if @raw_response.body == ''
26
+ @body = {}
27
+ else
28
+ @body = JSON.parse(@raw_response.body)
29
+ end
30
+ end
31
+ @body
32
+ end
33
+ end
34
+ end
35
+
@@ -0,0 +1,80 @@
1
+ require 'faraday'
2
+ require 'faraday_middleware'
3
+ require 'json'
4
+
5
+ module Qualtrics
6
+ class Survey < Entity
7
+ attr_accessor :responses, :id, :survey_name,
8
+ :survey_owner_id, :survey_status, :survey_start_date,
9
+ :survey_expiration_date, :survey_creation_date,
10
+ :creator_id, :last_modified, :last_activated,
11
+ :user_first_name, :user_last_name
12
+
13
+ def initialize(options={})
14
+ @responses = options[:responses]
15
+ @id = options[:id]
16
+ @survey_name = options[:survey_name]
17
+ @survey_owner_id = options[:survey_owner_id]
18
+ @survey_status = options[:survey_status]
19
+ @survey_start_date = options[:survey_start_date]
20
+ @survey_expiration_date = options[:survey_expiration_date]
21
+ @survey_creation_date = options[:survey_creation_date]
22
+ @creator_id = options[:creator_id]
23
+ @last_modified = options[:last_modified]
24
+ @last_activated = options[:last_activated]
25
+ @user_first_name = options[:user_first_name]
26
+ @user_last_name = options[:user_last_name]
27
+ end
28
+
29
+ def self.all(library_id = nil)
30
+ lib_id = library_id || configuration.default_library_id
31
+ response = get('getSurveys', {'LibraryID' => lib_id})
32
+ if response.success?
33
+ response.result['Surveys'].map do |survey|
34
+ new(underscore_attributes(survey))
35
+ end
36
+ else
37
+ []
38
+ end
39
+ end
40
+
41
+ def self.attribute_map
42
+ {
43
+ 'responses' => :responses,
44
+ 'SurveyID' => :id,
45
+ 'SurveyName' => :survey_name,
46
+ 'SurveyOwnerID' => :survey_owner_id,
47
+ 'SurveyStatus' => :survey_status,
48
+ 'SurveyStartDate' => :survey_start_date,
49
+ 'SurveyExpirationDate' => :survey_expiration_date,
50
+ 'SurveyCreationDate' => :survey_creation_date,
51
+ 'CreatorID' => :creator_id,
52
+ 'LastModified' => :last_modified,
53
+ 'LastActivated' => :last_activated,
54
+ 'UserFirstName' => :user_first_name,
55
+ 'UserLastName' => :user_last_name
56
+ }
57
+ end
58
+
59
+ def destroy
60
+ response = post('deleteSurvey', {
61
+ 'SurveyID' => id
62
+ })
63
+ response.success?
64
+ end
65
+
66
+ def activate
67
+ response = post('activateSurvey', {
68
+ 'SurveyID' => id
69
+ })
70
+ response.success?
71
+ end
72
+
73
+ def deactivate
74
+ response = post('deactivateSurvey', {
75
+ 'SurveyID' => id
76
+ })
77
+ response.success?
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,26 @@
1
+ module Qualtrics
2
+ class SurveyImport < Entity
3
+ attr_accessor :survey_name, :survey, :survey_data_location
4
+
5
+ def initialize(options={})
6
+ @survey_name = options[:survey_name]
7
+ @survey_data_location = options[:survey_data_location]
8
+ @survey = Qualtrics::Survey.new(survey_name: survey_name)
9
+ end
10
+
11
+ def save
12
+ payload = {}
13
+ payload['Name'] = survey.survey_name
14
+ payload['Data'] = Faraday::UploadIO.new(survey_data_location, 'text/xml')
15
+
16
+ response = post 'importSurvey', payload
17
+
18
+ if response.success?
19
+ survey.id = response.result['SurveyID']
20
+ true
21
+ else
22
+ false
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,70 @@
1
+ module Qualtrics
2
+ class Transaction
3
+ class TransactionRecord
4
+ INVERSE_MAP = {
5
+ 'create' => 'delete'
6
+ }
7
+
8
+ attr_reader :operation, :result
9
+ def initialize(operation, result)
10
+ @operation = operation
11
+ @result = result
12
+ end
13
+
14
+ def has_inverse?
15
+ !inverse_command.nil?
16
+ end
17
+
18
+ def inverse_command
19
+ INVERSE_MAP[@operation.command]
20
+ end
21
+
22
+ def inverse_action
23
+ "#{inverse_command}#{operation.entity_name}"
24
+ end
25
+
26
+ def issue_inverse_request
27
+ primary_key_name = "#{operation.entity_name}ID"
28
+ Qualtrics::Operation.new(:post, inverse_action, {
29
+ 'LibraryID' => operation.options['LibraryID'],
30
+ primary_key_name => @result[primary_key_name]
31
+ }).disable_listeners do |op|
32
+ op.issue_request
33
+ end
34
+ end
35
+ end
36
+
37
+ def initialize
38
+ @op_stack = {}
39
+ end
40
+
41
+ def received_response(operation, response)
42
+ push(operation, response) if queue?(operation, response)
43
+ end
44
+
45
+ def push(operation, response)
46
+ @op_stack[operation.entity_name] ||= []
47
+ @op_stack[operation.entity_name] << TransactionRecord.new(operation, response.result)
48
+ end
49
+
50
+ def entity_id(response)
51
+ response.result["#{operation.entity_name}ID"]
52
+ end
53
+
54
+ def rollback!
55
+ @op_stack.each do |entity_type, transaction_records|
56
+ while rec = transaction_records.shift do
57
+ if rec.has_inverse?
58
+ rec.issue_inverse_request
59
+ end
60
+ end
61
+ end
62
+ end
63
+
64
+ COMMANDS_TO_TRACK = ['create']
65
+ protected
66
+ def queue?(operation, response)
67
+ response.success? && !response.result.nil? && COMMANDS_TO_TRACK.include?(operation.command)
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,3 @@
1
+ module Qualtrics
2
+ VERSION = "0.5.1"
3
+ end
data/qualtrics.gemspec ADDED
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'qualtrics/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'qualtrics'
8
+ spec.version = Qualtrics::VERSION
9
+ spec.authors = ['Kevin Sun', 'Ben Calegari']
10
+ spec.email = ['sunkev@brandeis.edu', 'bencalegari@gmail.com']
11
+ spec.summary = %q{Client for Qualtrics API}
12
+ spec.description = %q{Client for Qualtrics API with Faraday}
13
+ spec.homepage = ""
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_dependency 'configatron'
22
+ spec.add_dependency 'faraday'
23
+ spec.add_dependency 'faraday_middleware'
24
+ spec.add_dependency 'activemodel', '>= 4'
25
+ spec.add_dependency 'activesupport', '>= 4.2.0'
26
+
27
+ spec.add_development_dependency 'bundler', '~> 1.6'
28
+ spec.add_development_dependency 'rake'
29
+ spec.add_development_dependency 'rspec'
30
+ spec.add_development_dependency 'dotenv'
31
+ spec.add_development_dependency 'vcr'
32
+ spec.add_development_dependency 'webmock'
33
+ spec.add_development_dependency 'mocha'
34
+ end
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <SurveyDefinition><SurveyName>Sample survey</SurveyName><OwnerID>UR_bDaYJ0mbbMLCMOV</OwnerID><isActive>0</isActive><CreationDate>2015-02-05 13:57:01</CreationDate><LastModifiedDate>2015-02-05 13:57:41</LastModifiedDate><StartDate>0000-00-00 00:00:00</StartDate><ExpirationDate>0000-00-00 00:00:00</ExpirationDate><Languages><Language Default="1">EN</Language></Languages><Questions><Question QuestionID="QID1"><Type>MC</Type><Selector>SAVR</Selector><SubSelector>TX</SubSelector><QuestionText><![CDATA[Only one questions]]></QuestionText><QuestionDescription><![CDATA[Only one questions]]></QuestionDescription><ExportTag><![CDATA[Q1]]></ExportTag><Validation><ForceResponse>0</ForceResponse></Validation><Choices><Choice ID="1" Recode="1"><Description><![CDATA[Not this]]></Description></Choice><Choice ID="2" Recode="2"><Description><![CDATA[This is it]]></Description></Choice><Choice ID="3" Recode="3"><Description><![CDATA[Cool answer]]></Description></Choice></Choices></Question></Questions><Blocks><Block Description="Default Question Block" ID="BL_bef14vSx8WZHkdn"><BlockElements><Question QuestionID="QID1"/></BlockElements></Block></Blocks><SurveyFlow><Block FlowID="FL_2" ID="BL_bef14vSx8WZHkdn"/></SurveyFlow><EmbeddedData/></SurveyDefinition>
@@ -0,0 +1,655 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
6
+ body:
7
+ encoding: UTF-8
8
+ string: Category=Great+Category&Format=JSON&LibraryID=<QUALTRICS_LIBRARY_ID>&Name=Newest+Panel&Request=createPanel&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.1
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - Apache
25
+ Cache-Control:
26
+ - max-age=315360000
27
+ Expires:
28
+ - Sat, 08 Feb 2025 19:14:55 GMT
29
+ P3p:
30
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
31
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
32
+ Servershortname:
33
+ - w2
34
+ X-Cnection:
35
+ - close
36
+ X-Edgeconnect-Midmile-Rtt:
37
+ - '14'
38
+ - '9'
39
+ X-Edgeconnect-Origin-Mex-Latency:
40
+ - '214'
41
+ - '639'
42
+ Content-Length:
43
+ - '82'
44
+ Content-Type:
45
+ - application/json
46
+ Date:
47
+ - Wed, 11 Feb 2015 19:14:55 GMT
48
+ Connection:
49
+ - keep-alive
50
+ body:
51
+ encoding: UTF-8
52
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"PanelID\":\"ML_3aswv5cRzJnUCyx\"}}"
53
+ http_version:
54
+ recorded_at: Wed, 11 Feb 2015 19:14:58 GMT
55
+ - request:
56
+ method: post
57
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
58
+ body:
59
+ encoding: UTF-8
60
+ string: Email=working%40hard.com&Format=JSON&LibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&Request=addRecipient&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
61
+ headers:
62
+ User-Agent:
63
+ - Faraday v0.9.1
64
+ Content-Type:
65
+ - application/x-www-form-urlencoded
66
+ Accept-Encoding:
67
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
68
+ Accept:
69
+ - "*/*"
70
+ response:
71
+ status:
72
+ code: 200
73
+ message: OK
74
+ headers:
75
+ Server:
76
+ - Apache
77
+ Cache-Control:
78
+ - max-age=315360000
79
+ Expires:
80
+ - Sat, 08 Feb 2025 19:14:55 GMT
81
+ P3p:
82
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
83
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
84
+ Servershortname:
85
+ - w189
86
+ X-Cnection:
87
+ - close
88
+ X-Edgeconnect-Midmile-Rtt:
89
+ - '10'
90
+ - '9'
91
+ X-Edgeconnect-Origin-Mex-Latency:
92
+ - '241'
93
+ - '642'
94
+ Content-Length:
95
+ - '88'
96
+ Content-Type:
97
+ - application/json
98
+ Date:
99
+ - Wed, 11 Feb 2015 19:14:56 GMT
100
+ Connection:
101
+ - keep-alive
102
+ body:
103
+ encoding: UTF-8
104
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"RecipientID\":\"MLRP_bfmXVQ05hiUSLOt\"}}"
105
+ http_version:
106
+ recorded_at: Wed, 11 Feb 2015 19:14:59 GMT
107
+ - request:
108
+ method: post
109
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
110
+ body:
111
+ encoding: UTF-8
112
+ string: Email=notworking%40hard.com&Format=JSON&LibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&Request=addRecipient&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
113
+ headers:
114
+ User-Agent:
115
+ - Faraday v0.9.1
116
+ Content-Type:
117
+ - application/x-www-form-urlencoded
118
+ Accept-Encoding:
119
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
120
+ Accept:
121
+ - "*/*"
122
+ response:
123
+ status:
124
+ code: 200
125
+ message: OK
126
+ headers:
127
+ Server:
128
+ - Apache
129
+ Cache-Control:
130
+ - max-age=315360000
131
+ Expires:
132
+ - Sat, 08 Feb 2025 19:14:56 GMT
133
+ P3p:
134
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
135
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
136
+ Servershortname:
137
+ - w541
138
+ X-Cnection:
139
+ - close
140
+ X-Edgeconnect-Midmile-Rtt:
141
+ - '10'
142
+ - '15'
143
+ X-Edgeconnect-Origin-Mex-Latency:
144
+ - '274'
145
+ - '717'
146
+ Content-Length:
147
+ - '88'
148
+ Content-Type:
149
+ - application/json
150
+ Date:
151
+ - Wed, 11 Feb 2015 19:14:57 GMT
152
+ Connection:
153
+ - keep-alive
154
+ body:
155
+ encoding: UTF-8
156
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"RecipientID\":\"MLRP_cwpyPQHswL9UwZf\"}}"
157
+ http_version:
158
+ recorded_at: Wed, 11 Feb 2015 19:14:59 GMT
159
+ - request:
160
+ method: post
161
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
162
+ body:
163
+ encoding: UTF-8
164
+ string: "-------------RubyMultipartPost\r\nContent-Disposition: form-data; name=\"Name\"\r\n\r\nComplex
165
+ survey\r\n-------------RubyMultipartPost\r\nContent-Disposition: form-data;
166
+ name=\"Data\"; filename=\"sample_survey.xml\"\r\nContent-Length: 1296\r\nContent-Type:
167
+ text/xml\r\nContent-Transfer-Encoding: binary\r\n\r\n<?xml version=\"1.0\"
168
+ encoding=\"UTF-8\"?>\n<SurveyDefinition><SurveyName>Sample survey</SurveyName><OwnerID><QUALTRICS_LIBRARY_ID></OwnerID><isActive>0</isActive><CreationDate>2015-02-05
169
+ 13:57:01</CreationDate><LastModifiedDate>2015-02-05 13:57:41</LastModifiedDate><StartDate>0000-00-00
170
+ 00:00:00</StartDate><ExpirationDate>0000-00-00 00:00:00</ExpirationDate><Languages><Language
171
+ Default=\"1\">EN</Language></Languages><Questions><Question QuestionID=\"QID1\"><Type>MC</Type><Selector>SAVR</Selector><SubSelector>TX</SubSelector><QuestionText><![CDATA[Only
172
+ one questions]]></QuestionText><QuestionDescription><![CDATA[Only one questions]]></QuestionDescription><ExportTag><![CDATA[Q1]]></ExportTag><Validation><ForceResponse>0</ForceResponse></Validation><Choices><Choice
173
+ ID=\"1\" Recode=\"1\"><Description><![CDATA[Not this]]></Description></Choice><Choice
174
+ ID=\"2\" Recode=\"2\"><Description><![CDATA[This is it]]></Description></Choice><Choice
175
+ ID=\"3\" Recode=\"3\"><Description><![CDATA[Cool answer]]></Description></Choice></Choices></Question></Questions><Blocks><Block
176
+ Description=\"Default Question Block\" ID=\"BL_bef14vSx8WZHkdn\"><BlockElements><Question
177
+ QuestionID=\"QID1\"/></BlockElements></Block></Blocks><SurveyFlow><Block FlowID=\"FL_2\"
178
+ ID=\"BL_bef14vSx8WZHkdn\"/></SurveyFlow><EmbeddedData/></SurveyDefinition>\n\r\n-------------RubyMultipartPost\r\nContent-Disposition:
179
+ form-data; name=\"User\"\r\n\r\n<QUALTRICS_USER>\r\n-------------RubyMultipartPost\r\nContent-Disposition:
180
+ form-data; name=\"Token\"\r\n\r\n<QUALTRICS_TOKEN>\r\n-------------RubyMultipartPost\r\nContent-Disposition:
181
+ form-data; name=\"Version\"\r\n\r\n2.3\r\n-------------RubyMultipartPost\r\nContent-Disposition:
182
+ form-data; name=\"Format\"\r\n\r\nJSON\r\n-------------RubyMultipartPost\r\nContent-Disposition:
183
+ form-data; name=\"Request\"\r\n\r\nimportSurvey\r\n-------------RubyMultipartPost--\r\n\r\n"
184
+ headers:
185
+ User-Agent:
186
+ - Faraday v0.9.1
187
+ Content-Type:
188
+ - multipart/form-data; boundary=-----------RubyMultipartPost
189
+ Content-Length:
190
+ - '2120'
191
+ Accept-Encoding:
192
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
193
+ Accept:
194
+ - "*/*"
195
+ response:
196
+ status:
197
+ code: 200
198
+ message: OK
199
+ headers:
200
+ Server:
201
+ - Apache
202
+ Cache-Control:
203
+ - max-age=315360000
204
+ Expires:
205
+ - Sat, 08 Feb 2025 19:14:57 GMT
206
+ P3p:
207
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
208
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
209
+ Servershortname:
210
+ - w2
211
+ X-Cnection:
212
+ - close
213
+ X-Edgeconnect-Midmile-Rtt:
214
+ - '10'
215
+ - '18'
216
+ X-Edgeconnect-Origin-Mex-Latency:
217
+ - '1006'
218
+ - '596'
219
+ Content-Length:
220
+ - '83'
221
+ Content-Type:
222
+ - application/json
223
+ Date:
224
+ - Wed, 11 Feb 2015 19:14:58 GMT
225
+ Connection:
226
+ - keep-alive
227
+ body:
228
+ encoding: UTF-8
229
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"SurveyID\":\"SV_e53i05L8fEJTO2F\"}}"
230
+ http_version:
231
+ recorded_at: Wed, 11 Feb 2015 19:15:01 GMT
232
+ - request:
233
+ method: post
234
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
235
+ body:
236
+ encoding: UTF-8
237
+ string: Category=InviteEmails&Format=JSON&Language=EN&LibraryID=<QUALTRICS_LIBRARY_ID>&Message=Welcome&Name=Newest+Message&Request=createLibraryMessage&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
238
+ headers:
239
+ User-Agent:
240
+ - Faraday v0.9.1
241
+ Content-Type:
242
+ - application/x-www-form-urlencoded
243
+ Accept-Encoding:
244
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
245
+ Accept:
246
+ - "*/*"
247
+ response:
248
+ status:
249
+ code: 200
250
+ message: OK
251
+ headers:
252
+ Server:
253
+ - Apache
254
+ Cache-Control:
255
+ - max-age=315360000
256
+ Expires:
257
+ - Sat, 08 Feb 2025 19:14:58 GMT
258
+ P3p:
259
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
260
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
261
+ Servershortname:
262
+ - w016
263
+ X-Cnection:
264
+ - close
265
+ X-Edgeconnect-Midmile-Rtt:
266
+ - '10'
267
+ - '16'
268
+ X-Edgeconnect-Origin-Mex-Latency:
269
+ - '202'
270
+ - '620'
271
+ Content-Length:
272
+ - '174'
273
+ Content-Type:
274
+ - application/json
275
+ Date:
276
+ - Wed, 11 Feb 2015 19:14:58 GMT
277
+ Connection:
278
+ - keep-alive
279
+ body:
280
+ encoding: UTF-8
281
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"LibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"MessageID\":\"MS_4GdRugAQ8s2uOQR\",\"Description\":\"Newest
282
+ Message\",\"Category\":\"InviteEmails\"}}"
283
+ http_version:
284
+ recorded_at: Wed, 11 Feb 2015 19:15:01 GMT
285
+ - request:
286
+ method: post
287
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
288
+ body:
289
+ encoding: UTF-8
290
+ string: Format=JSON&FromEmail=example%40example.com&FromName=yes_qualtrics&MessageID=MS_4GdRugAQ8s2uOQR&MessageLibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&PanelLibraryID=<QUALTRICS_LIBRARY_ID>&RecipientID=MLRP_bfmXVQ05hiUSLOt&Request=sendSurveyToIndividual&SendDate=2015-02-11+12%3A15%3A01&SentFromAddress=noreply%40qemailserver.com&Subject=game+convention&SurveyID=SV_e53i05L8fEJTO2F&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
291
+ headers:
292
+ User-Agent:
293
+ - Faraday v0.9.1
294
+ Content-Type:
295
+ - application/x-www-form-urlencoded
296
+ Accept-Encoding:
297
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
298
+ Accept:
299
+ - "*/*"
300
+ response:
301
+ status:
302
+ code: 200
303
+ message: OK
304
+ headers:
305
+ Server:
306
+ - Apache
307
+ Cache-Control:
308
+ - max-age=315360000
309
+ Expires:
310
+ - Sat, 08 Feb 2025 19:14:59 GMT
311
+ P3p:
312
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
313
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
314
+ Servershortname:
315
+ - w202
316
+ X-Cnection:
317
+ - close
318
+ X-Edgeconnect-Midmile-Rtt:
319
+ - '26'
320
+ - '9'
321
+ X-Edgeconnect-Origin-Mex-Latency:
322
+ - '1063'
323
+ - '651'
324
+ Content-Length:
325
+ - '154'
326
+ Content-Type:
327
+ - application/json
328
+ Date:
329
+ - Wed, 11 Feb 2015 19:15:00 GMT
330
+ Connection:
331
+ - keep-alive
332
+ body:
333
+ encoding: UTF-8
334
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"Success\":true,\"EmailDistributionID\":\"EMD_79bl6WMDddJrNid\",\"DistributionQueueID\":\"EMD_79bl6WMDddJrNid\"}}"
335
+ http_version:
336
+ recorded_at: Wed, 11 Feb 2015 19:15:02 GMT
337
+ - request:
338
+ method: post
339
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
340
+ body:
341
+ encoding: UTF-8
342
+ string: Format=JSON&FromEmail=example%40example.com&FromName=yes_qualtrics&MessageID=MS_4GdRugAQ8s2uOQR&MessageLibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&PanelLibraryID=<QUALTRICS_LIBRARY_ID>&RecipientID=MLRP_cwpyPQHswL9UwZf&Request=sendSurveyToIndividual&SendDate=2015-02-11+12%3A15%3A01&SentFromAddress=noreply%40qemailserver.com&Subject=game+convention&SurveyID=SV_e53i05L8fEJTO2F&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
343
+ headers:
344
+ User-Agent:
345
+ - Faraday v0.9.1
346
+ Content-Type:
347
+ - application/x-www-form-urlencoded
348
+ Accept-Encoding:
349
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
350
+ Accept:
351
+ - "*/*"
352
+ response:
353
+ status:
354
+ code: 200
355
+ message: OK
356
+ headers:
357
+ Server:
358
+ - Apache
359
+ Cache-Control:
360
+ - max-age=315360000
361
+ Expires:
362
+ - Sat, 08 Feb 2025 19:15:00 GMT
363
+ P3p:
364
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
365
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
366
+ Servershortname:
367
+ - w18
368
+ X-Cnection:
369
+ - close
370
+ X-Edgeconnect-Midmile-Rtt:
371
+ - '14'
372
+ - '9'
373
+ X-Edgeconnect-Origin-Mex-Latency:
374
+ - '583'
375
+ - '974'
376
+ Content-Length:
377
+ - '154'
378
+ Content-Type:
379
+ - application/json
380
+ Date:
381
+ - Wed, 11 Feb 2015 19:15:01 GMT
382
+ Connection:
383
+ - keep-alive
384
+ body:
385
+ encoding: UTF-8
386
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"Success\":true,\"EmailDistributionID\":\"EMD_3xewm8ZOa3GyC45\",\"DistributionQueueID\":\"EMD_3xewm8ZOa3GyC45\"}}"
387
+ http_version:
388
+ recorded_at: Wed, 11 Feb 2015 19:15:04 GMT
389
+ - request:
390
+ method: get
391
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php?Format=JSON&LibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&Request=getDistributions&SurveyID=SV_e53i05L8fEJTO2F&Token=<QUALTRICS_TOKEN>&User=<QUALTRICS_USER>&Version=2.3
392
+ body:
393
+ encoding: US-ASCII
394
+ string: ''
395
+ headers:
396
+ User-Agent:
397
+ - Faraday v0.9.1
398
+ Accept-Encoding:
399
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
400
+ Accept:
401
+ - "*/*"
402
+ response:
403
+ status:
404
+ code: 200
405
+ message: OK
406
+ headers:
407
+ Server:
408
+ - Apache
409
+ Cache-Control:
410
+ - max-age=315360000
411
+ Expires:
412
+ - Sat, 08 Feb 2025 19:15:01 GMT
413
+ P3p:
414
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
415
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
416
+ Servershortname:
417
+ - w423
418
+ X-Cnection:
419
+ - close
420
+ X-Edgeconnect-Midmile-Rtt:
421
+ - '8'
422
+ - '9'
423
+ X-Edgeconnect-Origin-Mex-Latency:
424
+ - '299'
425
+ - '727'
426
+ Content-Length:
427
+ - '2630'
428
+ Content-Type:
429
+ - application/json
430
+ Date:
431
+ - Wed, 11 Feb 2015 19:15:01 GMT
432
+ Connection:
433
+ - keep-alive
434
+ body:
435
+ encoding: UTF-8
436
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"Distributions\":[{\"EmailDistributionID\":\"EMD_3xewm8ZOa3GyC45\",\"ParentEmailDistributionID\":null,\"OwnerID\":\"<QUALTRICS_LIBRARY_ID>\",\"ServerID\":null,\"BrandID\":\"brookeside\",\"RequestStatus\":\"Pending\",\"RequestType\":\"Invite\",\"SurveyID\":\"SV_e53i05L8fEJTO2F\",\"DistributionQueueID\":null,\"IndexID\":\"ML_3aswv5cRzJnUCyx\",\"SendDate\":\"2015-02-11
437
+ 12:15:01\",\"ApproxEmails\":1,\"EmailsSent\":\"0\",\"EmailsFailed\":\"0\",\"EmailsResponded\":\"0\",\"EmailsBounced\":\"0\",\"EmailsOpened\":\"0\",\"EmailsSkipped\":\"0\",\"LastRecipientRowID\":null,\"SurveysFinished\":\"0\",\"DistributionLog\":null,\"Temporary\":\"0\",\"Complaints\":\"0\",\"JobID\":null,\"DeletedDate\":null,\"CreatedDate\":\"2015-02-11
438
+ 12:15:00\",\"ModifiedDate\":\"2015-02-11 12:15:00\",\"SentFromAddress\":\"noreply@qemailserver.com\",\"FromEmailAddress\":\"example@example.com\",\"FromName\":\"yes_qualtrics\",\"Subject\":\"game
439
+ convention\",\"MessageLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"MessageID\":\"MS_4GdRugAQ8s2uOQR\",\"ExpirationDate\":\"2015-04-12
440
+ 12:15:01\",\"LinkType\":\"Individual\",\"MailingListID\":\"ML_3aswv5cRzJnUCyx\",\"RecipientID\":\"MLRP_cwpyPQHswL9UwZf\",\"PanelID\":\"ML_3aswv5cRzJnUCyx\",\"IDS\":{\"MessageLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"RecipientLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"RecipientMailingListID\":\"ML_3aswv5cRzJnUCyx\"},\"ExpireDay\":\"custom\",\"RecipientLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"UseDistributionLink\":false},{\"EmailDistributionID\":\"EMD_79bl6WMDddJrNid\",\"ParentEmailDistributionID\":null,\"OwnerID\":\"<QUALTRICS_LIBRARY_ID>\",\"ServerID\":null,\"BrandID\":\"brookeside\",\"RequestStatus\":\"Pending\",\"RequestType\":\"Invite\",\"SurveyID\":\"SV_e53i05L8fEJTO2F\",\"DistributionQueueID\":null,\"IndexID\":\"ML_3aswv5cRzJnUCyx\",\"SendDate\":\"2015-02-11
441
+ 12:15:01\",\"ApproxEmails\":1,\"EmailsSent\":\"0\",\"EmailsFailed\":\"0\",\"EmailsResponded\":\"0\",\"EmailsBounced\":\"0\",\"EmailsOpened\":\"0\",\"EmailsSkipped\":\"0\",\"LastRecipientRowID\":null,\"SurveysFinished\":\"0\",\"DistributionLog\":null,\"Temporary\":\"0\",\"Complaints\":\"0\",\"JobID\":\"J_8IWqzM1fWotv5KR\",\"DeletedDate\":null,\"CreatedDate\":\"2015-02-11
442
+ 12:14:59\",\"ModifiedDate\":\"2015-02-11 12:14:59\",\"SentFromAddress\":\"noreply@qemailserver.com\",\"FromEmailAddress\":\"example@example.com\",\"FromName\":\"yes_qualtrics\",\"Subject\":\"game
443
+ convention\",\"MessageLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"MessageID\":\"MS_4GdRugAQ8s2uOQR\",\"ExpirationDate\":\"2015-04-12
444
+ 12:15:01\",\"LinkType\":\"Individual\",\"MailingListID\":\"ML_3aswv5cRzJnUCyx\",\"RecipientID\":\"MLRP_bfmXVQ05hiUSLOt\",\"PanelID\":\"ML_3aswv5cRzJnUCyx\",\"IDS\":{\"MessageLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"RecipientLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"RecipientMailingListID\":\"ML_3aswv5cRzJnUCyx\"},\"ExpireDay\":\"custom\",\"RecipientLibraryID\":\"<QUALTRICS_LIBRARY_ID>\",\"UseDistributionLink\":false}]}}"
445
+ http_version:
446
+ recorded_at: Wed, 11 Feb 2015 19:15:04 GMT
447
+ - request:
448
+ method: post
449
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
450
+ body:
451
+ encoding: UTF-8
452
+ string: Format=JSON&LibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&RecipientID=MLRP_bfmXVQ05hiUSLOt&Request=removeRecipient&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
453
+ headers:
454
+ User-Agent:
455
+ - Faraday v0.9.1
456
+ Content-Type:
457
+ - application/x-www-form-urlencoded
458
+ Accept-Encoding:
459
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
460
+ Accept:
461
+ - "*/*"
462
+ response:
463
+ status:
464
+ code: 200
465
+ message: OK
466
+ headers:
467
+ Server:
468
+ - Apache
469
+ Cache-Control:
470
+ - max-age=315360000
471
+ Expires:
472
+ - Sat, 08 Feb 2025 19:15:02 GMT
473
+ P3p:
474
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
475
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
476
+ Servershortname:
477
+ - w189
478
+ X-Cnection:
479
+ - close
480
+ X-Edgeconnect-Midmile-Rtt:
481
+ - '10'
482
+ - '9'
483
+ X-Edgeconnect-Origin-Mex-Latency:
484
+ - '217'
485
+ - '595'
486
+ Content-Length:
487
+ - '63'
488
+ Content-Type:
489
+ - application/json
490
+ Date:
491
+ - Wed, 11 Feb 2015 19:15:02 GMT
492
+ Connection:
493
+ - keep-alive
494
+ body:
495
+ encoding: UTF-8
496
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"Success\":1}}"
497
+ http_version:
498
+ recorded_at: Wed, 11 Feb 2015 19:15:05 GMT
499
+ - request:
500
+ method: post
501
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
502
+ body:
503
+ encoding: UTF-8
504
+ string: Format=JSON&LibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&RecipientID=MLRP_cwpyPQHswL9UwZf&Request=removeRecipient&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
505
+ headers:
506
+ User-Agent:
507
+ - Faraday v0.9.1
508
+ Content-Type:
509
+ - application/x-www-form-urlencoded
510
+ Accept-Encoding:
511
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
512
+ Accept:
513
+ - "*/*"
514
+ response:
515
+ status:
516
+ code: 200
517
+ message: OK
518
+ headers:
519
+ Server:
520
+ - Apache
521
+ Cache-Control:
522
+ - max-age=315360000
523
+ Expires:
524
+ - Sat, 08 Feb 2025 19:15:03 GMT
525
+ P3p:
526
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
527
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
528
+ Servershortname:
529
+ - w7
530
+ X-Cnection:
531
+ - close
532
+ X-Edgeconnect-Midmile-Rtt:
533
+ - '9'
534
+ - '9'
535
+ X-Edgeconnect-Origin-Mex-Latency:
536
+ - '276'
537
+ - '734'
538
+ Content-Length:
539
+ - '63'
540
+ Content-Type:
541
+ - application/json
542
+ Date:
543
+ - Wed, 11 Feb 2015 19:15:03 GMT
544
+ Connection:
545
+ - keep-alive
546
+ body:
547
+ encoding: UTF-8
548
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"Success\":1}}"
549
+ http_version:
550
+ recorded_at: Wed, 11 Feb 2015 19:15:06 GMT
551
+ - request:
552
+ method: post
553
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
554
+ body:
555
+ encoding: UTF-8
556
+ string: Format=JSON&LibraryID=<QUALTRICS_LIBRARY_ID>&PanelID=ML_3aswv5cRzJnUCyx&Request=deletePanel&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
557
+ headers:
558
+ User-Agent:
559
+ - Faraday v0.9.1
560
+ Content-Type:
561
+ - application/x-www-form-urlencoded
562
+ Accept-Encoding:
563
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
564
+ Accept:
565
+ - "*/*"
566
+ response:
567
+ status:
568
+ code: 200
569
+ message: OK
570
+ headers:
571
+ Server:
572
+ - Apache
573
+ Cache-Control:
574
+ - max-age=315360000
575
+ Expires:
576
+ - Sat, 08 Feb 2025 19:15:03 GMT
577
+ P3p:
578
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
579
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
580
+ Servershortname:
581
+ - w11
582
+ X-Cnection:
583
+ - close
584
+ X-Edgeconnect-Midmile-Rtt:
585
+ - '16'
586
+ - '9'
587
+ X-Edgeconnect-Origin-Mex-Latency:
588
+ - '269'
589
+ - '680'
590
+ Content-Length:
591
+ - '66'
592
+ Content-Type:
593
+ - application/json
594
+ Date:
595
+ - Wed, 11 Feb 2015 19:15:04 GMT
596
+ Connection:
597
+ - keep-alive
598
+ body:
599
+ encoding: UTF-8
600
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":{\"Success\":true}}"
601
+ http_version:
602
+ recorded_at: Wed, 11 Feb 2015 19:15:07 GMT
603
+ - request:
604
+ method: post
605
+ uri: https://survey.qualtrics.com/WRAPI/ControlPanel/api.php
606
+ body:
607
+ encoding: UTF-8
608
+ string: Format=JSON&Request=deleteSurvey&SurveyID=SV_e53i05L8fEJTO2F&Token=<QUALTRICS_TOKEN>&User=brookesidedev%40brookeside.com&Version=2.3
609
+ headers:
610
+ User-Agent:
611
+ - Faraday v0.9.1
612
+ Content-Type:
613
+ - application/x-www-form-urlencoded
614
+ Accept-Encoding:
615
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
616
+ Accept:
617
+ - "*/*"
618
+ response:
619
+ status:
620
+ code: 200
621
+ message: OK
622
+ headers:
623
+ Server:
624
+ - Apache
625
+ Cache-Control:
626
+ - max-age=315360000
627
+ Expires:
628
+ - Sat, 08 Feb 2025 19:15:04 GMT
629
+ P3p:
630
+ - CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE", CP="CAO
631
+ DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"
632
+ Servershortname:
633
+ - w541
634
+ X-Cnection:
635
+ - close
636
+ X-Edgeconnect-Midmile-Rtt:
637
+ - '11'
638
+ - '16'
639
+ X-Edgeconnect-Origin-Mex-Latency:
640
+ - '525'
641
+ - '932'
642
+ Content-Length:
643
+ - '54'
644
+ Content-Type:
645
+ - application/json
646
+ Date:
647
+ - Wed, 11 Feb 2015 19:15:05 GMT
648
+ Connection:
649
+ - keep-alive
650
+ body:
651
+ encoding: UTF-8
652
+ string: "{\"Meta\":{\"Status\":\"Success\",\"Debug\":\"\"},\"Result\":null}"
653
+ http_version:
654
+ recorded_at: Wed, 11 Feb 2015 19:15:08 GMT
655
+ recorded_with: VCR 2.9.3