Initial commit

This commit is contained in:
2025-10-02 08:54:03 +02:00
commit ea54638227
1642 changed files with 53677 additions and 0 deletions

620
types/bigCommerceRestAPITypes.d.ts vendored Normal file
View File

@@ -0,0 +1,620 @@
interface OAuthConfig {
clientId: string
clientSecret: string
authCallback: string
loginHost?: string
}
interface RestClientConfig {
storeHash: string
accessToken: string
apiHost?: string
rateLimitConfig?: RateLimitConfig
}
interface RateLimitStatus {
msToReset: number
nextWindowTime: Date
windowSize: number
requestsRemaining: number
requestsQuota: number
}
type CallbackParams = {
[key: string]: unknown
}
interface RateLimitConfig {
minRequestsRemaining: number
enableWait: boolean
callbackParams?: CallbackParams
callback?(params?: CallbackParams): void
}
interface AuthCallbackQueryParams {
code: string
scope: string
context: string
}
interface AuthResponsePayload {
access_token: string
scope: string
user: User
context: string
account_uuid: string
}
interface User {
id: number
username: string
email: string
}
interface VerifiedJwt {
aud: string
iss: string
iat: number
nbf: number
exp: number
jti: string
sub: string
user: {
id: number
email: string
}
owner: {
id: number
email: string
}
url: string
}
interface FormField {
name: string
value: string
}
interface OrderProduct {
name: string
name_customer?: string
name_merchant?: string
quantity: number
price_inc_tax: number
price_ex_tax: number
upc?: string
sku?: string
}
interface OrderProductOptions {
id?: number
value?: string
display_name?: string
display_name_customer?: string
display_name_merchant?: string
display_value?: string
display_value_merchant?: string
display_value_customer?: string
}
interface OrderProductsProductOptions extends Required<OrderProductOptions> {
option_id: number
order_product_id: number
product_option_id: number
type: string
name: string
display_style: string
}
interface OrderProductsAppliedDiscounts {
id: string
amount: string
name: string
code: string | null
target: string
}
type OrderProductsUpdate = Partial<Omit<OrderProduct, "sku">> & {
id?: number
product_id?: number
product_options?: OrderProductOptions[]
variant_id?: number
wrapping_name?: string
wrapping_message?: string
wrapping_cost_ex_tax?: number
wrapping_cost_inc_tax?: number
}
interface OrderBillingAddress {
first_name?: string
last_name?: string
company?: string
street_1?: string
street_2?: string
city?: string
state?: string
zip: string
country?: string
country_iso2?: string
phone?: string
email?: string
form_fields?: FormField[]
}
interface OrderShipmentItem {
order_product_id: number
product_id: number
quantity: number
}
interface LinkedResource {
url: string
resource: string
}
interface OrderStatus extends V2OrderCountResponseBase {
id: number
name: string
system_label: string
custom_label: string
system_description: string
sort_order: number
}
interface OrderShippingAddress {
first_name?: string
last_name?: string
company?: string
street_1?: string
street_2?: string
city?: string
state?: string
zip?: string
country?: string
country_iso2?: string
phone?: string
email?: string
shipping_method?: string
}
interface V2OrderResponseBase {
id: number
statusSetAt: Date
tibiId?: string
status?: PrintfulStates
date_modified: string
date_shipped: string
cart_id: string
status: string
subtotal_tax: string
shipping_cost_tax: string
shipping_cost_tax_class_id: number
handling_cost_tax: string
handling_cost_tax_class_id: number
wrapping_cost_tax: string
wrapping_cost_tax_class_id: number
payment_status: string
store_credit_amount: string
gift_certificate_amount: string
currency_id: number
currency_code: string
currency_exchange_rate: string
default_currency_id: number
default_currency_code: string
store_default_currency_code: string
store_default_to_transactional_exchange_rate: string
coupon_discount: string
shipping_address_count: number
is_email_opt_in: boolean
order_source: string
products: LinkedResource
productObjs?: V2OrderProductsResponseBase[]
shipping_addresses: LinkedResource
shipping_addressObjs?: V2OrderShippingAddressesResponseBase[]
coupons: LinkedResource
status_id: number
base_handling_cost: string
base_shipping_cost: string
base_wrapping_cost: string
billing_address: Required<OrderBillingAddress>
channel_id: number
customer_id: number
customer_message: string
date_created: string
discount_amount: string
ebay_order_id: string
external_id: string
external_merchant_id: string
external_source: string
geoip_country: string
geoip_country_iso2: string
handling_cost_ex_tax: string
handling_cost_inc_tax: string
ip_address: string
ip_address_v6: string
is_deleted: boolean
items_shipped: number
items_total: number
order_is_digital: boolean
payment_method: string
payment_provider_id: string | number
refunded_amount: string
shipping_cost_ex_tax: string
shipping_cost_inc_tax: string
staff_notes: string
subtotal_ex_tax: string
subtotal_inc_tax: string
tax_provider_id: string
customer_locale: string
total_ex_tax: string
total_inc_tax: string
wrapping_cost_ex_tax: string
wrapping_cost_inc_tax: string
shipments?: PrintfulShipment[]
}
interface V2OrderRequestBase {
products: OrderProduct[]
shipping_addresses?: OrderShippingAddress[]
base_handling_cost?: string
base_shipping_cost?: string
base_wrapping_cost?: string
billing_address: OrderBillingAddress
channel_id?: number
customer_id?: number
customer_message?: string
date_created?: string
default_currency_code?: string
discount_amount?: string
ebay_order_id?: string
external_id?: string
external_merchant_id?: string
external_source?: string
geoip_country?: string
geoip_country_iso2?: string
handling_cost_ex_tax?: string
handling_cost_inc_tax?: string
ip_address?: string
ip_address_v6?: string
is_deleted?: boolean
items_shipped?: number
items_total?: number
order_is_digital?: boolean
payment_method?: string
payment_provider_id?: string
refunded_amount?: string
shipping_cost_ex_tax?: string
shipping_cost_inc_tax?: string
staff_notes?: string
status_id?: number
subtotal_ex_tax?: string
subtotal_inc_tax?: string
tax_provider_id?: string
customer_locale?: string
total_ex_tax?: string
total_inc_tax?: string
wrapping_cost_ex_tax?: string
wrapping_cost_inc_tax?: string
}
type V2OrderUpdateRequest = Partial<Omit<V2OrderRequestBase, "products" | "billing_address">> & {
products?: Partial<OrderProductsUpdate[]>
billing_address?: Partial<OrderBillingAddress>
}
interface V2OrderFiltersBase {
[key: string]: unknown
limit?: number
page?: number
}
interface V2OrdersListFilters extends V2OrderFiltersBase {
cart_id?: string
channel_id?: number
customer_id?: number
email?: string
is_deleted?: boolean
max_date_created?: string
max_date_modified?: string
max_id?: number
max_total?: number
min_date_created?: string
min_date_modified?: string
min_id?: number
min_total?: number
payment_method?: string
sort?: string
status_id?: number
}
interface V2OrderTaxesListFilters extends V2OrderFiltersBase {
details?: string
}
interface V2OrderMessagesListFilters extends V2OrderFiltersBase {
customer_id?: number
is_flagged?: boolean
max_date_created?: string
max_id?: number
min_date_created?: string
min_id?: number
status?: string
}
interface V2OrderCountResponseBase {
count: number
}
interface V2OrderCountResponse extends V2OrderCountResponseBase {
statuses: OrderStatus[]
}
interface V2OrderShipmentsResponseBase {
id: number
order_id: number
customer_id: number
order_address_id: number
date_created: string
tracking_number: string
shipping_method: string
shipping_provider: string
tracking_carrier: string
tracking_link: string
comments: string
billing_address: Required<OrderBillingAddress>
shipping_address: Required<OrderShippingAddress>
items: OrderShipmentItem[]
}
interface V2OrderShippingAddressesResponseBase extends Required<OrderShippingAddress> {
id: number
order_id: number
items_total: number
items_shipped: number
base_cost: string
cost_ex_tax: string
cost_inc_tax: string
cost_tax: string
cost_tax_class_id: number
base_handling_cost: string
handling_cost_ex_tax: string
handling_cost_inc_tax: string
handling_cost_tax: string
handling_cost_tax_class_id: number
shipping_zone_id: number
shipping_zone_name: string
form_fields: FormField[]
shipping_quotes: LinkedResource
}
interface V2OrderProductsResponseBase {
id: number
order_id: number
product_id: number
order_address_id: number
name: string
sku: string
type: string
base_price: string
price_ex_tax: string
price_inc_tax: string
price_tax: string
base_total: string
total_ex_tax: string
total_inc_tax: string
total_tax: string
quantity: number
base_cost_price: string
cost_price_inc_tax: string
cost_price_ex_tax: string
weight: number | string
cost_price_tax: string
is_refunded: boolean
refunded_amount: string
return_id: number
wrapping_name: string
base_wrapping_cost: string
wrapping_cost_ex_tax: string
wrapping_cost_inc_tax: string
wrapping_cost_tax: string
wrapping_message: string
quantity_shipped: number
event_name: string
event_date: string
fixed_shipping_cost: string
ebay_item_id: string
ebay_transaction_id: string
option_set_id: number
parent_order_product_id: number
is_bundled_product: boolean
bin_picking_number: string
applied_discounts: OrderProductsAppliedDiscounts[]
product_options: OrderProductsProductOptions[]
external_id: string
upc: string
variant_id: number
name_customer: string
name_merchant: string
}
interface V2OrderStatusResponseBase {
id: number
name: string
system_label: string
custom_label: string
system_description: string
}
interface V2OrderShipmentsRequestBodyBase {
order_address_id: number
tracking_number?: string
shiping_method?: string
shipping_provider?: string
tracking_carrier?: string
comments?: string
items: Omit<OrderShipmentItem, "product_id">[]
}
type V2OrderShipmentsUpdateRequest = Partial<Omit<V2OrderShipmentsRequestBodyBase, "items">>
interface V2OrderCouponsResponseBase {
id: number
coupon_id: number
order_id: number
code: string | null
amount: string | number
type: number
discount: number
}
interface V2OrderTaxesResponseBase {
id: number
order_id: number
order_address_id: number
tax_rate_id: number
tax_class_id: number
name: string
class: string
rate: string
priority: number
priority_amount: number
line_amount: string
order_product_id: string
line_item_type: "item" | "shipping" | "handling" | "gift-wrapping"
}
interface V2OrderMessagesResponseBase {
id: number
order_id: number
staff_id: number
customer_id: number
type: string
subject: string
message: string
status: string
is_flagged: boolean
date_created: string
customer: unknown
}
interface V2OrderShippingQuotesResponseBase {
id: string
uuid: string
timestamp: string
shipping_provider_id: string
shipping_provider_quote: [] | Record<string, unknown>[]
provider_code: string
carrier_code: string
rate_code: string
rate_id: string
method_id: number
}
interface ProductImage {
id: number
product_id: number
is_thumbnail: boolean
sort_order: number
description: string
image_file: string
url_zoom: string
url_standard: string
url_thumbnail: string
url_tiny: string
date_modified: string
}
interface RestApiCart {
id: string
parent_id: string | null
customer_id: number
email: string
currency: {
code: string
}
tax_included: boolean
base_amount: number
discount_amount: number
cart_amount: number
coupons: RestApiCoupon[]
discounts: RestApiDiscount[]
line_items: RestApiLineItems
created_time: string
updated_time: string
channel_id: number
locale: string
}
interface RestApiCoupon {
code: string
id: string
coupon_type: "0" | "1" | "2" | "3" | "4" | "5"
discounted_amount: number
}
interface RestApiDiscount {
id: string
discounted_amount: number
}
interface RestApiLineItems {
physical_items: RestApiPhysicalItem[]
digital_items: RestApiItem[]
gift_certificates: RestApiGiftCertificate[]
custom_items: RestApiCustomItem[]
}
interface RestApiPhysicalItem extends RestApiItem {
variant_id: number
product_id: number
weight: number
dimensions: {
height: number
width: number
depth: number
}
}
interface RestApiItem {
id: string
sku: string
name: string
quantity: number
is_taxable: boolean
image_url: string
discounts: RestApiDiscount[]
coupon_amount: number
discount_amount: number
original_price: number
list_price: number
sale_price: number
extended_list_price: number
extended_sale_price: number
options: RestApiOption[]
url: string
}
interface RestApiGiftCertificate {
// Add Gift Certificate specific fields here
}
interface RestApiCustomItem {
// Add Custom Item specific fields here
}
interface RestApiOption {
// Add Option specific fields here
gift_wrapping?: {
// Add Gift Wrapping details here
}
}
interface RestWishlistItem {
id?: number
product_id: number
variant_id: number
}
interface RestWishlist {
id: number
customer_id: number
is_public: boolean
name: string
items: RestWishlistItem[]
}