metronome-sdk 2.0.0 → 2.2.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.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +75 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +7 -1
  5. data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +38 -26
  6. data/lib/metronome_sdk/internal/util.rb +7 -2
  7. data/lib/metronome_sdk/models/contract.rb +1 -0
  8. data/lib/metronome_sdk/models/contract_v2.rb +69 -23
  9. data/lib/metronome_sdk/models/hierarchy_configuration.rb +45 -21
  10. data/lib/metronome_sdk/models/subscription.rb +38 -1
  11. data/lib/metronome_sdk/models/v1/alert_create_params.rb +33 -1
  12. data/lib/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rb +10 -1
  13. data/lib/metronome_sdk/models/v1/contract_create_params.rb +195 -29
  14. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  15. data/lib/metronome_sdk/models/v1/customer_create_params.rb +105 -3
  16. data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +14 -10
  17. data/lib/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rb +1 -0
  18. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_params.rb +1 -0
  19. data/lib/metronome_sdk/models/v1/customer_set_billing_configurations_response.rb +111 -0
  20. data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +32 -1
  21. data/lib/metronome_sdk/models/v1/customers/billing_config_create_params.rb +21 -2
  22. data/lib/metronome_sdk/models/v1/customers/billing_config_delete_params.rb +1 -0
  23. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rb +21 -2
  25. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +1 -1
  26. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +34 -1
  27. data/lib/metronome_sdk/models/v1/customers/invoice.rb +144 -4
  28. data/lib/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rb +8 -1
  29. data/lib/metronome_sdk/models/v1/payment.rb +7 -1
  30. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rb +74 -0
  31. data/lib/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rb +12 -0
  32. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_params.rb +74 -0
  33. data/lib/metronome_sdk/models/v1/settings/billing_provider_create_response.rb +31 -0
  34. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_params.rb +26 -0
  35. data/lib/metronome_sdk/models/v1/settings/billing_provider_list_response.rb +105 -0
  36. data/lib/metronome_sdk/models/v1/usage_search_response.rb +6 -3
  37. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +17 -1
  38. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +17 -1
  39. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +300 -10
  40. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +177 -3
  41. data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
  42. data/lib/metronome_sdk/resources/v1/contracts.rb +10 -4
  43. data/lib/metronome_sdk/resources/v1/credit_grants.rb +10 -5
  44. data/lib/metronome_sdk/resources/v1/customers/alerts.rb +3 -1
  45. data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +12 -5
  46. data/lib/metronome_sdk/resources/v1/customers/commits.rb +2 -1
  47. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +2 -1
  48. data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -4
  49. data/lib/metronome_sdk/resources/v1/customers.rb +12 -8
  50. data/lib/metronome_sdk/resources/v1/plans.rb +8 -4
  51. data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +75 -0
  52. data/lib/metronome_sdk/resources/v1/settings.rb +57 -0
  53. data/lib/metronome_sdk/resources/v1.rb +4 -0
  54. data/lib/metronome_sdk/resources/v2/contracts.rb +10 -2
  55. data/lib/metronome_sdk/version.rb +1 -1
  56. data/lib/metronome_sdk.rb +11 -0
  57. data/manifest.yaml +2 -0
  58. data/rbi/metronome_sdk/internal/transport/base_client.rbi +5 -0
  59. data/rbi/metronome_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  60. data/rbi/metronome_sdk/internal/type/base_model.rbi +8 -4
  61. data/rbi/metronome_sdk/models/contract.rbi +5 -0
  62. data/rbi/metronome_sdk/models/contract_v2.rbi +122 -33
  63. data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +63 -27
  64. data/rbi/metronome_sdk/models/subscription.rbi +64 -3
  65. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +69 -0
  66. data/rbi/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbi +13 -0
  67. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +360 -33
  68. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  69. data/rbi/metronome_sdk/models/v1/customer_create_params.rbi +215 -0
  70. data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +18 -11
  71. data/rbi/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbi +5 -0
  72. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbi +5 -0
  73. data/rbi/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbi +281 -0
  74. data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +67 -0
  75. data/rbi/metronome_sdk/models/v1/customers/billing_config_create_params.rbi +29 -0
  76. data/rbi/metronome_sdk/models/v1/customers/billing_config_delete_params.rbi +5 -0
  77. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbi +5 -0
  78. data/rbi/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbi +24 -0
  79. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +2 -2
  80. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +76 -0
  81. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +268 -0
  82. data/rbi/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbi +9 -0
  83. data/rbi/metronome_sdk/models/v1/payment.rbi +11 -3
  84. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbi +128 -0
  85. data/rbi/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbi +25 -0
  86. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_params.rbi +162 -0
  87. data/rbi/metronome_sdk/models/v1/settings/billing_provider_create_response.rbi +75 -0
  88. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_params.rbi +50 -0
  89. data/rbi/metronome_sdk/models/v1/settings/billing_provider_list_response.rbi +245 -0
  90. data/rbi/metronome_sdk/models/v1/usage_search_response.rbi +11 -3
  91. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +22 -0
  92. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +22 -0
  93. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +630 -9
  94. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +367 -3
  95. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
  96. data/rbi/metronome_sdk/resources/v1/contracts.rbi +13 -1
  97. data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +10 -5
  98. data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
  99. data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +14 -4
  100. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -2
  101. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +2 -1
  102. data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +8 -4
  103. data/rbi/metronome_sdk/resources/v1/customers.rbi +19 -9
  104. data/rbi/metronome_sdk/resources/v1/plans.rbi +8 -4
  105. data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +63 -0
  106. data/rbi/metronome_sdk/resources/v1/settings.rbi +51 -0
  107. data/rbi/metronome_sdk/resources/v1.rbi +3 -0
  108. data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
  109. data/sig/metronome_sdk/internal/transport/base_client.rbs +2 -0
  110. data/sig/metronome_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  111. data/sig/metronome_sdk/models/contract.rbs +2 -0
  112. data/sig/metronome_sdk/models/contract_v2.rbs +33 -6
  113. data/sig/metronome_sdk/models/subscription.rbs +22 -3
  114. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +28 -0
  115. data/sig/metronome_sdk/models/v1/contract_add_manual_balance_entry_params.rbs +7 -0
  116. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +104 -0
  117. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  118. data/sig/metronome_sdk/models/v1/customer_create_params.rbs +85 -0
  119. data/sig/metronome_sdk/models/v1/customer_retrieve_billing_configurations_response.rbs +2 -0
  120. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_params.rbs +2 -0
  121. data/sig/metronome_sdk/models/v1/customer_set_billing_configurations_response.rbs +119 -0
  122. data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +26 -1
  123. data/sig/metronome_sdk/models/v1/customers/billing_config_create_params.rbs +16 -0
  124. data/sig/metronome_sdk/models/v1/customers/billing_config_delete_params.rbs +2 -0
  125. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_params.rbs +2 -0
  126. data/sig/metronome_sdk/models/v1/customers/billing_config_retrieve_response.rbs +14 -0
  127. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +32 -0
  128. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +130 -0
  129. data/sig/metronome_sdk/models/v1/customers/plan_list_price_adjustments_response.rbs +7 -0
  130. data/sig/metronome_sdk/models/v1/payment.rbs +10 -3
  131. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_params.rbs +61 -0
  132. data/sig/metronome_sdk/models/v1/setting_upsert_avalara_credentials_response.rbs +13 -0
  133. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_params.rbs +66 -0
  134. data/sig/metronome_sdk/models/v1/settings/billing_provider_create_response.rbs +34 -0
  135. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_params.rbs +28 -0
  136. data/sig/metronome_sdk/models/v1/settings/billing_provider_list_response.rbs +102 -0
  137. data/sig/metronome_sdk/models/v1/usage_search_response.rbs +3 -1
  138. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +14 -0
  139. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +14 -0
  140. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +234 -3
  141. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +131 -3
  142. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
  143. data/sig/metronome_sdk/resources/v1/contracts.rbs +3 -0
  144. data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
  145. data/sig/metronome_sdk/resources/v1/customers/billing_config.rbs +2 -0
  146. data/sig/metronome_sdk/resources/v1/customers.rbs +2 -1
  147. data/sig/metronome_sdk/resources/v1/settings/billing_providers.rbs +23 -0
  148. data/sig/metronome_sdk/resources/v1/settings.rbs +20 -0
  149. data/sig/metronome_sdk/resources/v1.rbs +2 -0
  150. data/sig/metronome_sdk/resources/v2/contracts.rbs +4 -0
  151. metadata +29 -2
