zuora_rest_client 1.0.2 → 1.1.0

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.
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: put
5
- uri: https://rest.zuora.com/v1/accounts/2c92a0fd5c832adb015c8def9fd9081c
5
+ uri: https://rest.zuora.com/v1/accounts/2c92a0fc5d8298f6015da36b14df1d04
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '{"batch":"Batch2"}'
@@ -14,7 +14,7 @@ http_interactions:
14
14
  Accept-Encoding:
15
15
  - gzip,deflate
16
16
  Date:
17
- - Fri, 09 Jun 2017 17:38:31 GMT
17
+ - Wed, 02 Aug 2017 14:48:10 GMT
18
18
  Content-Type:
19
19
  - application/json
20
20
  Apiaccesskeyid:
@@ -31,19 +31,19 @@ http_interactions:
31
31
  Server:
32
32
  - Zuora App
33
33
  X-Request-Id:
34
- - 5dadccff-aa8f-4cb1-abb6-87363a2ea325
34
+ - b6509090-8d62-4d09-ad0c-c3cabd849040
35
35
  X-Kong-Upstream-Latency:
36
- - '69'
36
+ - '94'
37
37
  X-Kong-Proxy-Latency:
38
38
  - '0'
39
39
  Expires:
40
- - Fri, 09 Jun 2017 17:38:31 GMT
40
+ - Wed, 02 Aug 2017 14:48:10 GMT
41
41
  Cache-Control:
42
42
  - max-age=0, no-cache, no-store
43
43
  Pragma:
44
44
  - no-cache
45
45
  Date:
46
- - Fri, 09 Jun 2017 17:38:31 GMT
46
+ - Wed, 02 Aug 2017 14:48:10 GMT
47
47
  Content-Length:
48
48
  - '22'
49
49
  Connection:
@@ -57,10 +57,10 @@ http_interactions:
57
57
  "success" : true
58
58
  }
59
59
  http_version:
60
- recorded_at: Fri, 09 Jun 2017 17:38:31 GMT
60
+ recorded_at: Wed, 02 Aug 2017 14:48:10 GMT
61
61
  - request:
62
62
  method: get
63
- uri: https://rest.zuora.com/v1/accounts/2c92a0fd5c832adb015c8def9fd9081c
63
+ uri: https://rest.zuora.com/v1/accounts/2c92a0fc5d8298f6015da36b14df1d04
64
64
  body:
65
65
  encoding: UTF-8
66
66
  string: ''
@@ -72,7 +72,7 @@ http_interactions:
72
72
  Accept-Encoding:
73
73
  - gzip,deflate
74
74
  Date:
75
- - Fri, 09 Jun 2017 17:38:31 GMT
75
+ - Wed, 02 Aug 2017 14:48:10 GMT
76
76
  Content-Type:
77
77
  - application/json
78
78
  Apiaccesskeyid:
@@ -89,19 +89,19 @@ http_interactions:
89
89
  Server:
90
90
  - Zuora App
91
91
  X-Request-Id:
92
- - f868bc70-78b9-4bce-8008-c9b7b9d61877
92
+ - 58ba0d7d-92a9-4d9d-882f-7526f4009e8b
93
93
  X-Kong-Upstream-Latency:
94
94
  - '61'
95
95
  X-Kong-Proxy-Latency:
96
96
  - '0'
97
97
  Expires:
98
- - Fri, 09 Jun 2017 17:38:31 GMT
98
+ - Wed, 02 Aug 2017 14:48:10 GMT
99
99
  Cache-Control:
100
100
  - max-age=0, no-cache, no-store
101
101
  Pragma:
102
102
  - no-cache
103
103
  Date:
104
- - Fri, 09 Jun 2017 17:38:31 GMT
104
+ - Wed, 02 Aug 2017 14:48:10 GMT
105
105
  Content-Length:
106
106
  - '2305'
107
107
  Connection:
