UNPKG

chargebee

Version:

A library for integrating with Chargebee.

213 lines (197 loc) 6.22 kB
///<reference path='./../core.d.ts'/> ///<reference path='./../index.d.ts'/> ///<reference path='./filter.d.ts'/> declare module 'chargebee' { export interface Item { [key: string]: unknown; id: string; name: string; external_name?: string; description?: string; status?: 'active' | 'archived' | 'deleted'; resource_version?: number; updated_at?: number; item_family_id?: string; type: 'plan' | 'addon' | 'charge'; is_shippable?: boolean; is_giftable: boolean; redirect_url?: string; enabled_for_checkout: boolean; enabled_in_portal: boolean; included_in_mrr?: boolean; item_applicability?: 'all' | 'restricted'; gift_claim_redirect_url?: string; unit?: string; metered: boolean; usage_calculation?: 'sum_of_usages' | 'last_usage' | 'max_usage'; is_percentage_pricing?: boolean; archived_at?: number; channel?: ChannelEnum; applicable_items?: Item.ApplicableItem[]; bundle_items?: Item.BundleItem[]; bundle_configuration?: Item.BundleConfiguration; metadata?: any; deleted: boolean; business_entity_id?: string; } export namespace Item { export class ItemResource { create( input: CreateInputParam, headers?: ChargebeeRequestHeader, ): Promise<ChargebeeResponse<CreateResponse>>; retrieve( item_id: string, headers?: ChargebeeRequestHeader, ): Promise<ChargebeeResponse<RetrieveResponse>>; update( item_id: string, input?: UpdateInputParam, headers?: ChargebeeRequestHeader, ): Promise<ChargebeeResponse<UpdateResponse>>; list( input?: ListInputParam, headers?: ChargebeeRequestHeader, ): Promise<ChargebeeResponse<ListResponse>>; delete( item_id: string, headers?: ChargebeeRequestHeader, ): Promise<ChargebeeResponse<DeleteResponse>>; } export interface CreateResponse { item: Item; } export interface RetrieveResponse { item: Item; } export interface UpdateResponse { item: Item; } export interface ListResponse { list: { item: Item }[]; next_offset?: string; } export interface DeleteResponse { item: Item; } export interface ApplicableItem { id?: string; } export interface BundleItem { item_id: string; item_type?: 'plan' | 'addon' | 'charge'; quantity?: number; price_allocation?: number; } export interface BundleConfiguration { type?: 'fixed'; } // REQUEST PARAMS //--------------- export interface CreateInputParam { id: string; name: string; type: 'plan' | 'addon' | 'charge'; description?: string; item_family_id: string; is_giftable?: boolean; is_shippable?: boolean; external_name?: string; enabled_in_portal?: boolean; redirect_url?: string; enabled_for_checkout?: boolean; item_applicability?: 'all' | 'restricted'; applicable_items?: string[]; unit?: string; gift_claim_redirect_url?: string; included_in_mrr?: boolean; metered?: boolean; usage_calculation?: 'sum_of_usages' | 'last_usage' | 'max_usage'; is_percentage_pricing?: boolean; metadata?: any; business_entity_id?: string; bundle_configuration?: BundleConfigurationCreateInputParam; bundle_items_to_add?: BundleItemsToAddCreateInputParam[]; [key: `cf_${string}`]: unknown; } export interface UpdateInputParam { name?: string; description?: string; is_shippable?: boolean; external_name?: string; item_family_id?: string; enabled_in_portal?: boolean; redirect_url?: string; enabled_for_checkout?: boolean; item_applicability?: 'all' | 'restricted' /** * @deprecated Please refer API docs to use other attributes */; clear_applicable_items?: boolean; applicable_items?: string[]; unit?: string; gift_claim_redirect_url?: string; metadata?: any; included_in_mrr?: boolean; status?: 'active' | 'archived'; is_percentage_pricing?: boolean; bundle_configuration?: BundleConfigurationUpdateInputParam; bundle_items_to_add?: BundleItemsToAddUpdateInputParam[]; bundle_items_to_update?: BundleItemsToUpdateUpdateInputParam[]; bundle_items_to_remove?: BundleItemsToRemoveUpdateInputParam[]; [key: `cf_${string}`]: unknown; } export interface ListInputParam { limit?: number; offset?: string; bundle_configuration?: BundleConfigurationItemListInputParam; id?: filter.String; item_family_id?: filter.String; type?: filter.Enum; name?: filter.String; item_applicability?: filter.Enum; status?: filter.Enum; is_giftable?: filter.Boolean; updated_at?: filter.Timestamp; enabled_for_checkout?: filter.Boolean; enabled_in_portal?: filter.Boolean; metered?: filter.Boolean; usage_calculation?: filter.Enum; channel?: filter.Enum; business_entity_id?: filter.String; include_site_level_resources?: filter.Boolean; 'sort_by[asc]'?: string; 'sort_by[desc]'?: string; } export interface BundleConfigurationCreateInputParam { type?: 'fixed'; } export interface BundleItemsToAddCreateInputParam { item_id?: string; item_type?: ItemTypeEnum; quantity?: number; price_allocation?: number; } export interface BundleConfigurationUpdateInputParam { type?: 'fixed'; } export interface BundleItemsToAddUpdateInputParam { item_id?: string; item_type?: ItemTypeEnum; quantity?: number; price_allocation?: number; } export interface BundleItemsToUpdateUpdateInputParam { item_id?: string; item_type?: ItemTypeEnum; quantity?: number; price_allocation?: number; } export interface BundleItemsToRemoveUpdateInputParam { item_id?: string; item_type?: ItemTypeEnum; } export interface BundleConfigurationItemListInputParam { type?: filter.Enum; } } }