chargebee 2.74.0 → 2.77.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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -0
  3. data/Gemfile.lock +2 -2
  4. data/README.md +53 -0
  5. data/VERSION +1 -1
  6. data/chargebee.gemspec +17 -2
  7. data/lib/chargebee/environment.rb +3 -2
  8. data/lib/chargebee/models/addon.rb +7 -7
  9. data/lib/chargebee/models/address.rb +2 -2
  10. data/lib/chargebee/models/alert.rb +16 -8
  11. data/lib/chargebee/models/alert_status.rb +2 -2
  12. data/lib/chargebee/models/async_response.rb +18 -0
  13. data/lib/chargebee/models/async_response_list.rb +10 -0
  14. data/lib/chargebee/models/attached_item.rb +5 -5
  15. data/lib/chargebee/models/business_entity.rb +2 -2
  16. data/lib/chargebee/models/card.rb +5 -5
  17. data/lib/chargebee/models/column_definition.rb +10 -0
  18. data/lib/chargebee/models/comment.rb +4 -4
  19. data/lib/chargebee/models/configuration.rb +1 -1
  20. data/lib/chargebee/models/coupon.rb +9 -9
  21. data/lib/chargebee/models/coupon_code.rb +4 -4
  22. data/lib/chargebee/models/coupon_set.rb +7 -7
  23. data/lib/chargebee/models/credit_note.rb +22 -17
  24. data/lib/chargebee/models/credit_note_estimate.rb +1 -1
  25. data/lib/chargebee/models/csv_tax_rule.rb +6 -1
  26. data/lib/chargebee/models/currency.rb +6 -6
  27. data/lib/chargebee/models/customer.rb +26 -26
  28. data/lib/chargebee/models/customer_entitlement.rb +1 -1
  29. data/lib/chargebee/models/differential_price.rb +5 -5
  30. data/lib/chargebee/models/entitlement.rb +2 -2
  31. data/lib/chargebee/models/entitlement_override.rb +2 -2
  32. data/lib/chargebee/models/estimate.rb +20 -20
  33. data/lib/chargebee/models/event.rb +2 -2
  34. data/lib/chargebee/models/export.rb +18 -18
  35. data/lib/chargebee/models/feature.rb +9 -9
  36. data/lib/chargebee/models/gift.rb +7 -7
  37. data/lib/chargebee/models/grant_block.rb +3 -3
  38. data/lib/chargebee/models/hosted_page.rb +22 -22
  39. data/lib/chargebee/models/in_app_subscription.rb +4 -4
  40. data/lib/chargebee/models/invoice.rb +48 -44
  41. data/lib/chargebee/models/invoice_estimate.rb +1 -1
  42. data/lib/chargebee/models/item.rb +5 -5
  43. data/lib/chargebee/models/item_entitlement.rb +4 -4
  44. data/lib/chargebee/models/item_family.rb +5 -5
  45. data/lib/chargebee/models/item_price.rb +7 -7
  46. data/lib/chargebee/models/ledger_account_balance.rb +1 -1
  47. data/lib/chargebee/models/ledger_operation.rb +9 -10
  48. data/lib/chargebee/models/meter.rb +18 -0
  49. data/lib/chargebee/models/metered_feature.rb +46 -0
  50. data/lib/chargebee/models/non_subscription.rb +1 -1
  51. data/lib/chargebee/models/offer_event.rb +1 -1
  52. data/lib/chargebee/models/offer_fulfillment.rb +3 -3
  53. data/lib/chargebee/models/omnichannel_one_time_order.rb +2 -2
  54. data/lib/chargebee/models/omnichannel_subscription.rb +4 -4
  55. data/lib/chargebee/models/omnichannel_subscription_item.rb +1 -1
  56. data/lib/chargebee/models/order.rb +12 -12
  57. data/lib/chargebee/models/payment_intent.rb +9 -4
  58. data/lib/chargebee/models/payment_schedule_scheme.rb +3 -3
  59. data/lib/chargebee/models/payment_source.rb +16 -16
  60. data/lib/chargebee/models/payment_voucher.rb +4 -4
  61. data/lib/chargebee/models/personalized_offer.rb +1 -1
  62. data/lib/chargebee/models/plan.rb +7 -7
  63. data/lib/chargebee/models/portal_session.rb +4 -4
  64. data/lib/chargebee/models/price_variant.rb +5 -5
  65. data/lib/chargebee/models/pricing_page_session.rb +2 -2
  66. data/lib/chargebee/models/promotional_credit.rb +5 -5
  67. data/lib/chargebee/models/promotional_grant.rb +1 -1
  68. data/lib/chargebee/models/purchase.rb +2 -2
  69. data/lib/chargebee/models/quote.rb +27 -27
  70. data/lib/chargebee/models/quote_line_group.rb +1 -1
  71. data/lib/chargebee/models/quoted_charge.rb +2 -2
  72. data/lib/chargebee/models/ramp.rb +6 -6
  73. data/lib/chargebee/models/recorded_purchase.rb +2 -2
  74. data/lib/chargebee/models/resource_migration.rb +1 -1
  75. data/lib/chargebee/models/rule.rb +1 -1
  76. data/lib/chargebee/models/site_migration_detail.rb +1 -1
  77. data/lib/chargebee/models/subscription.rb +37 -37
  78. data/lib/chargebee/models/subscription_entitlement.rb +2 -2
  79. data/lib/chargebee/models/time_machine.rb +3 -3
  80. data/lib/chargebee/models/transaction.rb +11 -11
  81. data/lib/chargebee/models/unbilled_charge.rb +6 -6
  82. data/lib/chargebee/models/usage.rb +5 -5
  83. data/lib/chargebee/models/usage_charge.rb +1 -1
  84. data/lib/chargebee/models/usage_event.rb +2 -2
  85. data/lib/chargebee/models/usage_file.rb +2 -2
  86. data/lib/chargebee/models/usage_summary.rb +1 -1
  87. data/lib/chargebee/models/virtual_bank_account.rb +6 -6
  88. data/lib/chargebee/models/webhook_endpoint.rb +5 -5
  89. data/lib/chargebee/request.rb +37 -8
  90. data/lib/chargebee/result.rb +41 -6
  91. data/lib/chargebee/telemetry/request_telemetry_context.rb +29 -0
  92. data/lib/chargebee/telemetry/request_telemetry_error.rb +20 -0
  93. data/lib/chargebee/telemetry/request_telemetry_result.rb +20 -0
  94. data/lib/chargebee/telemetry/telemetry_adapter.rb +32 -0
  95. data/lib/chargebee/telemetry/telemetry_attribute_keys.rb +33 -0
  96. data/lib/chargebee/telemetry/telemetry_support.rb +123 -0
  97. data/lib/chargebee/telemetry_executor.rb +95 -0
  98. data/lib/chargebee.rb +14 -1
  99. data/spec/chargebee/request_telemetry_spec.rb +75 -0
  100. data/spec/chargebee/telemetry_executor_spec.rb +147 -0
  101. data/spec/chargebee/telemetry_support_spec.rb +29 -0
  102. metadata +20 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0491ff77188f041cf1f3549ac11adcaee8853fa37297489ab5ca7963cb8289a0'