@@ -113,9 +113,9 @@ http_interactions:
113
113
  string: |-
114
114
  {
115
115
  "basicInfo" : {
116
- "id" : "2c92a0fd5c832adb015c8def9fd9081c",
116
+ "id" : "2c92a0fc5d8298f6015da36b14df1d04",
117
117
  "name" : "Test Account",
118
- "accountNumber" : "Z00324059",
118
+ "accountNumber" : "Z00324067",
119
119
  "notes" : null,
120
120
  "status" : "Active",
121
121
  "crmId" : null,
@@ -203,5 +203,5 @@ http_interactions:
203
203
  "success" : true
204
204
  }
205
205
  http_version:
206
- recorded_at: Fri, 09 Jun 2017 17:38:31 GMT
206
+ recorded_at: Wed, 02 Aug 2017 14:48:10 GMT
207
207
  recorded_with: VCR 3.0.3
@@ -2,6 +2,7 @@ require 'zuora_rest_client/connection'
2
2
  require 'addressable/uri'
3
3
  require 'fire_poll'
4
4
  require 'base64'
5
+ require 'date'
5
6
 
6
7
  module ZuoraRestClient
7
8
 
@@ -82,8 +83,10 @@ module ZuoraRestClient
82
83
  @connection.rest_post('/accounting-codes', request, zuora_version)
83
84
  end
84
85
 
85
- def get_all_accounting_codes(zuora_version = nil)
86
- @connection.rest_get('/accounting-codes', zuora_version)
86
+ def get_all_accounting_codes(query_params = {}, zuora_version = nil)
87
+ uri = Addressable::URI.parse('/accounting-codes')
88
+ uri.query_values = query_params
89
+ @connection.rest_get(uri.to_s, zuora_version)
87
90
  end
88
91
 
89
92
  def activate_accounting_code(accounting_code_id, zuora_version = nil)
@@ -124,8 +127,10 @@ module ZuoraRestClient
124
127
  @connection.rest_post('/accounting-periods', request, zuora_version)
125
128
  end
126
129
 
127
- def get_all_accounting_periods(zuora_version = nil)
128
- @connection.rest_get('/accounting-periods', zuora_version)
130
+ def get_all_accounting_periods(query_params = {}, zuora_version = nil)
131
+ uri = Addressable::URI.parse('/accounting-periods')
132
+ uri.query_values = query_params
133
+ @connection.rest_get(uri.to_s, zuora_version)
129
134
  end
130
135
 
131
136
  def get_accounting_period(accounting_period_id, zuora_version = nil)
@@ -273,8 +278,10 @@ module ZuoraRestClient
273
278
  @connection.rest_post(uri.to_s, payload, zuora_version, false)
274
279
  end
275
280
 
276
- def view_attachment_list(associated_object_type, associated_object_key, zuora_version = nil)
277
- @connection.rest_get("/attachments/#{associated_object_type}/#{associated_object_key}", zuora_version)
281
+ def view_attachment_list(associated_object_type, associated_object_key, query_params = {}, zuora_version = nil)
282
+ uri = Addressable::URI.parse("/attachments/#{associated_object_type}/#{associated_object_key}")
283
+ uri.query_values = query_params
284
+ @connection.rest_get(uri.to_s, zuora_version)
278
285
  end
279
286
 
280
287
  def view_attachment(attachment_id, zuora_version = nil)
@@ -333,8 +340,10 @@ module ZuoraRestClient
333
340
  # #
334
341
  ##############################################################################
335
342
 
336
- def get_product_catalog(zuora_version = nil)
337
- @connection.rest_get('/catalog/products', zuora_version)
343
+ def get_product_catalog(query_params = {}, zuora_version = nil)
344
+ uri = Addressable::URI.parse('/catalog/products')
345
+ uri.query_values = query_params
346
+ @connection.rest_get(uri.to_s, zuora_version)
338
347
  end
339
348
 
340
349
  def share_product_with_entities(product_id, request, zuora_version = nil)
@@ -441,24 +450,32 @@ module ZuoraRestClient
441
450
  @connection.rest_post("/creditmemos/#{credit_memo_id}/refund", request, zuora_version)
442
451
  end
443
452
 
444
- def query_credit_memos_by_account(request, zuora_version = nil)
445
- @connection.rest_post('/creditmemos/query', request, zuora_version)
453
+ def query_credit_memos_by_account(request, query_params = {}, zuora_version = nil)
454
+ uri = Addressable::URI.parse('/creditmemos/query')
455
+ uri.query_values = query_params
456
+ @connection.rest_post(uri.to_s, request, zuora_version)
446
457
  end
447
458
 
448
- def get_credit_memo_parts(credit_memo_id, zuora_version = nil)
449
- @connection.rest_get("/creditmemos/#{credit_memo_id}/parts", zuora_version)
459
+ def get_credit_memo_parts(credit_memo_id, query_params = {}, zuora_version = nil)
460
+ uri = Addressable::URI.parse("/creditmemos/#{credit_memo_id}/parts")
461
+ uri.query_values = query_params
462
+ @connection.rest_get(uri.to_s, zuora_version)
450
463
  end
451
464
 
452
465
  def apply_credit_memo(credit_memo_id, request, zuora_version = nil)
453
466
  @connection.rest_post("/creditmemos/#{credit_memo_id}/apply", request, zuora_version)
454
467
  end
455
468
 
456
- def get_credit_memo_items(credit_memo_id, zuora_version = nil)
457
- @connection.rest_get("/creditmemos/#{credit_memo_id}/items", zuora_version)
469
+ def get_credit_memo_items(credit_memo_id, query_params = {}, zuora_version = nil)
470
+ uri = Addressable::URI.parse("/creditmemos/#{credit_memo_id}/items")
471
+ uri.query_values = query_params
472
+ @connection.rest_get(uri.to_s, zuora_version)
458
473
  end
459
474
 
460
- def get_credit_memo_part_items(credit_memo_id, part_id, zuora_version = nil)
461
- @connection.rest_get("/creditmemos/#{credit_memo_id}/parts/#{part_id}/itemparts", zuora_version)
475
+ def get_credit_memo_part_items(credit_memo_id, part_id, query_params = {}, zuora_version = nil)
476
+ uri = Addressable::URI.parse("/creditmemos/#{credit_memo_id}/parts/#{part_id}/itemparts")
477
+ uri.query_values = query_params
478
+ @connection.rest_get(uri.to_s, zuora_version)
462
479
  end
463
480
 
464
481
  def unapply_credit_memo(credit_memo_id, zuora_version = nil)
@@ -477,8 +494,10 @@ module ZuoraRestClient
477
494
  @connection.rest_post('/creditmemos', request, zuora_version)
478
495
  end
479
496
 
480
- def get_credit_memos(zuora_version = nil)
481
- @connection.rest_get('/creditmemos', zuora_version)
497
+ def get_credit_memos(query_params = {}, zuora_version = nil)
498
+ uri = Addressable::URI.parse('/creditmemos')
499
+ uri.query_values = query_params
500
+ @connection.rest_get(uri.to_s, zuora_version)
482
501
  end
483
502
 
484
503
  def get_credit_memo_part(credit_memo_id, part_id, zuora_version = nil)
@@ -499,8 +518,20 @@ module ZuoraRestClient
499
518
  # #
500
519
  ##############################################################################
501
520
 
502
- def get_custom_exchange_rates(currency, zuora_version = nil)
503
- @connection.rest_get("/custom-exchange-rates/#{currency}", zuora_version)
521
+ def get_custom_exchange_rates(currency, start_date, end_date, zuora_version = nil)
522
+ if start_date.is_a? Date
523
+ start_date = start_date.iso8601
524
+ elsif start_date.is_a? DateTime
525
+ start_date = start_date.to_date.iso8601
526
+ end
527
+ if end_date.is_a? Date
528
+ end_date = end_date.iso8601
529
+ elsif end_date.is_a? DateTime
530
+ end_date = end_date.to_date.iso8601
531
+ end
532
+ uri = Addressable::URI.parse("/custom-exchange-rates/#{currency}")
533
+ uri.query_values = { startDate: start_date, endDate: end_date }
534
+ @connection.rest_get(uri.to_s, zuora_version)
504
535
  end
505
536
 
506
537
  ##############################################################################
@@ -521,16 +552,20 @@ module ZuoraRestClient
521
552
  @connection.rest_post("/debitmemos", request, zuora_version)
522
553
  end
523
554
 
524
- def get_debit_memos(zuora_version = nil)
525
- @connection.rest_get("/debitmemos", zuora_version)
555
+ def get_debit_memos(query_params = {}, zuora_version = nil)
556
+ uri = Addressable::URI.parse('/debitmemos')
557
+ uri.query_values = query_params
558
+ @connection.rest_get(uri.to_s, zuora_version)
526
559
  end
527
560
 
528
561
  def create_debit_memo_pdf(debit_memo_id, zuora_version = nil)
529
562
  @connection.rest_post("/debitmemos/#{debit_memo_id}/pdfs", nil, zuora_version)
530
563
  end
531
564
 
532
- def get_debit_memo_items(debit_memo_id, zuora_version = nil)
533
- @connection.rest_get("/debitmemos/#{debit_memo_id}/items", zuora_version)
565
+ def get_debit_memo_items(debit_memo_id, query_params = {}, zuora_version = nil)
566
+ uri = Addressable::URI.parse("/debitmemos/#{debit_memo_id}/items")
567
+ uri.query_values = query_params
568
+ @connection.rest_get(uri.to_s, zuora_version)
534
569
  end
535
570
 
536
571
  def cancel_debit_memo(debit_memo_id, zuora_version = nil)
@@ -646,8 +681,10 @@ module ZuoraRestClient
646
681
  @connection.rest_post('/entities', request, zuora_version)
647
682
  end
648
683
 
649
- def get_entities(zuora_version = nil)
650
- @connection.rest_get('/entities', zuora_version)
684
+ def get_entities(query_params = {}, zuora_version = nil)
685
+ uri = Addressable::URI.parse('/entities')
686
+ uri.query_values = query_params
687
+ @connection.rest_get(uri.to_s, zuora_version)
651
688
  end
652
689
 
653
690
  def update_entity(entity_id, request, zuora_version = nil)
@@ -672,8 +709,10 @@ module ZuoraRestClient
672
709
  # #
673
710
  ##############################################################################
674
711
 
675
- def get_entity_connections(zuora_version = nil)
676
- @connection.rest_get('/entity-connections', zuora_version)
712
+ def get_entity_connections(query_params = {}, zuora_version = nil)
713
+ uri = Addressable::URI.parse('/entity-connections')
714
+ uri.query_values = query_params
715
+ @connection.rest_get(uri.to_s, zuora_version)
677
716
  end
678
717
 
679
718
  def initiate_entity_connection(request, zuora_version = nil)
@@ -808,9 +847,9 @@ module ZuoraRestClient
808
847
  # #
809
848
  ##############################################################################
810
849
 
811
- def get_hosted_pages(version_number = nil, zuora_version = nil)
850
+ def get_hosted_pages(query_params = {}, zuora_version = nil)
812
851
  uri = Addressable::URI.parse('/hostedpages')
813
- uri.query_values = { version: version_number.to_s } if !version_number.nil?
852
+ uri.query_values = query_params
814
853
  @connection.rest_get(uri.to_s, zuora_version)
815
854
  end
816
855
 
@@ -1051,6 +1090,16 @@ module ZuoraRestClient
1051
1090
  @connection.rest_get(uri.to_s, zuora_version)
1052
1091
  end
1053
1092
 
1093
+ ##############################################################################
1094
+ # #
1095
+ # OAuth #
1096
+ # #
1097
+ ##############################################################################
1098
+
1099
+ def generate_oauth_token(request, zuora_version = nil)
1100
+ @connection.rest_post('/oauth/token', request, zuora_version)
1101
+ end
1102
+
1054
1103
  ##############################################################################
1055
1104
  # #
1056
1105
  # Operations #
@@ -1117,8 +1166,10 @@ module ZuoraRestClient
1117
1166
  @connection.rest_post('/payment-methods/credit-cards', request, zuora_version)
1118
1167
  end
1119
1168
 
1120
- def get_payment_method(account_key, zuora_version = nil)
1121
- @connection.rest_get("/payment-methods/credit-cards/accounts/#{account_key}", zuora_version)
1169
+ def get_payment_methods(account_key, query_params = {}, zuora_version = nil)
1170
+ uri = Addressable::URI.parse("/payment-methods/credit-cards/accounts/#{account_key}")
1171
+ uri.query_values = query_params
1172
+ @connection.rest_get(uri.to_s, zuora_version)
1122
1173
  end
1123
1174
 
1124
1175
  def update_payment_method(payment_method_id, request, zuora_version = nil)
@@ -1177,12 +1228,16 @@ module ZuoraRestClient
1177
1228
  @connection.rest_post("/payments/#{payment_id}/unapply", request, zuora_version)
1178
1229
  end
1179
1230
 
1180
- def get_payment_parts(payment_id, zuora_version = nil)
1181
- @connection.rest_get("/payments/#{payment_id}/parts", zuora_version)
1231
+ def get_payment_parts(payment_id, query_params = {}, zuora_version = nil)
1232
+ uri = Addressable::URI.new("/payments/#{payment_id}/parts")
1233
+ uri.query_values = query_params
1234
+ @connection.rest_get(uri.to_s, zuora_version)
1182
1235
  end
1183
1236
 
1184
- def get_payment_part_items(payment_id, part_id, zuora_version = nil)
1185
- @connection.rest_get("/payments/#{payment_id}/parts/#{part_id}/itemparts", zuora_version)
1237
+ def get_payment_part_items(payment_id, part_id, query_params = {}, zuora_version = nil)
1238
+ uri = Addressable::URI.new("/payments/#{payment_id}/parts/#{part_id}/itemparts")
1239
+ uri.query_values = query_params
1240
+ @connection.rest_get(uri.to_s, zuora_version)
1186
1241
  end
1187
1242
 
1188
1243
  def apply_payment(payment_id, request, zuora_version = nil)
@@ -1197,8 +1252,10 @@ module ZuoraRestClient
1197
1252
  @connection.rest_post('/payments', request, zuora_version)
1198
1253
  end
1199
1254
 
1200
- def get_all_payments(zuora_version = nil)
1201
- @connection.rest_get('/payments', zuora_version)
1255
+ def get_all_payments(query_params = {}, zuora_version = nil)
1256
+ uri = Addressable::URI.new('/payments')
1257
+ uri.query_values = query_params
1258
+ @connection.rest_get(uri.to_s, zuora_version)
1202
1259
  end
1203
1260
 
1204
1261
  def get_payment_part(payment_id, part_id, zuora_version = nil)
@@ -1451,12 +1508,16 @@ module ZuoraRestClient
1451
1508
  @connection.rest_put("/refunds/#{refund_id}", request, zuora_version)
1452
1509
  end
1453
1510
 
1454
- def get_refund_part_items(refund_id, refund_part_id, zuora_version = nil)
1455
- @connection.rest_get("/refunds/#{refund_id}/parts/#{refund_part_id}/itemparts", zuora_version)
1511
+ def get_refund_part_items(refund_id, refund_part_id, query_params = {}, zuora_version = nil)
1512
+ uri = Addressable::URI.parse("/refunds/#{refund_id}/parts/#{refund_part_id}/itemparts")
1513
+ uri.query_values = query_params
1514
+ @connection.rest_get(uri.to_s, zuora_version)
1456
1515
  end
1457
1516
 
1458
- def get_all_refunds(zuora_version = nil)
1459
- @connection.rest_get('/refunds', zuora_version)
1517
+ def get_all_refunds(query_params = {}, zuora_version = nil)
1518
+ uri = Addressable::URI.parse('/refunds')
1519
+ uri.query_values = query_params
1520
+ @connection.rest_get(uri.to_s, zuora_version)
1460
1521
  end
1461
1522
 
1462
1523
  def get_refund_parts(refund_id, zuora_version = nil)
@@ -1503,8 +1564,10 @@ module ZuoraRestClient
1503
1564
  @connection.rest_get("/revenue-events/#{event_number}", zuora_version)
1504
1565
  end
1505
1566
 
1506
- def get_revenue_event_for_revenue_schedule(revenue_schedule_number, zuora_version = nil)
1507
- @connection.rest_get("/revenue-events/revenue-schedules/#{revenue_schedule_number}", zuora_version)
1567
+ def get_revenue_event_for_revenue_schedule(revenue_schedule_number, query_params = {}, zuora_version = nil)
1568
+ uri = Addressable::URI.parse("/revenue-events/revenue-schedules/#{revenue_schedule_number}")
1569
+ uri.query_values = query_params
1570
+ @connection.rest_get(uri.to_s, zuora_version)
1508
1571
  end
1509
1572
 
1510
1573
  ##############################################################################
@@ -1513,20 +1576,26 @@ module ZuoraRestClient
1513
1576
  # #
1514
1577
  ##############################################################################
1515
1578
 
1516
- def get_revenue_items_by_crs_number(crs_number, zuora_version = nil)
1517
- @connection.rest_get("/revenue-items/charge-revenue-summaries/#{crs_number}", zuora_version)
1579
+ def get_revenue_items_by_crs_number(crs_number, query_params = {}, zuora_version = nil)
1580
+ uri = Addressable::URI.parse("/revenue-items/charge-revenue-summaries/#{crs_number}")
1581
+ uri.query_values = query_params
1582
+ @connection.rest_get(uri.to_s, zuora_version)
1518
1583
  end
1519
1584
 
1520
- def get_revenue_items_by_revenue_event_number(event_number, zuora_version = nil)
1521
- @connection.rest_get("/revenue-items/revenue-events/#{event_number}", zuora_version)
1585
+ def get_revenue_items_by_revenue_event_number(event_number, query_params = {}, zuora_version = nil)
1586
+ uri = Addressable::URI.parse("/revenue-items/revenue-events/#{event_number}")
1587
+ uri.query_values = query_params
1588
+ @connection.rest_get(uri.to_s, zuora_version)
1522
1589
  end
1523
1590
 
1524
1591
  def update_revenue_items_by_revenue_event_number(event_number, request, zuora_version = nil)
1525
1592
  @connection.rest_put("/revenue-items/revenue-events/#{event_number}", request, zuora_version)
1526
1593
  end
1527
1594
 
1528
- def get_revenue_items_by_revenue_schedule(revenue_schedule_number, zuora_version = nil)
1529
- @connection.rest_get("/revenue-items/revenue-schedules/#{revenue_schedule_number}", zuora_version)
1595
+ def get_revenue_items_by_revenue_schedule(revenue_schedule_number, query_params = {}, zuora_version = nil)
1596
+ uri = Addressable::URI.parse("/revenue-items/revenue-schedules/#{revenue_schedule_number}")
1597
+ uri.query_values = query_params
1598
+ @connection.rest_get(uri.to_s, zuora_version)
1530
1599
  end
1531
1600
 
1532
1601
  def update_revenue_items_by_revenue_schedule(revenue_schedule_number, request, zuora_version = nil)
@@ -1577,8 +1646,10 @@ module ZuoraRestClient
1577
1646
  @connection.rest_post("/revenue-schedules/subscription-charges/#{charge_id}", request, zuora_version)
1578
1647
  end
1579
1648
 
1580
- def get_revenue_schedule_by_subscription_charge(charge_id, zuora_version = nil)
1581
- @connection.rest_get("/revenue-schedules/subscription-charges/#{charge_id}", zuora_version)
1649
+ def get_revenue_schedule_by_subscription_charge(charge_id, query_params = {}, zuora_version = nil)
1650
+ uri = Addressable::URI.parse("/revenue-schedules/subscription-charges/#{charge_id}")
1651
+ uri.query_values = query_params
1652
+ @connection.rest_get(uri.to_s, zuora_version)
1582
1653
  end
1583
1654
 
1584
1655
  def distribute_revenue_across_accounting_periods(revenue_schedule_number, request, zuora_version = nil)
@@ -1633,8 +1704,10 @@ module ZuoraRestClient
1633
1704
  @connection.rest_get("/revenue-schedules/debit-memo-items/#{debit_memo_item_id}", zuora_version)
1634
1705
  end
1635
1706
 
1636
- def get_all_revenue_schedules_of_product_charges(charge_id, account_id, zuora_version = nil)
1637
- @connection.rest_get("/revenue-schedules/product-charges/#{charge_id}/#{account_id}", zuora_version)
1707
+ def get_all_revenue_schedules_of_product_charges(charge_id, account_id, query_params = {}, zuora_version = nil)
1708
+ uri = Addressable::URI.parse("/revenue-schedules/product-charges/#{charge_id}/#{account_id}")
1709
+ uri.query_values = query_params
1710
+ @connection.rest_get(uri.to_s, zuora_version)
1638
1711
  end
1639
1712
 
1640
1713
  ##############################################################################
@@ -1691,20 +1764,26 @@ module ZuoraRestClient
1691
1764
  @connection.rest_post('/subscriptions', request, zuora_version)
1692
1765
  end
1693
1766
 
1694
- def get_subscriptions_by_account(account_key, zuora_version = nil)
1695
- @connection.rest_get("/subscriptions/accounts/#{account_key}", zuora_version)
1767
+ def get_subscriptions_by_account(account_key, query_params = {}, zuora_version = nil)
1768
+ uri = Addressable::URI.parse("/subscriptions/accounts/#{account_key}")
1769
+ uri.query_values = query_params
1770
+ @connection.rest_get(uri.to_s, zuora_version)
1696
1771
  end
1697
1772
 
1698
1773
  def update_subscription(subscription_key, request, zuora_version = nil)
1699
1774
  @connection.rest_put("/subscriptions/#{subscription_key}", request, zuora_version)
1700
1775
  end
1701
1776
 
1702
- def get_subscription_by_key(subscription_key, zuora_version = nil)
1703
- @connection.rest_get("/subscriptions/#{subscription_key}", zuora_version)
1777
+ def get_subscription_by_key(subscription_key, query_params = {}, zuora_version = nil)
1778
+ uri = Addressable::URI.parse("/subscriptions/#{subscription_key}")
1779
+ uri.query_values = query_params
1780
+ @connection.rest_get(uri.to_s, zuora_version)
1704
1781
  end
1705
1782
 
1706
- def get_subscription_by_key_and_version(subscription_key, version, zuora_version = nil)
1707
- @connection.rest_get("/subscriptions/#{subscription_key}/versions/#{version}", zuora_version)
1783
+ def get_subscription_by_key_and_version(subscription_key, version, query_params = {}, zuora_version = nil)
1784
+ uri = Addressable::URI.parse("/subscriptions/#{subscription_key}/versions/#{version}")
1785
+ uri.query_values = query_params
1786
+ @connection.rest_get(uri.to_s, zuora_version)
1708
1787
  end
1709
1788
 
1710
1789
  def renew_subscription(subscription_key, request, zuora_version = nil)
@@ -1723,7 +1802,9 @@ module ZuoraRestClient
1723
1802
  @connection.rest_put("/subscriptions/#{subscription_key}/suspend", request, zuora_version)
1724
1803
  end
1725
1804
 
1726
- def retrieve_subscription_object(subscription_id, zuora_version = nil)
1805
+ def retrieve_subscription_object(subscription_id, fields = nil, zuora_version = nil)
1806
+ uri = Addressable::URI.parse("/object/subscription/#{subscription_id}")
1807
+ uri.query_values = { fields: fields.to_s } if !fields.nil?
1727
1808
  @connection.rest_get("/object/subscription/#{subscription_id}", zuora_version)
1728
1809
  end
1729
1810
 
@@ -1745,8 +1826,10 @@ module ZuoraRestClient
1745
1826
  @connection.rest_post('/journal-entries', request, zuora_version)
1746
1827
  end
1747
1828
 
1748
- def get_all_summary_journal_entries_for_journal_run(journal_run_number, zuora_version = nil)
1749
- @connection.rest_get("/journal-entries/journal-runs/#{journal_run_number}", zuora_version)
1829
+ def get_all_summary_journal_entries_for_journal_run(journal_run_number, query_params = {}, zuora_version = nil)
1830
+ uri = Addressable::URI.parse("/journal-entries/journal-runs/#{journal_run_number}")
1831
+ uri.query_values = query_params
1832
+ @connection.rest_get(uri.to_s, zuora_version)
1750
1833
  end
1751
1834
 
1752
1835
  def get_summary_journal_entry(journal_entry_number, zuora_version = nil)
@@ -1815,12 +1898,16 @@ module ZuoraRestClient
1815
1898
  # #
1816
1899
  ##############################################################################
1817
1900
 
1818
- def get_invoice_transactions(account_key, zuora_version = nil)
1819
- @connection.rest_get("/transactions/invoices/accounts/#{account_key}", zuora_version)
1901
+ def get_invoice_transactions(account_key, query_params = {}, zuora_version = nil)
1902
+ uri = Addressable::URI.parse("/transactions/invoices/accounts/#{account_key}")
1903
+ uri.query_values = query_params
1904
+ @connection.rest_get(uri.to_s, zuora_version)
1820
1905
  end
1821
1906
 
1822
- def get_payment_transactions(account_key, zuora_version = nil)
1823
- @connection.rest_get("/transactions/payments/accounts/#{account_key}", zuora_version)
1907
+ def get_payment_transactions(account_key, query_params = {}, zuora_version = nil)
1908
+ uri = Addressable::URI.parse("/transactions/payments/accounts/#{account_key}")
1909
+ uri.query_values = query_params
1910
+ @connection.rest_get(uri.to_s, zuora_version)
1824
1911
  end
1825
1912
 
1826
1913
  ##############################################################################
@@ -1858,8 +1945,10 @@ module ZuoraRestClient
1858
1945
  @connection.rest_post('/usage', payload, zuora_version, false)
1859
1946
  end
1860
1947
 
1861
- def get_usage(account_key, zuora_version = nil)
1862
- @connection.rest_get("/usage/accounts/#{account_key}", zuora_version)
1948
+ def get_usage(account_key, query_params = {}, zuora_version = nil)
1949
+ uri = Addressable::URI.parse("/usage/accounts/#{account_key}")
1950
+ uri.query_values = query_params
1951
+ @connection.rest_get(uri.to_s, zuora_version)
1863
1952
  end
1864
1953
 
1865
1954
  def create_usage_object(request, zuora_version = nil)