soapy_cake 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +16 -0
  3. data/Gemfile +2 -1
  4. data/circle.yml +2 -0
  5. data/lib/soapy_cake.rb +3 -0
  6. data/lib/soapy_cake/admin.rb +2 -2
  7. data/lib/soapy_cake/admin_addedit.rb +5 -50
  8. data/lib/soapy_cake/campaigns.rb +104 -0
  9. data/lib/soapy_cake/client.rb +5 -5
  10. data/lib/soapy_cake/helper.rb +14 -9
  11. data/lib/soapy_cake/modification_type.rb +45 -0
  12. data/lib/soapy_cake/version.rb +1 -1
  13. data/spec/fixtures/vcr_cassettes/SoapyCake_AdminAddedit/campaigns/edits_a_campaign.yml +18 -5
  14. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_create/creates_campaigns.yml +60 -0
  15. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_create/raises_an_error_if_the_creation_was_unsuccessful.yml +60 -0
  16. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_get/gets_campaigns.yml +1205 -0
  17. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_patch/different_pre-existing_values/does_not_change_anything_unintentionally_attribute_set_0_.yml +380 -0
  18. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_patch/different_pre-existing_values/does_not_change_anything_unintentionally_attribute_set_1_.yml +383 -0
  19. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_patch/updates_a_campaign.yml +454 -0
  20. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_update/raises_an_error_if_the_update_was_unsuccessful.yml +82 -0
  21. data/spec/fixtures/vcr_cassettes/SoapyCake_Campaigns/_update/updates_campaigns.yml +82 -0
  22. data/spec/integration/soapy_cake/admin_addedit_spec.rb +0 -31
  23. data/spec/integration/soapy_cake/campaigns_spec.rb +175 -0
  24. data/spec/lib/soapy_cake/admin_spec.rb +0 -1
  25. data/spec/lib/soapy_cake/campaigns_spec.rb +127 -0
  26. data/spec/lib/soapy_cake/modification_type_spec.rb +59 -0
  27. data/spec/spec_helper.rb +3 -3
  28. metadata +27 -2