@@ -53,6 +53,14 @@ module MetronomeSDK
53
53
  # @return [Object, nil]
54
54
  optional :billable_status, MetronomeSDK::Internal::Type::Unknown
55
55
 
56
+ # @!attribute constituent_invoices
57
+ # Account hierarchy M3 - Required on invoices with type USAGE_CONSOLIDATED. List
58
+ # of constituent invoices that were consolidated to create this invoice.
59
+ #
60
+ # @return [Array<MetronomeSDK::Models::V1::Customers::Invoice::ConstituentInvoice>, nil]
61
+ optional :constituent_invoices,
62
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Customers::Invoice::ConstituentInvoice] }
63
+
56
64
  # @!attribute contract_custom_fields
57
65
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
58
66
  #
@@ -121,6 +129,13 @@ module MetronomeSDK
121
129
  # @return [String, nil]
122
130
  optional :netsuite_sales_order_id, String
123
131
 
132
+ # @!attribute payer
133
+ # Account hierarchy M3 - Required for account hierarchy usage invoices. An object
134
+ # containing the contract and customer UUIDs that pay for this invoice.
135
+ #
136
+ # @return [MetronomeSDK::Models::V1::Customers::Invoice::Payer, nil]
137
+ optional :payer, -> { MetronomeSDK::V1::Customers::Invoice::Payer }
138
+
124
139
  # @!attribute plan_custom_fields