4
- data.tar.gz: b5c082654b8b9e1bcb242edea8137191bcc34b13430771e98e2d1e89026a4b8b
3
+ metadata.gz: 0ada6fc55e78a48f1e967ca90df739cb05d754fa07ed8df370c5e5eed084259e
4
+ data.tar.gz: fe8b6c89e34bc33b773d8bda4a111f2cb7193f95a25c084aa537baabc2f93cca
5
5
  SHA512:
6
- metadata.gz: 8482844d6a45dcef2bb3003fff78abb2ccb67bf29bb2f9c7d1a5b549093c61229579600420d28c8490854e3515d28240911cf06f9f107a44be336f66f0042dfe
7
- data.tar.gz: b1cb1c6f7474d737c75bd052694469f574d18c770e82241b09dfe7d06c873c42404222a2f905f438d0cd1789416e04c113304542ca3cd3838191137f69d1ef89
6
+ metadata.gz: 884e6b4a7312a7882b82c3d43764702fc9e0b71b6ad2b493f9bc36e4d025b608045715da57975791f2b002cea74cf38063cd5798c968c6dffd97f46faf94192a
7
+ data.tar.gz: 2a64cfdbfe0d781f7485b93154a7af60fdef6cd332eddd59b49b1887a5a2dfde7b1c8c1e6915468dbb5a0e4fa1b1b827506a1f17f09317f73a74355e54e1cb83
data/CHANGELOG.md CHANGED
@@ -1,3 +1,101 @@
1
+ ### v2.77.0 (2026-07-21)
2
+ * * *
3
+ ### New Resources:
4
+ - [`AsyncResponse`](https://apidocs.chargebee.com/docs/api/async_responses) has been added.
5
+ - [`AsyncResponseList`](https://apidocs.chargebee.com/docs/api/async_response_lists) has been added.
6
+ - [`ColumnDefinition`](https://apidocs.chargebee.com/docs/api/column_definitions) has been added.
7
+ - [`Meter`](https://apidocs.chargebee.com/docs/api/meters) has been added.
8
+ - [`MeteredFeature`](https://apidocs.chargebee.com/docs/api/metered_features) has been added.
9
+
10
+
11
+ ### New Attributes:
12
+ - [`currency_code`](https://apidocs.chargebee.com/docs/api/alerts/alert-object#currency_code) has been added to [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
13
+ - [`threshold`](https://apidocs.chargebee.com/docs/api/alerts/alert-object#threshold) has been added to [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
14
+ - [`filter_conditions`](https://apidocs.chargebee.com/docs/api/alerts/alert-object#filter_conditions) has been added to [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
15
+ - [`exchange_rates`](https://apidocs.chargebee.com/docs/api/credit_notes/credit-note-object#exchange_rates) has been added to [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
16
+ - [`metered`](https://apidocs.chargebee.com/docs/api/features/feature-object#metered) has been added to [`Feature`](https://apidocs.chargebee.com/docs/api/features).
17
+ - [`exchange_rates`](https://apidocs.chargebee.com/docs/api/invoices/invoice-object#exchange_rates) has been added to [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
18
+ - [`payment_intent_metadata`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#payment_intent_metadata) has been added to [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
19
+
20
+
21
+ ### New Parameters:
22
+ - [`metered`](https://apidocs.chargebee.com/docs/api/features/list-features#metered) has been added as query parameter to [`list_features`](https://apidocs.chargebee.com/docs/api/features/list-features) in [`Feature`](https://apidocs.chargebee.com/docs/api/features).
23
+ - [`decommissioned`](https://apidocs.chargebee.com/docs/api/subscriptions/list-subscriptions#decommissioned) has been added as query parameter to [`list_subscriptions`](https://apidocs.chargebee.com/docs/api/subscriptions/list-subscriptions) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions).
24
+ - [`currency_code`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert#currency_code) has been added as request body parameter to [`create_an_alert`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert) in [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
25
+ - [`line_items.proration_mode`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note#line_items_proration_mode) has been added as request body parameter to [`import_credit_note`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note) in [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
26
+ - [`item_prices.description`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate#item_prices_description) has been added as request body parameter to [`create_invoice_for_items_estimate`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates).
27
+ - [`item_prices.entity_description`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate#item_prices_entity_description) has been added as request body parameter to [`create_invoice_for_items_estimate`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates).
28
+ - [`charges.entity_description`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate#charges_entity_description) has been added as request body parameter to [`create_invoice_for_items_estimate`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates).
29
+ - [`subscription.decommissioned`](https://apidocs.chargebee.com/docs/api/exports/export-subscriptions#subscription_decommissioned) has been added as request body parameter to [`export_subscriptions`](https://apidocs.chargebee.com/docs/api/exports/export-subscriptions) in [`Export`](https://apidocs.chargebee.com/docs/api/exports).
30
+ - [`item_prices.description`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#item_prices_description) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
31
+ - [`item_prices.entity_description`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#item_prices_entity_description) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
32
+ - [`charges.entity_description`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#charges_entity_description) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
33
+ - [`create_pending_invoice`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#create_pending_invoice) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
34
+ - [`line_items.proration_mode`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice#line_items_proration_mode) has been added as request body parameter to [`import_invoice`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
35
+ - [`paid_at`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice#paid_at) has been added as request body parameter to [`import_invoice`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
36
+ - [`discounts_to_add.quantity`](https://apidocs.chargebee.com/docs/api/ramps/create-a-ramp#discounts_to_add_quantity) has been added as request body parameter to [`create_a_ramp`](https://apidocs.chargebee.com/docs/api/ramps/create-a-ramp) in [`Ramp`](https://apidocs.chargebee.com/docs/api/ramps).
37
+ - [`discounts_to_add.quantity`](https://apidocs.chargebee.com/docs/api/ramps/update-a-subscription-ramp#discounts_to_add_quantity) has been added as request body parameter to [`update_a_subscription_ramp`](https://apidocs.chargebee.com/docs/api/ramps/update-a-subscription-ramp) in [`Ramp`](https://apidocs.chargebee.com/docs/api/ramps).
38
+ - [`customer.email`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase#customer_email) has been added as request body parameter to [`record_a_purchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase) in [`RecordedPurchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases).
39
+ - [`customer.first_name`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase#customer_first_name) has been added as request body parameter to [`record_a_purchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase) in [`RecordedPurchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases).
40
+ - [`customer.last_name`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase#customer_last_name) has been added as request body parameter to [`record_a_purchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase) in [`RecordedPurchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases).
41
+
42
+
43
+ ### Parameter Updates:
44
+ - [`metered_feature_id`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert#metered_feature_id) has been changed from required to optional in [`create_an_alert`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert) of [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
45
+
46
+
47
+ ### New Events:
48
+ - [`payment_source_business_entity_changed`](https://apidocs.chargebee.com/docs/api/events/webhook/payment_source_business_entity_changed) has been added.
49
+
50
+
51
+ ### Deleted Attributes:
52
+ - `start_balance` has been removed from [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
53
+ - `end_balance` has been removed from [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
54
+
55
+
56
+ ### New Enums:
57
+ - `real_time_payments` has been added as a new value enum `DunningType`.
58
+ - `payment_source_business_entity_changed` has been added as a new value enum `EventType`.
59
+ - `paynow`, `bizum`, and `promptpay` have been added as new values enum `PaymentMethod`.
60
+ - `paynow`, `bizum`, and `promptpay` have been added as new values enum `PaymentMethodType`.
61
+ - `active`, `archived`, and `deleted` have been added as new values enum `Status`.
62
+ - `zero_rated`, `region_non_taxable`, `product_exempt`, `high_value_physical_goods`, `zero_value_item`, and `tax_not_configured_external_provider` have been added as new values enum `TaxOverrideReason`.
63
+ - `paynow`, `bizum`, `promptpay`, `simple`, `compound`, and `spend_exceeded` have been added as new values enum `Type`.
64
+ - `success` and `failed` have been added as new values to enum attribute [`status`](https://apidocs.chargebee.com/docs/api/async_responses/async-response-object#status) in [`AsyncResponse`](https://apidocs.chargebee.com/docs/api/async_responses).
65
+ - `number` and `string` have been added as new values to enum attribute [`data_type`](https://apidocs.chargebee.com/docs/api/column_definitions/column-definition-object#data_type) in [`ColumnDefinition`](https://apidocs.chargebee.com/docs/api/column_definitions).
66
+ - `simple` and `compound` have been added as new values to enum attribute [`type`](https://apidocs.chargebee.com/docs/api/meters/meter-object#type) in [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
67
+ - `active`, `archived`, and `deleted` have been added as new values to enum attribute [`status`](https://apidocs.chargebee.com/docs/api/meters/meter-object#status) in [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
68
+ - `paynow`, `bizum`, and `promptpay` have been added as new values to enum attribute [`payment_method_type`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#payment_method_type) in [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
69
+ - `paynow`, `bizum`, and `promptpay` have been added as new values to enum attribute [`active_payment_attempt.payment_method_type`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#active_payment_attempt_payment_method_type) in [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
70
+ - `cb_js`, `components_fields`, `checkout_v3`, `paynow_v3`, `portal_v3`, `gift_v3`, `checkout_v4`, `payment_component`, `pc_inapp_v4`, and `pc_fpc_v4` have been added as new values to enum attribute [`payment_intent_metadata.source`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#payment_intent_metadata_source) in [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
71
+ - `adjusted_term`, `service_period_revision`, `delta`, and `reset` have been added as new values to enum request body parameter `line_items.proration_mode` in [`import_credit_note`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note) of [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
72
+ - `true` and `false` have been added as new values to enum query parameter `metered.is` in [`list_features`](https://apidocs.chargebee.com/docs/api/features/list-features) of [`Feature`](https://apidocs.chargebee.com/docs/api/features).
73
+ - `adjusted_term`, `service_period_revision`, `delta`, and `reset` have been added as new values to enum request body parameter `line_items.proration_mode` in [`import_invoice`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice) of [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
74
+ - `updated_at`, `name`, `created_at`, and `id` have been added as new values to enum query parameter `sort_by.asc` in [`list_all_available_meters`](https://apidocs.chargebee.com/docs/api/meters/list-all-available-meters) of [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
75
+ - `updated_at`, `name`, `created_at`, and `id` have been added as new values to enum query parameter `sort_by.desc` in [`list_all_available_meters`](https://apidocs.chargebee.com/docs/api/meters/list-all-available-meters) of [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
76
+ - `number` and `string` have been added as new values to enum request body parameter `column_definitions.data_type` in [`create_a_metered_feature`](https://apidocs.chargebee.com/docs/api/metered_features/create-a-metered-feature) of [`MeteredFeature`](https://apidocs.chargebee.com/docs/api/metered_features).
77
+ - `paynow`, `bizum`, and `promptpay` have been added as new values to enum request body parameter `payment_method_type` in [`update_a_payment_intent`](https://apidocs.chargebee.com/docs/api/payment_intents/update-a-payment-intent) of [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
78
+ - `paynow`, `bizum`, and `promptpay` have been added as new values to enum request body parameter `payment_method_type` in [`create_a_payment_intent`](https://apidocs.chargebee.com/docs/api/payment_intents/create-a-payment-intent) of [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
79
+ - `true` and `false` have been added as new values to enum query parameter `decommissioned.is` in [`list_subscriptions`](https://apidocs.chargebee.com/docs/api/subscriptions/list-subscriptions) of [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions).
80
+
81
+
82
+
83
+ ### v2.76.0 (2026-07-02)
84
+ * * *
85
+
86
+ ### Bug Fixes:
87
+ - Fixed the packaged gem to include the telemetry sources (`ChargeBee::Telemetry` adapter, related types, and the telemetry executor) that were unintentionally omitted from the `2.75.0` release manifest. No API changes.
88
+
89
+
90
+ ### v2.75.0 (2026-07-01)
91
+ * * *
92
+
93
+ ### New Features
94
+ * Added an optional telemetry adapter hook for tracing Chargebee API calls via OpenTelemetry (or any APM). Configure it via `ChargeBee.configure(site: ..., api_key: ..., telemetry_adapter: adapter)`. When unconfigured, the SDK skips all telemetry work — no behavior change for existing integrations.
95
+ * Each API call emits one CLIENT span (`chargebee.{resource}.{operation}`) with OpenTelemetry HTTP semantic-convention attributes plus `chargebee.*` attributes. Adapters may inject W3C trace context (`traceparent`) into outbound request headers for distributed tracing.
96
+ * Exposed the `TelemetryAdapter`, `RequestTelemetryContext`, `RequestTelemetryResult`, `RequestTelemetryError` types, the `TelemetrySupport` helpers, and the `TelemetryAttributeKeys` constants under the `ChargeBee::Telemetry` module. OpenTelemetry is not bundled with the SDK; bring your own OTel (or APM) gems in the host application.
97
+
98
+
1
99
  ### v2.74.0 (2026-06-12)
2
100
  * * *
3
101
  ### Bug Fixes:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- chargebee (2.74.0)
4
+ chargebee (2.77.0)
5
5
  cgi (>= 0.1.0, < 1.0.0)
6
6
 
7
7
  GEM
@@ -10,7 +10,7 @@ GEM
10
10
  addressable (2.8.7)
11
11
  public_suffix (>= 2.0.2, < 7.0)
12
12
  bigdecimal (3.2.2)
13
- cgi (0.5.1)
13
+ cgi (0.5.2)
14
14
  crack (1.0.0)
15
15
  bigdecimal
16
16
  rexml
data/README.md CHANGED
@@ -131,6 +131,59 @@ ChargeBee::default_env.retry_config = {
131
131
  # ... your Chargebee API operations ...
132
132
  ```
133
133
 
134
+ ### Telemetry (OpenTelemetry)
135
+
136
+ **Optional add-on.** Existing integrations do not need any changes — if you never set a telemetry adapter, API calls behave exactly as before.
137
+
138
+ Pass a `telemetry_adapter` when you want Chargebee API calls traced in your observability stack (Datadog, Splunk, Honeycomb, Jaeger, etc.). OpenTelemetry is **not** bundled with the `chargebee` gem — install and configure OTel (or your APM SDK) in your application, implement `ChargeBee::Telemetry::TelemetryAdapter`, and wire it on the environment.
139
+
140
+ The SDK builds standardized span attributes (`start_attributes`, `end_attributes`) following stable [OpenTelemetry HTTP semantic conventions](https://opentelemetry.io/docs/specs/semconv/http/http-spans/) (`url.full`, `http.request.method`, `http.response.status_code`, `server.address`, `error.type`) plus Chargebee-specific `chargebee.*` attributes (see constants in `ChargeBee::Telemetry::TelemetryAttributeKeys`).
141
+
142
+ Span names follow `chargebee.{resource}.{operation}` (for example, `chargebee.customer.create`). One span is created per SDK API call; retries reuse the same span. Adapter failures are logged and never affect the underlying API request.
143
+
144
+ Configure at startup — pass `telemetry_adapter` in the same `ChargeBee.configure` call. `configure` replaces the default environment, so calling it again without `telemetry_adapter` drops a previously configured adapter:
145
+
146
+ ```ruby
147
+ require 'chargebee'
148
+
149
+ class MyTelemetryAdapter
150
+ include ChargeBee::Telemetry::TelemetryAdapter
151
+
152
+ def on_request_start(context, request_headers)
153
+ # Start a span using context.start_attributes and inject trace headers into request_headers
154
+ nil
155
+ end
156
+
157
+ def on_request_end(handle, result)
158
+ # End the span using result.end_attributes
159
+ end
160
+ end
161
+
162
+ ChargeBee.configure(
163
+ api_key: 'your_api_key',
164
+ site: 'your_site',
165
+ telemetry_adapter: MyTelemetryAdapter.new,
166
+ )
167
+ ```
168
+
169
+ If you pass a custom `ChargeBee::Environment` into resource methods as `env`, set `telemetry_adapter` on that instance — `ChargeBee.configure` only updates the default environment:
170
+
171
+ ```ruby
172
+ env = ChargeBee::Environment.new(
173
+ api_key: 'your_api_key',
174
+ site: 'your_site',
175
+ telemetry_adapter: MyTelemetryAdapter.new,
176
+ )
177
+
178
+ ChargeBee::Customer.list({}, env)
179
+ ```
180
+
181
+ To pass custom `chargebee-*` headers (promoted to `http.request.header.chargebee-*` span attributes), include them in the `headers` argument on resource methods:
182
+
183
+ ```ruby
184
+ ChargeBee::Customer.list({}, nil, { 'chargebee-business-entity-id' => 'entity-id' })
185
+ ```
186
+
134
187
  ## License
135
188
 
136
189
  See the LICENSE file.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.74.0
1
+ 2.77.0
data/chargebee.gemspec CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
  s.required_ruby_version = '>= 1.9.3'
6
6
  s.name = 'chargebee'
7
- s.version = '2.74.0'
8
- s.date = '2026-06-18'
7
+ s.version = '2.77.0'
8
+ s.date = '2026-07-21'
9
9
  s.summary = "Ruby client for Chargebee API."
10
10
  s.description = "Subscription Billing - Simple. Secure. Affordable. More details at www.chargebee.com."
11
11
  s.metadata = {
@@ -47,6 +47,8 @@ Gem::Specification.new do |s|
47
47
  lib/chargebee/models/advance_invoice_schedule.rb
48
48
  lib/chargebee/models/alert.rb
49
49
  lib/chargebee/models/alert_status.rb
50
+ lib/chargebee/models/async_response.rb
51
+ lib/chargebee/models/async_response_list.rb
50
52
  lib/chargebee/models/attached_item.rb
51
53
  lib/chargebee/models/attribute.rb
52
54
  lib/chargebee/models/billing_configuration.rb
@@ -54,6 +56,7 @@ Gem::Specification.new do |s|
54
56
  lib/chargebee/models/business_entity.rb
55
57
  lib/chargebee/models/business_entity_transfer.rb
56
58
  lib/chargebee/models/card.rb
59
+ lib/chargebee/models/column_definition.rb
57
60
  lib/chargebee/models/comment.rb
58
61
  lib/chargebee/models/configuration.rb
59
62
  lib/chargebee/models/contact.rb
@@ -98,6 +101,8 @@ Gem::Specification.new do |s|
98
101
  lib/chargebee/models/ledger_account_balance.rb
99
102
  lib/chargebee/models/ledger_operation.rb
100
103
  lib/chargebee/models/metadata.rb
104
+ lib/chargebee/models/meter.rb
105
+ lib/chargebee/models/metered_feature.rb
101
106
  lib/chargebee/models/model.rb
102
107
  lib/chargebee/models/non_subscription.rb
103
108
  lib/chargebee/models/offer_event.rb
@@ -159,10 +164,20 @@ Gem::Specification.new do |s|
159
164
  lib/chargebee/request.rb
160
165
  lib/chargebee/rest.rb
161
166
  lib/chargebee/result.rb
167
+ lib/chargebee/telemetry/request_telemetry_context.rb
168
+ lib/chargebee/telemetry/request_telemetry_error.rb
169
+ lib/chargebee/telemetry/request_telemetry_result.rb
170
+ lib/chargebee/telemetry/telemetry_adapter.rb
171
+ lib/chargebee/telemetry/telemetry_attribute_keys.rb
172
+ lib/chargebee/telemetry/telemetry_support.rb
173
+ lib/chargebee/telemetry_executor.rb
162
174
  lib/chargebee/util.rb
163
175
  lib/ssl/ca-certs.crt
164
176
  spec/chargebee/list_result_spec.rb
165
177
  spec/chargebee/native_request_spec.rb
178
+ spec/chargebee/request_telemetry_spec.rb
179
+ spec/chargebee/telemetry_executor_spec.rb
180
+ spec/chargebee/telemetry_support_spec.rb
166
181
  spec/chargebee_spec.rb
167
182
  spec/errors_spec.rb
168
183
  spec/sample_response.rb
@@ -10,8 +10,8 @@ module ChargeBee
10
10
  attr_accessor :api_key, :site, :time_machine_sleeptime, :export_sleeptime, :connect_timeout, :read_timeout
11
11
  attr_reader :api_endpoint
12
12
 
13
- # Add retry_config and enable_debug_logs
14
- attr_accessor :retry_config, :enable_debug_logs
13
+ # Add retry_config, enable_debug_logs, and telemetry_adapter
14
+ attr_accessor :retry_config, :enable_debug_logs, :telemetry_adapter
15
15
 
16
16
  def initialize(options)
17
17
  options[:time_machine_sleeptime] ||= TIME_MACHINE_TIMEOUT
@@ -23,6 +23,7 @@ module ChargeBee
23
23
  end
24
24
  @retry_config = options[:retry_config]
25
25
  @enable_debug_logs = options[:enable_debug_logs] || false
26
+ @telemetry_adapter = options[:telemetry_adapter]
26
27
  if($CHARGEBEE_DOMAIN == nil)
27
28
  @api_endpoint = "https://#{@site}.chargebee.com/api/#{API_VERSION}"
28
29
  else
@@ -28,7 +28,7 @@ module ChargeBee
28
28
  options = {
29
29
  :isIdempotent => true
30
30
  }
31
- Request.send('post', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options)
31
+ Request.send('post', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options, "addon", "create")
32
32
  end
33
33
 
34
34
  def self.update(id, params, env=nil, headers={})
@@ -38,21 +38,21 @@ module ChargeBee
38
38
  options = {
39
39
  :isIdempotent => true
40
40
  }
41
- Request.send('post', uri_path("addons",id.to_s), params, env, headers,nil, false, jsonKeys, options)
41
+ Request.send('post', uri_path("addons",id.to_s), params, env, headers,nil, false, jsonKeys, options, "addon", "update")
42
42
  end
43
43
 
44
44
  def self.list(params={}, env=nil, headers={})
45
45
  jsonKeys = {
46
46
  }
47
47
  options = {}
48
- Request.send_list_request('get', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options)
48
+ Request.send_list_request('get', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options, "addon", "list")
49
49
  end
50
50
 
51
51
  def self.retrieve(id, env=nil, headers={})
52
52
  jsonKeys = {
53
53
  }
54
54
  options = {}
55
- Request.send('get', uri_path("addons",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
55
+ Request.send('get', uri_path("addons",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "addon", "retrieve")
56
56
  end
57
57
 
58
58
  def self.delete(id, env=nil, headers={})
@@ -61,7 +61,7 @@ module ChargeBee
61
61
  options = {
62
62
  :isIdempotent => true
63
63
  }
64
- Request.send('post', uri_path("addons",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
64
+ Request.send('post', uri_path("addons",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options, "addon", "delete")
65
65
  end
66
66
 
67
67
  def self.copy(params, env=nil, headers={})
@@ -70,7 +70,7 @@ module ChargeBee
70
70
  options = {
71
71
  :isIdempotent => true
72
72
  }
73
- Request.send('post', uri_path("addons","copy"), params, env, headers,nil, false, jsonKeys, options)
73
+ Request.send('post', uri_path("addons","copy"), params, env, headers,nil, false, jsonKeys, options, "addon", "copy")
74
74
  end
75
75
 
76
76
  def self.unarchive(id, env=nil, headers={})
@@ -79,7 +79,7 @@ module ChargeBee
79
79
  options = {
80
80
  :isIdempotent => true
81
81
  }
82
- Request.send('post', uri_path("addons",id.to_s,"unarchive"), {}, env, headers,nil, false, jsonKeys, options)
82
+ Request.send('post', uri_path("addons",id.to_s,"unarchive"), {}, env, headers,nil, false, jsonKeys, options, "addon", "unarchive")
83
83
  end
84
84
 
85
85
  end # ~Addon
@@ -11,7 +11,7 @@ module ChargeBee
11
11
  jsonKeys = {
12
12
  }
13
13
  options = {}
14
- Request.send('get', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options)
14
+ Request.send('get', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options, "address", "retrieve")
15
15
  end
16
16
 
17
17
  def self.update(params, env=nil, headers={})
@@ -20,7 +20,7 @@ module ChargeBee
20
20
  options = {
21
21
  :isIdempotent => true
22
22
  }
23
- Request.send('post', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options)
23
+ Request.send('post', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options, "address", "update")
24
24
  end
25
25
 
26
26
  end # ~Address
@@ -1,8 +1,16 @@
1
1
  module ChargeBee
2
2
  class Alert < Model
3
3
 
4
- attr_accessor :id, :type, :name, :description, :metered_feature_id, :subscription_id, :status,
5
- :meta, :created_at, :updated_at
4
+ class Threshold < Model
5
+ attr_accessor :mode, :value
6
+ end
7
+
8
+ class FilterCondition < Model
9
+ attr_accessor :field, :operator, :value
10
+ end
11
+
12
+ attr_accessor :id, :type, :name, :description, :metered_feature_id, :currency_code, :subscription_id,
13
+ :status, :meta, :created_at, :updated_at, :threshold, :filter_conditions
6
14
 
7
15
  # OPERATIONS
8
16
  #-----------
@@ -13,21 +21,21 @@ module ChargeBee
13
21
  options = {
14
22
  :isIdempotent => true
15
23
  }
16
- Request.send('post', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options)
24
+ Request.send('post', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options, "alert", "create")
17
25
  end
18
26
 
19
27
  def self.retrieve(id, env=nil, headers={})
20
28
  jsonKeys = {
21
29
  }
22
30
  options = {}
23
- Request.send('get', uri_path("alerts",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
31
+ Request.send('get', uri_path("alerts",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "alert", "retrieve")
24
32
  end
25
33
 
26
34
  def self.list(params={}, env=nil, headers={})
27
35
  jsonKeys = {
28
36
  }
29
37
  options = {}
30
- Request.send_list_request('get', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options)
38
+ Request.send_list_request('get', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options, "alert", "list")
31
39
  end
32
40
 
33
41
  def self.update(id, params={}, env=nil, headers={})
@@ -36,7 +44,7 @@ module ChargeBee
36
44
  options = {
37
45
  :isIdempotent => true
38
46
  }
39
- Request.send('post', uri_path("alerts",id.to_s), params, env, headers,nil, false, jsonKeys, options)
47
+ Request.send('post', uri_path("alerts",id.to_s), params, env, headers,nil, false, jsonKeys, options, "alert", "update")
40
48
  end
41
49
 
42
50
  def self.delete(id, env=nil, headers={})
@@ -45,14 +53,14 @@ module ChargeBee
45
53
  options = {
46
54
  :isIdempotent => true
47
55
  }
48
- Request.send('post', uri_path("alerts",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
56
+ Request.send('post', uri_path("alerts",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options, "alert", "delete")
49
57
  end
50
58
 
51
59
  def self.application_alerts_for_subscription(id, params={}, env=nil, headers={})
52
60
  jsonKeys = {
53
61
  }
54
62
  options = {}
55
- Request.send('get', uri_path("subscriptions",id.to_s,"applicable_alerts"), params, env, headers,nil, false, jsonKeys, options)
63
+ Request.send('get', uri_path("subscriptions",id.to_s,"applicable_alerts"), params, env, headers,nil, false, jsonKeys, options, "alert", "applicationAlertsForSubscription")
56
64
  end
57
65
 
58
66
  end # ~Alert
@@ -10,14 +10,14 @@ module ChargeBee
10
10
  jsonKeys = {
11
11
  }
12
12
  options = {}
13
- Request.send('get', uri_path("subscriptions",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options)
13
+ Request.send('get', uri_path("subscriptions",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options, "alertStatus", "alertStatusesForSubscription")
14
14
  end
15
15
 
16
16
  def self.alert_statuses_for_alert(id, params={}, env=nil, headers={})
17
17
  jsonKeys = {
18
18
  }
19
19
  options = {}
20
- Request.send('get', uri_path("alerts",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options)
20
+ Request.send('get', uri_path("alerts",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options, "alertStatus", "alertStatusesForAlert")
21
21
  end
22
22
 
23
23
  end # ~AlertStatus
@@ -0,0 +1,18 @@
1
+ module ChargeBee
2
+ class AsyncResponse < Model
3
+
4
+ class RequestAsyncApi < Model
5
+ attr_accessor :id, :resource, :operation_type, :method, :uri, :idempotency_key
6
+ end
7
+
8
+ class Error < Model
9
+ attr_accessor :message, :type, :api_error_code, :error_code, :error_msg, :http_status_code
10
+ end
11
+
12
+ attr_accessor :api_version, :created_at, :completed_at, :status, :request, :error_detail, :result
13
+
14
+ # OPERATIONS
15
+ #-----------
16
+
17
+ end # ~AsyncResponse
18
+ end # ~ChargeBee
@@ -0,0 +1,10 @@
1
+ module ChargeBee
2
+ class AsyncResponseList < Model
3
+
4
+ attr_accessor :list
5
+
6
+ # OPERATIONS
7
+ #-----------
8
+
9
+ end # ~AsyncResponseList
10
+ end # ~ChargeBee
@@ -14,7 +14,7 @@ module ChargeBee
14
14
  options = {
15
15
  :isIdempotent => true
16
16
  }
17
- Request.send('post', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options)
17
+ Request.send('post', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "create")
18
18
  end
19
19
 
20
20
  def self.update(id, params, env=nil, headers={})
@@ -23,14 +23,14 @@ module ChargeBee
23
23
  options = {
24
24
  :isIdempotent => true
25
25
  }
26
- Request.send('post', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options)
26
+ Request.send('post', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "update")
27
27
  end
28
28
 
29
29
  def self.retrieve(id, params, env=nil, headers={})
30
30
  jsonKeys = {
31
31
  }
32
32
  options = {}
33
- Request.send('get', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options)
33
+ Request.send('get', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "retrieve")
34
34
  end
35
35
 
36
36
  def self.delete(id, params, env=nil, headers={})
@@ -39,14 +39,14 @@ module ChargeBee
39
39
  options = {
40
40
  :isIdempotent => true
41
41
  }
42
- Request.send('post', uri_path("attached_items",id.to_s,"delete"), params, env, headers,nil, false, jsonKeys, options)
42
+ Request.send('post', uri_path("attached_items",id.to_s,"delete"), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "delete")
43
43
  end
44
44
 
45
45
  def self.list(id, params={}, env=nil, headers={})
46
46
  jsonKeys = {
47
47
  }
48
48
  options = {}
49
- Request.send_list_request('get', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options)
49
+ Request.send_list_request('get', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "list")
50
50
  end
51
51
 
52
52
  end # ~AttachedItem
@@ -12,14 +12,14 @@ module ChargeBee
12
12
  options = {
13
13
  :isIdempotent => true
14
14
  }
15
- Request.send('post', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options)
15
+ Request.send('post', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options, "businessEntity", "createTransfers")
16
16
  end
17
17
 
18
18
  def self.get_transfers(params={}, env=nil, headers={})
19
19
  jsonKeys = {
20
20
  }
21
21
  options = {}
22
- Request.send('get', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options)
22
+ Request.send('get', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options, "businessEntity", "getTransfers")
23
23
  end
24
24
 
25
25
  end # ~BusinessEntity
@@ -14,7 +14,7 @@ module ChargeBee
14
14
  jsonKeys = {
15
15
  }
16
16
  options = {}
17
- Request.send('get', uri_path("cards",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
17
+ Request.send('get', uri_path("cards",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "card", "retrieve")
18
18
  end
19
19
 
20
20
  def self.update_card_for_customer(id, params, env=nil, headers={})
@@ -23,7 +23,7 @@ module ChargeBee
23
23
  options = {
24
24
  :isIdempotent => true
25
25
  }
26
- Request.send('post', uri_path("customers",id.to_s,"credit_card"), params, env, headers,nil, false, jsonKeys, options)
26
+ Request.send('post', uri_path("customers",id.to_s,"credit_card"), params, env, headers,nil, false, jsonKeys, options, "card", "updateCardForCustomer")
27
27
  end
28
28
 
29
29
  def self.switch_gateway_for_customer(id, params, env=nil, headers={})
@@ -32,7 +32,7 @@ module ChargeBee
32
32
  options = {
33
33
  :isIdempotent => true
34
34
  }
35
- Request.send('post', uri_path("customers",id.to_s,"switch_gateway"), params, env, headers,nil, false, jsonKeys, options)
35
+ Request.send('post', uri_path("customers",id.to_s,"switch_gateway"), params, env, headers,nil, false, jsonKeys, options, "card", "switchGatewayForCustomer")
36
36
  end
37
37
 
38
38
  def self.copy_card_for_customer(id, params, env=nil, headers={})
@@ -41,7 +41,7 @@ module ChargeBee
41
41
  options = {
42
42
  :isIdempotent => true
43
43
  }
44
- Request.send('post', uri_path("customers",id.to_s,"copy_card"), params, env, headers,nil, false, jsonKeys, options)
44
+ Request.send('post', uri_path("customers",id.to_s,"copy_card"), params, env, headers,nil, false, jsonKeys, options, "card", "copyCardForCustomer")
45
45
  end
46
46
 
47
47
  def self.delete_card_for_customer(id, env=nil, headers={})
@@ -50,7 +50,7 @@ module ChargeBee
50
50
  options = {
51
51
  :isIdempotent => true
52
52
  }
53
- Request.send('post', uri_path("customers",id.to_s,"delete_card"), {}, env, headers,nil, false, jsonKeys, options)
53
+ Request.send('post', uri_path("customers",id.to_s,"delete_card"), {}, env, headers,nil, false, jsonKeys, options, "card", "deleteCardForCustomer")
54
54
  end
55
55
 
56
56
  end # ~Card
@@ -0,0 +1,10 @@
1
+ module ChargeBee
2
+ class ColumnDefinition < Model
3
+
4
+ attr_accessor :column_name, :data_type
5
+
6
+ # OPERATIONS
7
+ #-----------
8
+
9
+ end # ~ColumnDefinition
10
+ end # ~ChargeBee
@@ -12,21 +12,21 @@ module ChargeBee
12
12
  options = {
13
13
  :isIdempotent => true
14
14
  }
15
- Request.send('post', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options)
15
+ Request.send('post', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options, "comment", "create")
16
16
  end
17
17
 
18
18
  def self.retrieve(id, env=nil, headers={})
19
19
  jsonKeys = {
20
20
  }
21
21
  options = {}
22
- Request.send('get', uri_path("comments",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
22
+ Request.send('get', uri_path("comments",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "comment", "retrieve")
23
23
  end
24
24
 
25
25
  def self.list(params={}, env=nil, headers={})
26
26
  jsonKeys = {
27
27
  }
28
28
  options = {}
29
- Request.send_list_request('get', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options)
29
+ Request.send_list_request('get', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options, "comment", "list")
30
30
  end
31
31
 
32
32
  def self.delete(id, env=nil, headers={})
@@ -35,7 +35,7 @@ module ChargeBee
35
35
  options = {
36
36
  :isIdempotent => true
37
37
  }
38
- Request.send('post', uri_path("comments",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
38
+ Request.send('post', uri_path("comments",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options, "comment", "delete")
39
39
  end
40
40
 
41
41
  end # ~Comment