@@ -0,0 +1,454 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://cake-partner-domain.com/api/6/export.asmx
6
+ body:
7
+ encoding: UTF-8
8
+ string: |
9
+ <?xml version="1.0"?>
10
+ <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/6/">
11
+ <env:Header/>
12
+ <env:Body>
13
+ <cake:Campaigns>
14
+ <cake:api_key>cake-api-key</cake:api_key>
15
+ <cake:campaign_id>23733</cake:campaign_id>
16
+ </cake:Campaigns>
17
+ </env:Body>
18
+ </env:Envelope>
19
+ headers:
20
+ Content-Type:
21
+ - application/soap+xml;charset=UTF-8
22
+ Accept-Encoding:
23
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
24
+ Accept:
25
+ - "*/*"
26
+ User-Agent:
27
+ - Ruby
28
+ response:
29
+ status:
30
+ code: 200
31
+ message: OK
32
+ headers:
33
+ Cache-Control:
34
+ - private, max-age=0
35
+ Content-Type:
36
+ - application/soap+xml; charset=utf-8
37
+ Server:
38
+ - Microsoft-IIS/8.5
39
+ X-Aspnet-Version:
40
+ - 4.0.30319
41
+ X-Powered-By:
42
+ - ASP.NET
43
+ Date:
44
+ - Fri, 11 Nov 2016 15:57:25 GMT
45
+ Content-Length:
46
+ - '4162'
47
+ body:
48
+ encoding: UTF-8
49
+ string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
50
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CampaignsResponse
51
+ xmlns="http://cakemarketing.com/api/6/"><CampaignsResult><success>true</success><row_count>1</row_count><campaigns><campaign><campaign_id>23733</campaign_id><third_party_name>Best
52
+ Campaign Ever</third_party_name><campaign_type><campaign_type_id xmlns="API:id_name_store">1</campaign_type_id><campaign_type_name
53
+ xmlns="API:id_name_store">Standard</campaign_type_name></campaign_type><affiliate><affiliate_id
54
+ xmlns="API:id_name_store">9643</affiliate_id><affiliate_name xmlns="API:id_name_store">ad2games</affiliate_name></affiliate><offer><offer_id
55
+ xmlns="API:id_name_store">11390</offer_id><offer_name xmlns="API:id_name_store">Helge's
56
+ Awesome Offer (DE CPO)</offer_name></offer><offer_contract><offer_contract_id>10338</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
57
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></offer_contract><original>false</original><exceptions><allowed_sub_affiliates
58
+ /><allowed_creatives /></exceptions><account_status><account_status_id xmlns="API:id_name_store">1</account_status_id><account_status_name
59
+ xmlns="API:id_name_store">Active</account_status_name></account_status><payout><is_percentage>false</is_percentage><amount>1.0000</amount><formatted_amount>$1.00</formatted_amount></payout><currency><currency_id
60
+ xmlns="API:id_name_store">1</currency_id><currency_symbol xmlns="API:id_name_store">$</currency_symbol><currency_name
61
+ xmlns="API:id_name_store">US Dollar</currency_name><currency_abbr xmlns="API:id_name_store">USD</currency_abbr></currency><media_type><media_type_id
62
+ xmlns="API:id_name_store">1</media_type_id><media_type_name xmlns="API:id_name_store">YouTube_Twitch</media_type_name></media_type><deal_flow><date_contacted
63
+ xsi:nil="true" /><date_io_sent xsi:nil="true" /><date_io_signed xsi:nil="true"
64
+ /><date_creative_sent xsi:nil="true" /><date_pixel_placed>2016-11-10T10:40:41.057</date_pixel_placed></deal_flow><paid>true</paid><paid_redirects>true</paid_redirects><disable_prepop_appending>false</disable_prepop_appending><suppression_amount
65
+ xsi:nil="true" /><redirect_domain>trk_ad2games.cakemarketing.net</redirect_domain><click_cap><limit
66
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
67
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
68
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></click_cap><conversion_cap><limit
69
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
70
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
71
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></conversion_cap><pixel_info><pixel_status>Approved</pixel_status><pixel_html>pixelpixelpixel</pixel_html><hash_type><hash_type_id
72
+ xmlns="API:id_name_store">0</hash_type_id><hash_type_name xmlns="API:id_name_store">None</hash_type_name></hash_type><postback_url>https://example.com/postback</postback_url><postback_delay_ms>100</postback_delay_ms></pixel_info><upsell_info><disable_upsells>false</disable_upsells><paid_upsells>true</paid_upsells><paid_upsells_same_session_only>false</paid_upsells_same_session_only><clear_session_on_conversion>true</clear_session_on_conversion></upsell_info><test_link>https://example.com/test</test_link><redirect_offer><offer_contract_id>10337</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
73
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></redirect_offer><redirect_404>true</redirect_404><date_created>2016-11-08T16:49:09.017</date_created><expiration_date>2016-11-09T01:00:00</expiration_date><notes
74
+ /></campaign></campaigns></CampaignsResult></CampaignsResponse></soap:Body></soap:Envelope>
75
+ http_version:
76
+ recorded_at: Fri, 11 Nov 2016 15:57:48 GMT
77
+ - request:
78
+ method: post
79
+ uri: https://cake-partner-domain.com/api/3/addedit.asmx
80
+ body:
81
+ encoding: UTF-8
82
+ string: |
83
+ <?xml version="1.0"?>
84
+ <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/3/">
85
+ <env:Header/>
86
+ <env:Body>
87
+ <cake:Campaign>
88
+ <cake:api_key>cake-api-key</cake:api_key>
89
+ <cake:account_status_id>0</cake:account_status_id>
90
+ <cake:expiration_date_modification_type>do_not_change</cake:expiration_date_modification_type>
91
+ <cake:currency_id>0</cake:currency_id>
92
+ <cake:use_offer_contract_payout>no_change</cake:use_offer_contract_payout>
93
+ <cake:payout_update_option>do_not_change</cake:payout_update_option>
94
+ <cake:paid>no_change</cake:paid>
95
+ <cake:paid_redirects>no_change</cake:paid_redirects>
96
+ <cake:paid_upsells>no_change</cake:paid_upsells>
97
+ <cake:review>no_change</cake:review>
98
+ <cake:auto_disposition_delay_hours>0</cake:auto_disposition_delay_hours>
99
+ <cake:redirect_offer_contract_id>0</cake:redirect_offer_contract_id>
100
+ <cake:redirect_404>no_change</cake:redirect_404>
101
+ <cake:clear_session_on_conversion>no_change</cake:clear_session_on_conversion>
102
+ <cake:postback_delay_ms>-1</cake:postback_delay_ms>
103
+ <cake:affiliate_id>9643</cake:affiliate_id>
104
+ <cake:display_link_type_id>1</cake:display_link_type_id>
105
+ <cake:media_type_id>1</cake:media_type_id>
106
+ <cake:offer_contract_id>10338</cake:offer_contract_id>
107
+ <cake:offer_id>11390</cake:offer_id>
108
+ <cake:payout>1.0000</cake:payout>
109
+ <cake:pixel_html>pixelpixelpixel</cake:pixel_html>
110
+ <cake:postback_url>https://example.com/postback</cake:postback_url>
111
+ <cake:redirect_domain>trk_ad2games.cakemarketing.net</cake:redirect_domain>
112
+ <cake:test_link>https://example.com/test</cake:test_link>
113
+ <cake:unique_key_hash>0</cake:unique_key_hash>
114
+ <cake:third_party_name>foo</cake:third_party_name>
115
+ <cake:campaign_id>23733</cake:campaign_id>
116
+ <cake:expiration_date>1970-01-01T01:00:00</cake:expiration_date>
117
+ </cake:Campaign>
118
+ </env:Body>
119
+ </env:Envelope>
120
+ headers:
121
+ Content-Type:
122
+ - application/soap+xml;charset=UTF-8
123
+ Accept-Encoding:
124
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
125
+ Accept:
126
+ - "*/*"
127
+ User-Agent:
128
+ - Ruby
129
+ response:
130
+ status:
131
+ code: 200
132
+ message: OK
133
+ headers:
134
+ Cache-Control:
135
+ - private, max-age=0
136
+ Content-Type:
137
+ - application/soap+xml; charset=utf-8
138
+ Server:
139
+ - Microsoft-IIS/8.5
140
+ X-Aspnet-Version:
141
+ - 4.0.30319
142
+ X-Powered-By:
143
+ - ASP.NET
144
+ Date:
145
+ - Fri, 11 Nov 2016 15:57:25 GMT
146
+ Content-Length:
147
+ - '634'
148
+ body:
149
+ encoding: UTF-8
150
+ string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
151
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CampaignResponse
152
+ xmlns="http://cakemarketing.com/api/3/"><CampaignResult><success>true</success><message>Campaign
153
+ Updated</message><success_info><campaign_id>23733</campaign_id><affiliate_id>9643</affiliate_id><offer_id>11390</offer_id><offer_contract_id>10338</offer_contract_id><media_type_id>1</media_type_id><original>false</original></success_info></CampaignResult></CampaignResponse></soap:Body></soap:Envelope>
154
+ http_version:
155
+ recorded_at: Fri, 11 Nov 2016 15:57:48 GMT
156
+ - request:
157
+ method: post
158
+ uri: https://cake-partner-domain.com/api/6/export.asmx
159
+ body:
160
+ encoding: UTF-8
161
+ string: |
162
+ <?xml version="1.0"?>
163
+ <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/6/">
164
+ <env:Header/>
165
+ <env:Body>
166
+ <cake:Campaigns>
167
+ <cake:api_key>cake-api-key</cake:api_key>
168
+ <cake:campaign_id>23733</cake:campaign_id>
169
+ </cake:Campaigns>
170
+ </env:Body>
171
+ </env:Envelope>
172
+ headers:
173
+ Content-Type:
174
+ - application/soap+xml;charset=UTF-8
175
+ Accept-Encoding:
176
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
177
+ Accept:
178
+ - "*/*"
179
+ User-Agent:
180
+ - Ruby
181
+ response:
182
+ status:
183
+ code: 200
184
+ message: OK
185
+ headers:
186
+ Cache-Control:
187
+ - private, max-age=0
188
+ Content-Type:
189
+ - application/soap+xml; charset=utf-8
190
+ Server:
191
+ - Microsoft-IIS/8.5
192
+ X-Aspnet-Version:
193
+ - 4.0.30319
194
+ X-Powered-By:
195
+ - ASP.NET
196
+ Date:
197
+ - Fri, 11 Nov 2016 15:57:26 GMT
198
+ Content-Length:
199
+ - '4147'
200
+ body:
201
+ encoding: UTF-8
202
+ string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
203
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CampaignsResponse
204
+ xmlns="http://cakemarketing.com/api/6/"><CampaignsResult><success>true</success><row_count>1</row_count><campaigns><campaign><campaign_id>23733</campaign_id><third_party_name>foo</third_party_name><campaign_type><campaign_type_id
205
+ xmlns="API:id_name_store">1</campaign_type_id><campaign_type_name xmlns="API:id_name_store">Standard</campaign_type_name></campaign_type><affiliate><affiliate_id
206
+ xmlns="API:id_name_store">9643</affiliate_id><affiliate_name xmlns="API:id_name_store">ad2games</affiliate_name></affiliate><offer><offer_id
207
+ xmlns="API:id_name_store">11390</offer_id><offer_name xmlns="API:id_name_store">Helge's
208
+ Awesome Offer (DE CPO)</offer_name></offer><offer_contract><offer_contract_id>10338</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
209
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></offer_contract><original>false</original><exceptions><allowed_sub_affiliates
210
+ /><allowed_creatives /></exceptions><account_status><account_status_id xmlns="API:id_name_store">1</account_status_id><account_status_name
211
+ xmlns="API:id_name_store">Active</account_status_name></account_status><payout><is_percentage>false</is_percentage><amount>1.0000</amount><formatted_amount>$1.00</formatted_amount></payout><currency><currency_id
212
+ xmlns="API:id_name_store">1</currency_id><currency_symbol xmlns="API:id_name_store">$</currency_symbol><currency_name
213
+ xmlns="API:id_name_store">US Dollar</currency_name><currency_abbr xmlns="API:id_name_store">USD</currency_abbr></currency><media_type><media_type_id
214
+ xmlns="API:id_name_store">1</media_type_id><media_type_name xmlns="API:id_name_store">YouTube_Twitch</media_type_name></media_type><deal_flow><date_contacted
215
+ xsi:nil="true" /><date_io_sent xsi:nil="true" /><date_io_signed xsi:nil="true"
216
+ /><date_creative_sent xsi:nil="true" /><date_pixel_placed>2016-11-10T10:40:41.057</date_pixel_placed></deal_flow><paid>true</paid><paid_redirects>true</paid_redirects><disable_prepop_appending>false</disable_prepop_appending><suppression_amount
217
+ xsi:nil="true" /><redirect_domain>trk_ad2games.cakemarketing.net</redirect_domain><click_cap><limit
218
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
219
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
220
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></click_cap><conversion_cap><limit
221
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
222
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
223
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></conversion_cap><pixel_info><pixel_status>Approved</pixel_status><pixel_html>pixelpixelpixel</pixel_html><hash_type><hash_type_id
224
+ xmlns="API:id_name_store">0</hash_type_id><hash_type_name xmlns="API:id_name_store">None</hash_type_name></hash_type><postback_url>https://example.com/postback</postback_url><postback_delay_ms>100</postback_delay_ms></pixel_info><upsell_info><disable_upsells>false</disable_upsells><paid_upsells>true</paid_upsells><paid_upsells_same_session_only>false</paid_upsells_same_session_only><clear_session_on_conversion>true</clear_session_on_conversion></upsell_info><test_link>https://example.com/test</test_link><redirect_offer><offer_contract_id>10337</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
225
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></redirect_offer><redirect_404>true</redirect_404><date_created>2016-11-08T16:49:09.017</date_created><expiration_date>2016-11-09T01:00:00</expiration_date><notes
226
+ /></campaign></campaigns></CampaignsResult></CampaignsResponse></soap:Body></soap:Envelope>
227
+ http_version:
228
+ recorded_at: Fri, 11 Nov 2016 15:57:49 GMT
229
+ - request:
230
+ method: post
231
+ uri: https://cake-partner-domain.com/api/6/export.asmx
232
+ body:
233
+ encoding: UTF-8
234
+ string: |
235
+ <?xml version="1.0"?>
236
+ <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/6/">
237
+ <env:Header/>
238
+ <env:Body>
239
+ <cake:Campaigns>
240
+ <cake:api_key>cake-api-key</cake:api_key>
241
+ <cake:campaign_id>23733</cake:campaign_id>
242
+ </cake:Campaigns>
243
+ </env:Body>
244
+ </env:Envelope>
245
+ headers:
246
+ Content-Type:
247
+ - application/soap+xml;charset=UTF-8
248
+ Accept-Encoding:
249
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
250
+ Accept:
251
+ - "*/*"
252
+ User-Agent:
253
+ - Ruby
254
+ response:
255
+ status:
256
+ code: 200
257
+ message: OK
258
+ headers:
259
+ Cache-Control:
260
+ - private, max-age=0
261
+ Content-Type:
262
+ - application/soap+xml; charset=utf-8
263
+ Server:
264
+ - Microsoft-IIS/8.5
265
+ X-Aspnet-Version:
266
+ - 4.0.30319
267
+ X-Powered-By:
268
+ - ASP.NET
269
+ Date:
270
+ - Fri, 11 Nov 2016 15:57:26 GMT
271
+ Content-Length:
272
+ - '4147'
273
+ body:
274
+ encoding: UTF-8
275
+ string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
276
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CampaignsResponse
277
+ xmlns="http://cakemarketing.com/api/6/"><CampaignsResult><success>true</success><row_count>1</row_count><campaigns><campaign><campaign_id>23733</campaign_id><third_party_name>foo</third_party_name><campaign_type><campaign_type_id
278
+ xmlns="API:id_name_store">1</campaign_type_id><campaign_type_name xmlns="API:id_name_store">Standard</campaign_type_name></campaign_type><affiliate><affiliate_id
279
+ xmlns="API:id_name_store">9643</affiliate_id><affiliate_name xmlns="API:id_name_store">ad2games</affiliate_name></affiliate><offer><offer_id
280
+ xmlns="API:id_name_store">11390</offer_id><offer_name xmlns="API:id_name_store">Helge's
281
+ Awesome Offer (DE CPO)</offer_name></offer><offer_contract><offer_contract_id>10338</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
282
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></offer_contract><original>false</original><exceptions><allowed_sub_affiliates
283
+ /><allowed_creatives /></exceptions><account_status><account_status_id xmlns="API:id_name_store">1</account_status_id><account_status_name
284
+ xmlns="API:id_name_store">Active</account_status_name></account_status><payout><is_percentage>false</is_percentage><amount>1.0000</amount><formatted_amount>$1.00</formatted_amount></payout><currency><currency_id
285
+ xmlns="API:id_name_store">1</currency_id><currency_symbol xmlns="API:id_name_store">$</currency_symbol><currency_name
286
+ xmlns="API:id_name_store">US Dollar</currency_name><currency_abbr xmlns="API:id_name_store">USD</currency_abbr></currency><media_type><media_type_id
287
+ xmlns="API:id_name_store">1</media_type_id><media_type_name xmlns="API:id_name_store">YouTube_Twitch</media_type_name></media_type><deal_flow><date_contacted
288
+ xsi:nil="true" /><date_io_sent xsi:nil="true" /><date_io_signed xsi:nil="true"
289
+ /><date_creative_sent xsi:nil="true" /><date_pixel_placed>2016-11-10T10:40:41.057</date_pixel_placed></deal_flow><paid>true</paid><paid_redirects>true</paid_redirects><disable_prepop_appending>false</disable_prepop_appending><suppression_amount
290
+ xsi:nil="true" /><redirect_domain>trk_ad2games.cakemarketing.net</redirect_domain><click_cap><limit
291
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
292
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
293
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></click_cap><conversion_cap><limit
294
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
295
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
296
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></conversion_cap><pixel_info><pixel_status>Approved</pixel_status><pixel_html>pixelpixelpixel</pixel_html><hash_type><hash_type_id
297
+ xmlns="API:id_name_store">0</hash_type_id><hash_type_name xmlns="API:id_name_store">None</hash_type_name></hash_type><postback_url>https://example.com/postback</postback_url><postback_delay_ms>100</postback_delay_ms></pixel_info><upsell_info><disable_upsells>false</disable_upsells><paid_upsells>true</paid_upsells><paid_upsells_same_session_only>false</paid_upsells_same_session_only><clear_session_on_conversion>true</clear_session_on_conversion></upsell_info><test_link>https://example.com/test</test_link><redirect_offer><offer_contract_id>10337</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
298
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></redirect_offer><redirect_404>true</redirect_404><date_created>2016-11-08T16:49:09.017</date_created><expiration_date>2016-11-09T01:00:00</expiration_date><notes
299
+ /></campaign></campaigns></CampaignsResult></CampaignsResponse></soap:Body></soap:Envelope>
300
+ http_version:
301
+ recorded_at: Fri, 11 Nov 2016 15:57:49 GMT
302
+ - request:
303
+ method: post
304
+ uri: https://cake-partner-domain.com/api/3/addedit.asmx
305
+ body:
306
+ encoding: UTF-8
307
+ string: |
308
+ <?xml version="1.0"?>
309
+ <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/3/">
310
+ <env:Header/>
311
+ <env:Body>
312
+ <cake:Campaign>
313
+ <cake:api_key>cake-api-key</cake:api_key>
314
+ <cake:account_status_id>0</cake:account_status_id>
315
+ <cake:expiration_date_modification_type>do_not_change</cake:expiration_date_modification_type>
316
+ <cake:currency_id>0</cake:currency_id>
317
+ <cake:use_offer_contract_payout>no_change</cake:use_offer_contract_payout>
318
+ <cake:payout_update_option>do_not_change</cake:payout_update_option>
319
+ <cake:paid>no_change</cake:paid>
320
+ <cake:paid_redirects>no_change</cake:paid_redirects>
321
+ <cake:paid_upsells>no_change</cake:paid_upsells>
322
+ <cake:review>no_change</cake:review>
323
+ <cake:auto_disposition_delay_hours>0</cake:auto_disposition_delay_hours>
324
+ <cake:redirect_offer_contract_id>0</cake:redirect_offer_contract_id>
325
+ <cake:redirect_404>no_change</cake:redirect_404>
326
+ <cake:clear_session_on_conversion>no_change</cake:clear_session_on_conversion>
327
+ <cake:postback_delay_ms>-1</cake:postback_delay_ms>
328
+ <cake:affiliate_id>9643</cake:affiliate_id>
329
+ <cake:display_link_type_id>1</cake:display_link_type_id>
330
+ <cake:media_type_id>1</cake:media_type_id>
331
+ <cake:offer_contract_id>10338</cake:offer_contract_id>
332
+ <cake:offer_id>11390</cake:offer_id>
333
+ <cake:payout>1.0000</cake:payout>
334
+ <cake:pixel_html>pixelpixelpixel</cake:pixel_html>
335
+ <cake:postback_url>https://example.com/postback</cake:postback_url>
336
+ <cake:redirect_domain>trk_ad2games.cakemarketing.net</cake:redirect_domain>
337
+ <cake:test_link>https://example.com/test</cake:test_link>
338
+ <cake:unique_key_hash>0</cake:unique_key_hash>
339
+ <cake:third_party_name>bar</cake:third_party_name>
340
+ <cake:campaign_id>23733</cake:campaign_id>
341
+ <cake:expiration_date>1970-01-01T01:00:00</cake:expiration_date>
342
+ </cake:Campaign>
343
+ </env:Body>
344
+ </env:Envelope>
345
+ headers:
346
+ Content-Type:
347
+ - application/soap+xml;charset=UTF-8
348
+ Accept-Encoding:
349
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
350
+ Accept:
351
+ - "*/*"
352
+ User-Agent:
353
+ - Ruby
354
+ response:
355
+ status:
356
+ code: 200
357
+ message: OK
358
+ headers:
359
+ Cache-Control:
360
+ - private, max-age=0
361
+ Content-Type:
362
+ - application/soap+xml; charset=utf-8
363
+ Server:
364
+ - Microsoft-IIS/8.5
365
+ X-Aspnet-Version:
366
+ - 4.0.30319
367
+ X-Powered-By:
368
+ - ASP.NET
369
+ Date:
370
+ - Fri, 11 Nov 2016 15:57:26 GMT
371
+ Content-Length:
372
+ - '634'
373
+ body:
374
+ encoding: UTF-8
375
+ string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
376
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CampaignResponse
377
+ xmlns="http://cakemarketing.com/api/3/"><CampaignResult><success>true</success><message>Campaign
378
+ Updated</message><success_info><campaign_id>23733</campaign_id><affiliate_id>9643</affiliate_id><offer_id>11390</offer_id><offer_contract_id>10338</offer_contract_id><media_type_id>1</media_type_id><original>false</original></success_info></CampaignResult></CampaignResponse></soap:Body></soap:Envelope>
379
+ http_version:
380
+ recorded_at: Fri, 11 Nov 2016 15:57:49 GMT
381
+ - request:
382
+ method: post
383
+ uri: https://cake-partner-domain.com/api/6/export.asmx
384
+ body:
385
+ encoding: UTF-8
386
+ string: |
387
+ <?xml version="1.0"?>
388
+ <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/6/">
389
+ <env:Header/>
390
+ <env:Body>
391
+ <cake:Campaigns>
392
+ <cake:api_key>cake-api-key</cake:api_key>
393
+ <cake:campaign_id>23733</cake:campaign_id>
394
+ </cake:Campaigns>
395
+ </env:Body>
396
+ </env:Envelope>
397
+ headers:
398
+ Content-Type:
399
+ - application/soap+xml;charset=UTF-8
400
+ Accept-Encoding:
401
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
402
+ Accept:
403
+ - "*/*"
404
+ User-Agent:
405
+ - Ruby
406
+ response:
407
+ status:
408
+ code: 200
409
+ message: OK
410
+ headers:
411
+ Cache-Control:
412
+ - private, max-age=0
413
+ Content-Type:
414
+ - application/soap+xml; charset=utf-8
415
+ Server:
416
+ - Microsoft-IIS/8.5
417
+ X-Aspnet-Version:
418
+ - 4.0.30319
419
+ X-Powered-By:
420
+ - ASP.NET
421
+ Date:
422
+ - Fri, 11 Nov 2016 15:57:27 GMT
423
+ Content-Length:
424
+ - '4147'
425
+ body:
426
+ encoding: UTF-8
427
+ string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
428
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CampaignsResponse
429
+ xmlns="http://cakemarketing.com/api/6/"><CampaignsResult><success>true</success><row_count>1</row_count><campaigns><campaign><campaign_id>23733</campaign_id><third_party_name>bar</third_party_name><campaign_type><campaign_type_id
430
+ xmlns="API:id_name_store">1</campaign_type_id><campaign_type_name xmlns="API:id_name_store">Standard</campaign_type_name></campaign_type><affiliate><affiliate_id
431
+ xmlns="API:id_name_store">9643</affiliate_id><affiliate_name xmlns="API:id_name_store">ad2games</affiliate_name></affiliate><offer><offer_id
432
+ xmlns="API:id_name_store">11390</offer_id><offer_name xmlns="API:id_name_store">Helge's
433
+ Awesome Offer (DE CPO)</offer_name></offer><offer_contract><offer_contract_id>10338</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
434
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></offer_contract><original>false</original><exceptions><allowed_sub_affiliates
435
+ /><allowed_creatives /></exceptions><account_status><account_status_id xmlns="API:id_name_store">1</account_status_id><account_status_name
436
+ xmlns="API:id_name_store">Active</account_status_name></account_status><payout><is_percentage>false</is_percentage><amount>1.0000</amount><formatted_amount>$1.00</formatted_amount></payout><currency><currency_id
437
+ xmlns="API:id_name_store">1</currency_id><currency_symbol xmlns="API:id_name_store">$</currency_symbol><currency_name
438
+ xmlns="API:id_name_store">US Dollar</currency_name><currency_abbr xmlns="API:id_name_store">USD</currency_abbr></currency><media_type><media_type_id
439
+ xmlns="API:id_name_store">1</media_type_id><media_type_name xmlns="API:id_name_store">YouTube_Twitch</media_type_name></media_type><deal_flow><date_contacted
440
+ xsi:nil="true" /><date_io_sent xsi:nil="true" /><date_io_signed xsi:nil="true"
441
+ /><date_creative_sent xsi:nil="true" /><date_pixel_placed>2016-11-10T10:40:41.057</date_pixel_placed></deal_flow><paid>true</paid><paid_redirects>true</paid_redirects><disable_prepop_appending>false</disable_prepop_appending><suppression_amount
442
+ xsi:nil="true" /><redirect_domain>trk_ad2games.cakemarketing.net</redirect_domain><click_cap><limit
443
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
444
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
445
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></click_cap><conversion_cap><limit
446
+ xsi:nil="true" /><cap_interval><cap_interval_id xmlns="API:id_name_store">0</cap_interval_id><cap_interval_name
447
+ xmlns="API:id_name_store">None</cap_interval_name></cap_interval><start_date
448
+ xsi:nil="true" /><review_no_redirect>false</review_no_redirect></conversion_cap><pixel_info><pixel_status>Approved</pixel_status><pixel_html>pixelpixelpixel</pixel_html><hash_type><hash_type_id
449
+ xmlns="API:id_name_store">0</hash_type_id><hash_type_name xmlns="API:id_name_store">None</hash_type_name></hash_type><postback_url>https://example.com/postback</postback_url><postback_delay_ms>100</postback_delay_ms></pixel_info><upsell_info><disable_upsells>false</disable_upsells><paid_upsells>true</paid_upsells><paid_upsells_same_session_only>false</paid_upsells_same_session_only><clear_session_on_conversion>true</clear_session_on_conversion></upsell_info><test_link>https://example.com/test</test_link><redirect_offer><offer_contract_id>10337</offer_contract_id><offer_contract_name>Direct</offer_contract_name><price_format><price_format_id
450
+ xmlns="API:id_name_store">1</price_format_id><price_format_name xmlns="API:id_name_store">CPA</price_format_name></price_format></redirect_offer><redirect_404>true</redirect_404><date_created>2016-11-08T16:49:09.017</date_created><expiration_date>2016-11-09T01:00:00</expiration_date><notes
451
+ /></campaign></campaigns></CampaignsResult></CampaignsResponse></soap:Body></soap:Envelope>
452
+ http_version:
453
+ recorded_at: Fri, 11 Nov 2016 15:57:50 GMT
454
+ recorded_with: VCR 3.0.3