125
140
  # Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
126
141
  #
@@ -160,7 +175,7 @@ module MetronomeSDK
160
175
  # @return [Float, nil]
161
176
  optional :subtotal, Float
162
177
 
163
- # @!method initialize(id:, credit_type:, customer_id:, line_items:, status:, total:, type:, amendment_id: nil, billable_status: nil, contract_custom_fields: nil, contract_id: nil, correction_record: nil, created_at: nil, custom_fields: nil, customer_custom_fields: nil, end_timestamp: nil, external_invoice: nil, invoice_adjustments: nil, issued_at: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, plan_custom_fields: nil, plan_id: nil, plan_name: nil, reseller_royalty: nil, salesforce_opportunity_id: nil, start_timestamp: nil, subtotal: nil)
178
+ # @!method initialize(id:, credit_type:, customer_id:, line_items:, status:, total:, type:, amendment_id: nil, billable_status: nil, constituent_invoices: nil, contract_custom_fields: nil, contract_id: nil, correction_record: nil, created_at: nil, custom_fields: nil, customer_custom_fields: nil, end_timestamp: nil, external_invoice: nil, invoice_adjustments: nil, issued_at: nil, net_payment_terms_days: nil, netsuite_sales_order_id: nil, payer: nil, plan_custom_fields: nil, plan_id: nil, plan_name: nil, reseller_royalty: nil, salesforce_opportunity_id: nil, start_timestamp: nil, subtotal: nil)
164
179
  # Some parameter documentations has been truncated, see
165
180
  # {MetronomeSDK::Models::V1::Customers::Invoice} for more details.
166
181
  #
@@ -182,6 +197,8 @@ module MetronomeSDK
182
197
  #
183
198
  # @param billable_status [Object] This field's availability is dependent on your client's configuration.
184
199
  #
200
+ # @param constituent_invoices [Array<MetronomeSDK::Models::V1::Customers::Invoice::ConstituentInvoice>] Account hierarchy M3 - Required on invoices with type USAGE_CONSOLIDATED. List o
201
+ #
185
202
  # @param contract_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
186
203
  #
187
204
  # @param contract_id [String]
@@ -206,6 +223,8 @@ module MetronomeSDK
206
223
  #
207
224
  # @param netsuite_sales_order_id [String] This field's availability is dependent on your client's configuration.
208
225
  #
226
+ # @param payer [MetronomeSDK::Models::V1::Customers::Invoice::Payer] Account hierarchy M3 - Required for account hierarchy usage invoices. An object
227
+ #
209
228
  # @param plan_custom_fields [Hash{Symbol=>String}] Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
210
229
  #
211
230
  # @param plan_id [String]
@@ -380,6 +399,14 @@ module MetronomeSDK
380
399
  # @return [String, nil]
381
400
  optional :netsuite_item_id, String
382
401
 
402
+ # @!attribute origin
403
+ # Account hierarchy M3 - Present on line items from invoices with type
404
+ # USAGE_CONSOLIDATED. Indicates the original customer, contract, invoice and line
405
+ # item from which this line item was copied.
406
+ #
407
+ # @return [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::Origin, nil]
408
+ optional :origin, -> { MetronomeSDK::V1::Customers::Invoice::LineItem::Origin }
409
+
383
410
  # @!attribute postpaid_commit
384
411
  # Only present for line items paying for a postpaid commit true-up.
385
412
  #
@@ -492,7 +519,7 @@ module MetronomeSDK
492
519
  # @return [Float, nil]
493
520
  optional :unit_price, Float
494
521
 
495
- # @!method initialize(credit_type:, name:, total:, type:, applied_commit_or_credit: nil, commit_custom_fields: nil, commit_id: nil, commit_netsuite_item_id: nil, commit_netsuite_sales_order_id: nil, commit_segment_id: nil, commit_type: nil, custom_fields: nil, discount_custom_fields: nil, discount_id: nil, ending_before: nil, group_key: nil, group_value: nil, is_prorated: nil, list_price: nil, metadata: nil, netsuite_invoice_billing_end: nil, netsuite_invoice_billing_start: nil, netsuite_item_id: nil, postpaid_commit: nil, presentation_group_values: nil, pricing_group_values: nil, product_custom_fields: nil, product_id: nil, product_tags: nil, product_type: nil, professional_service_custom_fields: nil, professional_service_id: nil, quantity: nil, reseller_type: nil, scheduled_charge_custom_fields: nil, scheduled_charge_id: nil, starting_at: nil, sub_line_items: nil, subscription_custom_fields: nil, tier: nil, unit_price: nil)
522
+ # @!method initialize(credit_type:, name:, total:, type:, applied_commit_or_credit: nil, commit_custom_fields: nil, commit_id: nil, commit_netsuite_item_id: nil, commit_netsuite_sales_order_id: nil, commit_segment_id: nil, commit_type: nil, custom_fields: nil, discount_custom_fields: nil, discount_id: nil, ending_before: nil, group_key: nil, group_value: nil, is_prorated: nil, list_price: nil, metadata: nil, netsuite_invoice_billing_end: nil, netsuite_invoice_billing_start: nil, netsuite_item_id: nil, origin: nil, postpaid_commit: nil, presentation_group_values: nil, pricing_group_values: nil, product_custom_fields: nil, product_id: nil, product_tags: nil, product_type: nil, professional_service_custom_fields: nil, professional_service_id: nil, quantity: nil, reseller_type: nil, scheduled_charge_custom_fields: nil, scheduled_charge_id: nil, starting_at: nil, sub_line_items: nil, subscription_custom_fields: nil, tier: nil, unit_price: nil)
496
523
  # Some parameter documentations has been truncated, see
497
524
  # {MetronomeSDK::Models::V1::Customers::Invoice::LineItem} for more details.
498
525
  #
@@ -542,6 +569,8 @@ module MetronomeSDK
542
569
  #
543
570
  # @param netsuite_item_id [String]
544
571
  #
572
+ # @param origin [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::Origin] Account hierarchy M3 - Present on line items from invoices with type USAGE_CONSO
573
+ #
545
574
  # @param postpaid_commit [MetronomeSDK::Models::V1::Customers::Invoice::LineItem::PostpaidCommit] Only present for line items paying for a postpaid commit true-up.
546
575
  #
547
576
  # @param presentation_group_values [Hash{Symbol=>String, nil}] Includes the presentation group values associated with this line item if present
@@ -611,6 +640,39 @@ module MetronomeSDK
611
640
  end
612
641
  end
613
642
 
643
+ # @see MetronomeSDK::Models::V1::Customers::Invoice::LineItem#origin
644
+ class Origin < MetronomeSDK::Internal::Type::BaseModel
645
+ # @!attribute contract_id
646
+ #
647
+ # @return [String]
648
+ required :contract_id, String
649
+
650
+ # @!attribute customer_id
651
+ #
652
+ # @return [String]
653
+ required :customer_id, String
654
+
655
+ # @!attribute invoice_id
656
+ #
657
+ # @return [String]
658
+ required :invoice_id, String
659
+
660
+ # @!attribute line_item_id
661
+ #
662
+ # @return [String]
663
+ required :line_item_id, String
664
+
665
+ # @!method initialize(contract_id:, customer_id:, invoice_id:, line_item_id:)
666
+ # Account hierarchy M3 - Present on line items from invoices with type
667
+ # USAGE_CONSOLIDATED. Indicates the original customer, contract, invoice and line
668
+ # item from which this line item was copied.
669
+ #
670
+ # @param contract_id [String]
671
+ # @param customer_id [String]
672
+ # @param invoice_id [String]
673
+ # @param line_item_id [String]
674
+ end
675
+
614
676
  # @see MetronomeSDK::Models::V1::Customers::Invoice::LineItem#postpaid_commit
615
677
  class PostpaidCommit < MetronomeSDK::Internal::Type::BaseModel
616
678
  # @!attribute id
@@ -805,6 +867,28 @@ module MetronomeSDK
805
867
  end
806
868
  end
807
869
 
870
+ class ConstituentInvoice < MetronomeSDK::Internal::Type::BaseModel
871
+ # @!attribute contract_id
872
+ #
873
+ # @return [String]
874
+ required :contract_id, String
875
+
876
+ # @!attribute customer_id
877
+ #
878
+ # @return [String]
879
+ required :customer_id, String
880
+
881
+ # @!attribute invoice_id
882
+ #
883
+ # @return [String]
884
+ required :invoice_id, String
885
+
886
+ # @!method initialize(contract_id:, customer_id:, invoice_id:)
887
+ # @param contract_id [String]
888
+ # @param customer_id [String]
889
+ # @param invoice_id [String]
890
+ end
891
+
808
892
  # @see MetronomeSDK::Models::V1::Customers::Invoice#correction_record
809
893
  class CorrectionRecord < MetronomeSDK::Internal::Type::BaseModel
810
894
  # @!attribute corrected_invoice_id
@@ -842,6 +926,18 @@ module MetronomeSDK
842
926
  required :billing_provider_type,
843
927
  enum: -> { MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType }
844
928
 
929
+ # @!attribute billing_provider_error
930
+ # Error message from the billing provider, if available.
931
+ #
932
+ # @return [String, nil]
933
+ optional :billing_provider_error, String
934
+
935
+ # @!attribute external_payment_id
936
+ # The ID of the payment in the external system, if available.
937
+ #
938
+ # @return [String, nil]
939
+ optional :external_payment_id, String
940
+
845
941
  # @!attribute external_status
846
942
  #
847
943
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus, nil]
@@ -883,9 +979,13 @@ module MetronomeSDK
883
979
  optional :tax,
884
980
  -> { MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax }
885
981
 
886
- # @!method initialize(billing_provider_type:, external_status: nil, invoice_id: nil, invoiced_sub_total: nil, invoiced_total: nil, issued_at_timestamp: nil, pdf_url: nil, tax: nil)
982
+ # @!method initialize(billing_provider_type:, billing_provider_error: nil, external_payment_id: nil, external_status: nil, invoice_id: nil, invoiced_sub_total: nil, invoiced_total: nil, issued_at_timestamp: nil, pdf_url: nil, tax: nil)
887
983
  # @param billing_provider_type [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::BillingProviderType]
888
984
  #
985
+ # @param billing_provider_error [String] Error message from the billing provider, if available.
986
+ #
987
+ # @param external_payment_id [String] The ID of the payment in the external system, if available.
988
+ #
889
989
  # @param external_status [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus]
890
990
  #
891
991
  # @param invoice_id [String]
@@ -912,6 +1012,7 @@ module MetronomeSDK
912
1012
  QUICKBOOKS_ONLINE = :quickbooks_online
913
1013
  WORKDAY = :workday
914
1014
  GCP_MARKETPLACE = :gcp_marketplace
1015
+ METRONOME = :metronome
915
1016
 
916
1017
  # @!method self.values
917
1018
  # @return [Array<Symbol>]
@@ -924,6 +1025,7 @@ module MetronomeSDK
924
1025
  DRAFT = :DRAFT
925
1026
  FINALIZED = :FINALIZED
926
1027
  PAID = :PAID
1028
+ PARTIALLY_PAID = :PARTIALLY_PAID
927
1029
  UNCOLLECTIBLE = :UNCOLLECTIBLE
928
1030
  VOID = :VOID
929
1031
  DELETED = :DELETED
@@ -977,6 +1079,18 @@ module MetronomeSDK
977
1079
  required :billing_provider_type,
978
1080
  enum: -> { MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::BillingProviderType }
979
1081
 
1082
+ # @!attribute billing_provider_error
1083
+ # Error message from the billing provider, if available.
1084
+ #
1085
+ # @return [String, nil]
1086
+ optional :billing_provider_error, String
1087
+
1088
+ # @!attribute external_payment_id
1089
+ # The ID of the payment in the external system, if available.
1090
+ #
1091
+ # @return [String, nil]
1092
+ optional :external_payment_id, String
1093
+
980
1094
  # @!attribute external_status
981
1095
  #
982
1096
  # @return [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::ExternalStatus, nil]
@@ -1017,9 +1131,13 @@ module MetronomeSDK
1017
1131
  # @return [MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::Tax, nil]
1018
1132
  optional :tax, -> { MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax }
1019
1133
 
1020
- # @!method initialize(billing_provider_type:, external_status: nil, invoice_id: nil, invoiced_sub_total: nil, invoiced_total: nil, issued_at_timestamp: nil, pdf_url: nil, tax: nil)
1134
+ # @!method initialize(billing_provider_type:, billing_provider_error: nil, external_payment_id: nil, external_status: nil, invoice_id: nil, invoiced_sub_total: nil, invoiced_total: nil, issued_at_timestamp: nil, pdf_url: nil, tax: nil)
1021
1135
  # @param billing_provider_type [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::BillingProviderType]
1022
1136
  #
1137
+ # @param billing_provider_error [String] Error message from the billing provider, if available.
1138
+ #
1139
+ # @param external_payment_id [String] The ID of the payment in the external system, if available.
1140
+ #
1023
1141
  # @param external_status [Symbol, MetronomeSDK::Models::V1::Customers::Invoice::ExternalInvoice::ExternalStatus]
1024
1142
  #
1025
1143
  # @param invoice_id [String]
@@ -1046,6 +1164,7 @@ module MetronomeSDK
1046
1164
  QUICKBOOKS_ONLINE = :quickbooks_online
1047
1165
  WORKDAY = :workday
1048
1166
  GCP_MARKETPLACE = :gcp_marketplace
1167
+ METRONOME = :metronome
1049
1168
 
1050
1169
  # @!method self.values
1051
1170
  # @return [Array<Symbol>]
@@ -1058,6 +1177,7 @@ module MetronomeSDK
1058
1177
  DRAFT = :DRAFT
1059
1178
  FINALIZED = :FINALIZED
1060
1179
  PAID = :PAID
1180
+ PARTIALLY_PAID = :PARTIALLY_PAID
1061
1181
  UNCOLLECTIBLE = :UNCOLLECTIBLE
1062
1182
  VOID = :VOID
1063
1183
  DELETED = :DELETED
@@ -1141,6 +1261,26 @@ module MetronomeSDK
1141
1261
  # @param credit_grant_id [String]
1142
1262
  end
1143
1263
 
1264
+ # @see MetronomeSDK::Models::V1::Customers::Invoice#payer
1265
+ class Payer < MetronomeSDK::Internal::Type::BaseModel
1266
+ # @!attribute contract_id
1267
+ #
1268
+ # @return [String]
1269
+ required :contract_id, String
1270
+
1271
+ # @!attribute customer_id
1272
+ #
1273
+ # @return [String]
1274
+ required :customer_id, String
1275
+
1276
+ # @!method initialize(contract_id:, customer_id:)
1277
+ # Account hierarchy M3 - Required for account hierarchy usage invoices. An object
1278
+ # containing the contract and customer UUIDs that pay for this invoice.
1279
+ #
1280
+ # @param contract_id [String]
1281
+ # @param customer_id [String]
1282
+ end
1283
+
1144
1284
  # @see MetronomeSDK::Models::V1::Customers::Invoice#reseller_royalty
1145
1285
  class ResellerRoyalty < MetronomeSDK::Internal::Type::BaseModel
1146
1286
  # @!attribute fraction
@@ -62,6 +62,11 @@ module MetronomeSDK
62
62
  required :adjustment_type,
63
63
  enum: -> { MetronomeSDK::Models::V1::Customers::PlanListPriceAdjustmentsResponse::Price::AdjustmentType }
64
64
 
65
+ # @!attribute quantity
66
+ #
67
+ # @return [Float, nil]
68
+ optional :quantity, Float
69
+
65
70
  # @!attribute tier
66
71
  # Used in pricing tiers. Indicates at what metric value the price applies.
67
72
  #
@@ -73,9 +78,11 @@ module MetronomeSDK
73
78
  # @return [Float, nil]
74
79
  optional :value, Float
75
80
 
76
- # @!method initialize(adjustment_type:, tier: nil, value: nil)
81
+ # @!method initialize(adjustment_type:, quantity: nil, tier: nil, value: nil)
77
82
  # @param adjustment_type [Symbol, MetronomeSDK::Models::V1::Customers::PlanListPriceAdjustmentsResponse::Price::AdjustmentType] Determines how the value will be applied.
78
83
  #
84
+ # @param quantity [Float]
85
+ #
79
86
  # @param tier [Float] Used in pricing tiers. Indicates at what metric value the price applies.
80
87
  #
81
88
  # @param value [Float]
@@ -107,9 +107,15 @@ module MetronomeSDK
107
107
  # @return [MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe::Error, nil]
108
108
  optional :error, -> { MetronomeSDK::V1::Payment::PaymentGateway::Stripe::Error }
109
109
 
110
- # @!method initialize(payment_intent_id:, error: nil)
110
+ # @!attribute payment_method_id
111
+ #
112
+ # @return [String, nil]
113
+ optional :payment_method_id, String
114
+
115
+ # @!method initialize(payment_intent_id:, error: nil, payment_method_id: nil)
111
116
  # @param payment_intent_id [String]
112
117
  # @param error [MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe::Error]
118
+ # @param payment_method_id [String]
113
119
 
114
120
  # @see MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe#error
115
121
  class Error < MetronomeSDK::Internal::Type::BaseModel
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Settings#upsert_avalara_credentials
7
+ class SettingUpsertAvalaraCredentialsParams < MetronomeSDK::Internal::Type::BaseModel
8
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
+ include MetronomeSDK::Internal::Type::RequestParameters
10
+
11
+ # @!attribute avalara_environment
12
+ # The Avalara environment to use (SANDBOX or PRODUCTION).
13
+ #
14
+ # @return [Symbol, MetronomeSDK::Models::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment]
15
+ required :avalara_environment,
16
+ enum: -> { MetronomeSDK::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment }
17
+
18
+ # @!attribute avalara_password
19
+ # The password for the Avalara account.
20
+ #
21
+ # @return [String]
22
+ required :avalara_password, String
23
+
24
+ # @!attribute avalara_username
25
+ # The username for the Avalara account.
26
+ #
27
+ # @return [String]
28
+ required :avalara_username, String
29
+
30
+ # @!attribute delivery_method_ids
31
+ # The delivery method IDs of the billing provider configurations to update, can be
32
+ # found in the response of the `/listConfiguredBillingProviders` endpoint.
33
+ #
34
+ # @return [Array<String>]
35
+ required :delivery_method_ids, MetronomeSDK::Internal::Type::ArrayOf[String]
36
+
37
+ # @!attribute commit_transactions
38
+ # Commit transactions if you want Metronome tax calculations used for reporting
39
+ # and tax filings.
40
+ #
41
+ # @return [Boolean, nil]
42
+ optional :commit_transactions, MetronomeSDK::Internal::Type::Boolean
43
+
44
+ # @!method initialize(avalara_environment:, avalara_password:, avalara_username:, delivery_method_ids:, commit_transactions: nil, request_options: {})
45
+ # Some parameter documentations has been truncated, see
46
+ # {MetronomeSDK::Models::V1::SettingUpsertAvalaraCredentialsParams} for more
47
+ # details.
48
+ #
49
+ # @param avalara_environment [Symbol, MetronomeSDK::Models::V1::SettingUpsertAvalaraCredentialsParams::AvalaraEnvironment] The Avalara environment to use (SANDBOX or PRODUCTION).
50
+ #
51
+ # @param avalara_password [String] The password for the Avalara account.
52
+ #
53
+ # @param avalara_username [String] The username for the Avalara account.
54
+ #
55
+ # @param delivery_method_ids [Array<String>] The delivery method IDs of the billing provider configurations to update, can be
56
+ #
57
+ # @param commit_transactions [Boolean] Commit transactions if you want Metronome tax calculations used for reporting an
58
+ #
59
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
60
+
61
+ # The Avalara environment to use (SANDBOX or PRODUCTION).
62
+ module AvalaraEnvironment
63
+ extend MetronomeSDK::Internal::Type::Enum
64
+
65
+ PRODUCTION = :PRODUCTION
66
+ SANDBOX = :SANDBOX
67
+
68
+ # @!method self.values
69
+ # @return [Array<Symbol>]
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ # @see MetronomeSDK::Resources::V1::Settings#upsert_avalara_credentials
7
+ class SettingUpsertAvalaraCredentialsResponse < MetronomeSDK::Internal::Type::BaseModel
8
+ # @!method initialize
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#create
8
+ class BillingProviderCreateParams < MetronomeSDK::Internal::Type::BaseModel
9
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
10
+ include MetronomeSDK::Internal::Type::RequestParameters
11
+
12
+ # @!attribute billing_provider
13
+ # The billing provider set for this configuration.
14
+ #
15
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::BillingProvider]
16
+ required :billing_provider,
17
+ enum: -> { MetronomeSDK::V1::Settings::BillingProviderCreateParams::BillingProvider }
18
+
19
+ # @!attribute configuration
20
+ # Account-level configuration for the billing provider. The structure of this
21
+ # object is specific to the billing provider and delivery provider combination.
22
+ # See examples below.
23
+ #
24
+ # @return [Hash{Symbol=>Object}]
25
+ required :configuration, MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
26
+
27
+ # @!attribute delivery_method
28
+ # The method to use for delivering invoices for this configuration.
29
+ #
30
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::DeliveryMethod]
31
+ required :delivery_method,
32
+ enum: -> { MetronomeSDK::V1::Settings::BillingProviderCreateParams::DeliveryMethod }
33
+
34
+ # @!method initialize(billing_provider:, configuration:, delivery_method:, request_options: {})
35
+ # Some parameter documentations has been truncated, see
36
+ # {MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams} for more
37
+ # details.
38
+ #
39
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::BillingProvider] The billing provider set for this configuration.
40
+ #
41
+ # @param configuration [Hash{Symbol=>Object}] Account-level configuration for the billing provider. The structure of this obje
42
+ #
43
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderCreateParams::DeliveryMethod] The method to use for delivering invoices for this configuration.
44
+ #
45
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
46
+
47
+ # The billing provider set for this configuration.
48
+ module BillingProvider
49
+ extend MetronomeSDK::Internal::Type::Enum
50
+
51
+ AWS_MARKETPLACE = :aws_marketplace
52
+ AZURE_MARKETPLACE = :azure_marketplace
53
+ GCP_MARKETPLACE = :gcp_marketplace
54
+
55
+ # @!method self.values
56
+ # @return [Array<Symbol>]
57
+ end
58
+
59
+ # The method to use for delivering invoices for this configuration.
60
+ module DeliveryMethod
61
+ extend MetronomeSDK::Internal::Type::Enum
62
+
63
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
64
+ AWS_SQS = :aws_sqs
65
+ AWS_SNS = :aws_sns
66
+
67
+ # @!method self.values
68
+ # @return [Array<Symbol>]
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#create
8
+ class BillingProviderCreateResponse < MetronomeSDK::Internal::Type::BaseModel
9
+ # @!attribute data
10
+ #
11
+ # @return [MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data]
12
+ required :data, -> { MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data }
13
+
14
+ # @!method initialize(data:)
15
+ # @param data [MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse::Data]
16
+
17
+ # @see MetronomeSDK::Models::V1::Settings::BillingProviderCreateResponse#data
18
+ class Data < MetronomeSDK::Internal::Type::BaseModel
19
+ # @!attribute delivery_method_id
20
+ #
21
+ # @return [String]
22
+ required :delivery_method_id, String
23
+
24
+ # @!method initialize(delivery_method_id:)
25
+ # @param delivery_method_id [String]
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#list
8
+ class BillingProviderListParams < MetronomeSDK::Internal::Type::BaseModel
9
+ extend MetronomeSDK::Internal::Type::RequestParameters::Converter
10
+ include MetronomeSDK::Internal::Type::RequestParameters
11
+
12
+ # @!attribute next_page
13
+ # The cursor to the next page of results
14
+ #
15
+ # @return [String, nil]
16
+ optional :next_page, String, nil?: true
17
+
18
+ # @!method initialize(next_page: nil, request_options: {})
19
+ # @param next_page [String, nil] The cursor to the next page of results
20
+ #
21
+ # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MetronomeSDK
4
+ module Models
5
+ module V1
6
+ module Settings
7
+ # @see MetronomeSDK::Resources::V1::Settings::BillingProviders#list
8
+ class BillingProviderListResponse < MetronomeSDK::Internal::Type::BaseModel
9
+ # @!attribute data
10
+ #
11
+ # @return [Array<MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data>]
12
+ required :data,
13
+ -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data] }
14
+
15
+ # @!attribute next_page
16
+ #
17
+ # @return [String, nil]
18
+ optional :next_page, String, nil?: true
19
+
20
+ # @!method initialize(data:, next_page: nil)
21
+ # @param data [Array<MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data>]
22
+ # @param next_page [String, nil]
23
+
24
+ class Data < MetronomeSDK::Internal::Type::BaseModel
25
+ # @!attribute billing_provider
26
+ # The billing provider set for this configuration.
27
+ #
28
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider]
29
+ required :billing_provider,
30
+ enum: -> { MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider }
31
+
32
+ # @!attribute delivery_method
33
+ # The method to use for delivering invoices to this customer.
34
+ #
35
+ # @return [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod]
36
+ required :delivery_method,
37
+ enum: -> { MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod }
38
+
39
+ # @!attribute delivery_method_configuration
40
+ # Configuration for the delivery method. The structure of this object is specific
41
+ # to the delivery method. Some configuration may be omitted for security reasons.
42
+ #
43
+ # @return [Hash{Symbol=>Object}]
44
+ required :delivery_method_configuration,
45
+ MetronomeSDK::Internal::Type::HashOf[MetronomeSDK::Internal::Type::Unknown]
46
+
47
+ # @!attribute delivery_method_id
48
+ # ID of the delivery method to use for this customer.
49
+ #
50
+ # @return [String]
51
+ required :delivery_method_id, String
52
+
53
+ # @!method initialize(billing_provider:, delivery_method:, delivery_method_configuration:, delivery_method_id:)
54
+ # Some parameter documentations has been truncated, see
55
+ # {MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data} for more
56
+ # details.
57
+ #
58
+ # @param billing_provider [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::BillingProvider] The billing provider set for this configuration.
59
+ #
60
+ # @param delivery_method [Symbol, MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data::DeliveryMethod] The method to use for delivering invoices to this customer.
61
+ #
62
+ # @param delivery_method_configuration [Hash{Symbol=>Object}] Configuration for the delivery method. The structure of this object is specific
63
+ #
64
+ # @param delivery_method_id [String] ID of the delivery method to use for this customer.
65
+
66
+ # The billing provider set for this configuration.
67
+ #
68
+ # @see MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data#billing_provider
69
+ module BillingProvider
70
+ extend MetronomeSDK::Internal::Type::Enum
71
+
72
+ AWS_MARKETPLACE = :aws_marketplace
73
+ STRIPE = :stripe
74
+ NETSUITE = :netsuite
75
+ CUSTOM = :custom
76
+ AZURE_MARKETPLACE = :azure_marketplace
77
+ QUICKBOOKS_ONLINE = :quickbooks_online
78
+ WORKDAY = :workday
79
+ GCP_MARKETPLACE = :gcp_marketplace
80
+ METRONOME = :metronome
81
+
82
+ # @!method self.values
83
+ # @return [Array<Symbol>]
84
+ end
85
+
86
+ # The method to use for delivering invoices to this customer.
87
+ #
88
+ # @see MetronomeSDK::Models::V1::Settings::BillingProviderListResponse::Data#delivery_method
89
+ module DeliveryMethod
90
+ extend MetronomeSDK::Internal::Type::Enum
91
+
92
+ DIRECT_TO_BILLING_PROVIDER = :direct_to_billing_provider
93
+ AWS_SQS = :aws_sqs
94
+ TACKLE = :tackle
95
+ AWS_SNS = :aws_sns
96
+
97
+ # @!method self.values
98
+ # @return [Array<Symbol>]
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end