@spree/docs 0.1.219 → 0.1.221
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.
|
@@ -2010,8 +2010,8 @@ paths:
|
|
|
2010
2010
|
coupon_code:
|
|
2011
2011
|
item_total: '0.0'
|
|
2012
2012
|
display_item_total: "$0.00"
|
|
2013
|
-
adjustment_total: '
|
|
2014
|
-
display_adjustment_total: "$
|
|
2013
|
+
adjustment_total: '17.0'
|
|
2014
|
+
display_adjustment_total: "$17.00"
|
|
2015
2015
|
discount_total: '0.0'
|
|
2016
2016
|
display_discount_total: "$0.00"
|
|
2017
2017
|
tax_total: '0.0'
|
|
@@ -2020,16 +2020,16 @@ paths:
|
|
|
2020
2020
|
display_included_tax_total: "$0.00"
|
|
2021
2021
|
additional_tax_total: '0.0'
|
|
2022
2022
|
display_additional_tax_total: "$0.00"
|
|
2023
|
-
total: '
|
|
2024
|
-
display_total: "$
|
|
2023
|
+
total: '17.0'
|
|
2024
|
+
display_total: "$17.00"
|
|
2025
2025
|
gift_card_total: '0.0'
|
|
2026
2026
|
display_gift_card_total: "$0.00"
|
|
2027
|
-
amount_due: '
|
|
2028
|
-
display_amount_due: "$
|
|
2027
|
+
amount_due: '17.0'
|
|
2028
|
+
display_amount_due: "$17.00"
|
|
2029
2029
|
delivery_total: '0.0'
|
|
2030
2030
|
display_delivery_total: "$0.00"
|
|
2031
|
-
fee_total: '
|
|
2032
|
-
display_fee_total: "$
|
|
2031
|
+
fee_total: '17.0'
|
|
2032
|
+
display_fee_total: "$17.00"
|
|
2033
2033
|
store_credit_total: '0.0'
|
|
2034
2034
|
display_store_credit_total: "$0.00"
|
|
2035
2035
|
covered_by_store_credit: false
|
|
@@ -2044,13 +2044,31 @@ paths:
|
|
|
2044
2044
|
step: address
|
|
2045
2045
|
field: email
|
|
2046
2046
|
message: Email address is required
|
|
2047
|
+
- code: payment_required
|
|
2048
|
+
step: payment
|
|
2049
|
+
field: payment
|
|
2050
|
+
message: Add a payment method
|
|
2047
2051
|
order_minimum:
|
|
2048
2052
|
order_minimum_shortfall:
|
|
2049
2053
|
below_order_minimum: false
|
|
2050
2054
|
freight_summary:
|
|
2051
2055
|
shipping_eq_billing_address: true
|
|
2052
2056
|
discounts: []
|
|
2053
|
-
fees:
|
|
2057
|
+
fees:
|
|
2058
|
+
- id: fee_UkLWZg9DAJ
|
|
2059
|
+
label: Gift wrapping
|
|
2060
|
+
kind: gift_wrap
|
|
2061
|
+
line_item_id:
|
|
2062
|
+
fulfillment_id:
|
|
2063
|
+
amount: '5.0'
|
|
2064
|
+
display_amount: "$5.00"
|
|
2065
|
+
- id: fee_gbHJdmfrXB
|
|
2066
|
+
label: Import duty
|
|
2067
|
+
kind: duty
|
|
2068
|
+
line_item_id:
|
|
2069
|
+
fulfillment_id:
|
|
2070
|
+
amount: '12.0'
|
|
2071
|
+
display_amount: "$12.00"
|
|
2054
2072
|
items: []
|
|
2055
2073
|
fulfillments: []
|
|
2056
2074
|
payments: []
|
|
@@ -5665,8 +5683,8 @@ paths:
|
|
|
5665
5683
|
completed_at: '2026-01-15T12:00:00.000Z'
|
|
5666
5684
|
item_total: '10.0'
|
|
5667
5685
|
display_item_total: "$10.00"
|
|
5668
|
-
adjustment_total: '
|
|
5669
|
-
display_adjustment_total: "$
|
|
5686
|
+
adjustment_total: '12.0'
|
|
5687
|
+
display_adjustment_total: "$12.00"
|
|
5670
5688
|
discount_total: '0.0'
|
|
5671
5689
|
display_discount_total: "$0.00"
|
|
5672
5690
|
tax_total: '0.0'
|
|
@@ -5675,21 +5693,28 @@ paths:
|
|
|
5675
5693
|
display_included_tax_total: "$0.00"
|
|
5676
5694
|
additional_tax_total: '0.0'
|
|
5677
5695
|
display_additional_tax_total: "$0.00"
|
|
5678
|
-
total: '
|
|
5679
|
-
display_total: "$
|
|
5696
|
+
total: '122.0'
|
|
5697
|
+
display_total: "$122.00"
|
|
5680
5698
|
gift_card_total: '0.0'
|
|
5681
5699
|
display_gift_card_total: "$0.00"
|
|
5682
|
-
amount_due: '
|
|
5683
|
-
display_amount_due: "$
|
|
5700
|
+
amount_due: '122.0'
|
|
5701
|
+
display_amount_due: "$122.00"
|
|
5684
5702
|
delivery_total: '100.0'
|
|
5685
5703
|
display_delivery_total: "$100.00"
|
|
5686
|
-
fee_total: '
|
|
5687
|
-
display_fee_total: "$
|
|
5704
|
+
fee_total: '12.0'
|
|
5705
|
+
display_fee_total: "$12.00"
|
|
5688
5706
|
store_credit_total: '0.0'
|
|
5689
5707
|
display_store_credit_total: "$0.00"
|
|
5690
5708
|
covered_by_store_credit: false
|
|
5691
5709
|
discounts: []
|
|
5692
|
-
fees:
|
|
5710
|
+
fees:
|
|
5711
|
+
- id: fee_UkLWZg9DAJ
|
|
5712
|
+
label: Import duty
|
|
5713
|
+
kind: duty
|
|
5714
|
+
line_item_id:
|
|
5715
|
+
fulfillment_id:
|
|
5716
|
+
amount: '12.0'
|
|
5717
|
+
display_amount: "$12.00"
|
|
5693
5718
|
items:
|
|
5694
5719
|
- id: li_UkLWZg9DAJ
|
|
5695
5720
|
variant_id: variant_UkLWZg9DAJ
|
|
@@ -12395,7 +12420,17 @@ components:
|
|
|
12395
12420
|
number:
|
|
12396
12421
|
type: string
|
|
12397
12422
|
status:
|
|
12398
|
-
|
|
12423
|
+
anyOf:
|
|
12424
|
+
- type: string
|
|
12425
|
+
enum:
|
|
12426
|
+
- open
|
|
12427
|
+
- approved
|
|
12428
|
+
- resolved
|
|
12429
|
+
- denied
|
|
12430
|
+
- canceled
|
|
12431
|
+
- type: string
|
|
12432
|
+
description: The values listed are the built-in ones; extensions may add
|
|
12433
|
+
more.
|
|
12399
12434
|
resolution:
|
|
12400
12435
|
type: string
|
|
12401
12436
|
nullable: true
|
|
@@ -12508,6 +12543,11 @@ components:
|
|
|
12508
12543
|
type: string
|
|
12509
12544
|
status:
|
|
12510
12545
|
type: string
|
|
12546
|
+
enum:
|
|
12547
|
+
- pending
|
|
12548
|
+
- accepted
|
|
12549
|
+
- revoked
|
|
12550
|
+
- expired
|
|
12511
12551
|
required:
|
|
12512
12552
|
- id
|
|
12513
12553
|
- email
|
|
@@ -12542,6 +12582,9 @@ components:
|
|
|
12542
12582
|
type: string
|
|
12543
12583
|
kind:
|
|
12544
12584
|
type: string
|
|
12585
|
+
enum:
|
|
12586
|
+
- company
|
|
12587
|
+
- division
|
|
12545
12588
|
po_number_required:
|
|
12546
12589
|
type: boolean
|
|
12547
12590
|
parent_id:
|
|
@@ -12745,8 +12788,20 @@ components:
|
|
|
12745
12788
|
type: string
|
|
12746
12789
|
kind:
|
|
12747
12790
|
type: string
|
|
12791
|
+
enum:
|
|
12792
|
+
- access
|
|
12793
|
+
- erasure
|
|
12748
12794
|
status:
|
|
12749
|
-
|
|
12795
|
+
anyOf:
|
|
12796
|
+
- type: string
|
|
12797
|
+
enum:
|
|
12798
|
+
- pending
|
|
12799
|
+
- processing
|
|
12800
|
+
- completed
|
|
12801
|
+
- failed
|
|
12802
|
+
- type: string
|
|
12803
|
+
description: The values listed are the built-in ones; extensions may add
|
|
12804
|
+
more.
|
|
12750
12805
|
requested_at:
|
|
12751
12806
|
type: string
|
|
12752
12807
|
nullable: true
|
|
@@ -12770,8 +12825,20 @@ components:
|
|
|
12770
12825
|
type: string
|
|
12771
12826
|
kind:
|
|
12772
12827
|
type: string
|
|
12828
|
+
enum:
|
|
12829
|
+
- access
|
|
12830
|
+
- erasure
|
|
12773
12831
|
status:
|
|
12774
|
-
|
|
12832
|
+
anyOf:
|
|
12833
|
+
- type: string
|
|
12834
|
+
enum:
|
|
12835
|
+
- pending
|
|
12836
|
+
- processing
|
|
12837
|
+
- completed
|
|
12838
|
+
- failed
|
|
12839
|
+
- type: string
|
|
12840
|
+
description: The values listed are the built-in ones; extensions may add
|
|
12841
|
+
more.
|
|
12775
12842
|
requested_at:
|
|
12776
12843
|
type: string
|
|
12777
12844
|
nullable: true
|
|
@@ -12914,6 +12981,16 @@ components:
|
|
|
12914
12981
|
nullable: true
|
|
12915
12982
|
status:
|
|
12916
12983
|
type: string
|
|
12984
|
+
enum:
|
|
12985
|
+
- pending
|
|
12986
|
+
- pre_transit
|
|
12987
|
+
- in_transit
|
|
12988
|
+
- out_for_delivery
|
|
12989
|
+
- available_for_pickup
|
|
12990
|
+
- delivered
|
|
12991
|
+
- return_to_sender
|
|
12992
|
+
- failure
|
|
12993
|
+
- unknown
|
|
12917
12994
|
tracking_url:
|
|
12918
12995
|
type: string
|
|
12919
12996
|
nullable: true
|
|
@@ -12941,6 +13018,10 @@ components:
|
|
|
12941
13018
|
type: string
|
|
12942
13019
|
member_type:
|
|
12943
13020
|
type: string
|
|
13021
|
+
enum:
|
|
13022
|
+
- country
|
|
13023
|
+
- state
|
|
13024
|
+
- postal_code
|
|
12944
13025
|
country_code:
|
|
12945
13026
|
type: string
|
|
12946
13027
|
nullable: true
|
|
@@ -13054,6 +13135,9 @@ components:
|
|
|
13054
13135
|
type: string
|
|
13055
13136
|
kind:
|
|
13056
13137
|
type: string
|
|
13138
|
+
enum:
|
|
13139
|
+
- promotion
|
|
13140
|
+
- manual
|
|
13057
13141
|
code:
|
|
13058
13142
|
type: string
|
|
13059
13143
|
nullable: true
|
|
@@ -13099,7 +13183,19 @@ components:
|
|
|
13099
13183
|
label:
|
|
13100
13184
|
type: string
|
|
13101
13185
|
kind:
|
|
13102
|
-
|
|
13186
|
+
anyOf:
|
|
13187
|
+
- type: string
|
|
13188
|
+
enum:
|
|
13189
|
+
- surcharge
|
|
13190
|
+
- handling
|
|
13191
|
+
- gift_wrap
|
|
13192
|
+
- cod
|
|
13193
|
+
- payment
|
|
13194
|
+
- duty
|
|
13195
|
+
- type: string
|
|
13196
|
+
description: What sort of charge this is. `duty` is a customs duty on a
|
|
13197
|
+
cross-border order and is not taxed; the other kinds are. Extensions may
|
|
13198
|
+
register further kinds.
|
|
13103
13199
|
line_item_id:
|
|
13104
13200
|
type: string
|
|
13105
13201
|
nullable: true
|
|
@@ -13203,9 +13299,23 @@ components:
|
|
|
13203
13299
|
type: string
|
|
13204
13300
|
nullable: true
|
|
13205
13301
|
status:
|
|
13206
|
-
|
|
13302
|
+
anyOf:
|
|
13303
|
+
- type: string
|
|
13304
|
+
enum:
|
|
13305
|
+
- unfulfilled
|
|
13306
|
+
- fulfilled
|
|
13307
|
+
- delivered
|
|
13308
|
+
- canceled
|
|
13309
|
+
- type: string
|
|
13310
|
+
description: The values listed are the built-in ones; extensions may add
|
|
13311
|
+
more.
|
|
13207
13312
|
fulfillment_type:
|
|
13208
13313
|
type: string
|
|
13314
|
+
enum:
|
|
13315
|
+
- shipping
|
|
13316
|
+
- digital
|
|
13317
|
+
- pickup
|
|
13318
|
+
- pickup_point
|
|
13209
13319
|
fulfilled_at:
|
|
13210
13320
|
type: string
|
|
13211
13321
|
nullable: true
|
|
@@ -13307,7 +13417,17 @@ components:
|
|
|
13307
13417
|
code:
|
|
13308
13418
|
type: string
|
|
13309
13419
|
status:
|
|
13310
|
-
|
|
13420
|
+
anyOf:
|
|
13421
|
+
- type: string
|
|
13422
|
+
enum:
|
|
13423
|
+
- active
|
|
13424
|
+
- partially_redeemed
|
|
13425
|
+
- redeemed
|
|
13426
|
+
- canceled
|
|
13427
|
+
- expired
|
|
13428
|
+
- type: string
|
|
13429
|
+
description: The values listed are the built-in ones; extensions may add
|
|
13430
|
+
more.
|
|
13311
13431
|
currency:
|
|
13312
13432
|
type: string
|
|
13313
13433
|
amount:
|
|
@@ -13370,7 +13490,14 @@ components:
|
|
|
13370
13490
|
updated_at:
|
|
13371
13491
|
type: string
|
|
13372
13492
|
status:
|
|
13373
|
-
|
|
13493
|
+
anyOf:
|
|
13494
|
+
- type: string
|
|
13495
|
+
enum:
|
|
13496
|
+
- pending
|
|
13497
|
+
- accepted
|
|
13498
|
+
- type: string
|
|
13499
|
+
description: The values listed are the built-in ones; extensions may add
|
|
13500
|
+
more.
|
|
13374
13501
|
resource_type:
|
|
13375
13502
|
type: string
|
|
13376
13503
|
nullable: true
|
|
@@ -13608,6 +13735,10 @@ components:
|
|
|
13608
13735
|
type: string
|
|
13609
13736
|
media_type:
|
|
13610
13737
|
type: string
|
|
13738
|
+
enum:
|
|
13739
|
+
- image
|
|
13740
|
+
- video
|
|
13741
|
+
- external_video
|
|
13611
13742
|
position:
|
|
13612
13743
|
type: number
|
|
13613
13744
|
nullable: true
|
|
@@ -13647,6 +13778,10 @@ components:
|
|
|
13647
13778
|
nullable: true
|
|
13648
13779
|
media_type:
|
|
13649
13780
|
type: string
|
|
13781
|
+
enum:
|
|
13782
|
+
- image
|
|
13783
|
+
- video
|
|
13784
|
+
- external_video
|
|
13650
13785
|
focal_point_x:
|
|
13651
13786
|
type: number
|
|
13652
13787
|
nullable: true
|
|
@@ -13752,6 +13887,10 @@ components:
|
|
|
13752
13887
|
type: number
|
|
13753
13888
|
kind:
|
|
13754
13889
|
type: string
|
|
13890
|
+
enum:
|
|
13891
|
+
- dropdown
|
|
13892
|
+
- color_swatch
|
|
13893
|
+
- buttons
|
|
13755
13894
|
required:
|
|
13756
13895
|
- id
|
|
13757
13896
|
- name
|
|
@@ -13820,9 +13959,28 @@ components:
|
|
|
13820
13959
|
fulfillment_status:
|
|
13821
13960
|
type: string
|
|
13822
13961
|
nullable: true
|
|
13962
|
+
enum:
|
|
13963
|
+
- backorder
|
|
13964
|
+
- canceled
|
|
13965
|
+
- partial
|
|
13966
|
+
- unfulfilled
|
|
13967
|
+
- fulfilled
|
|
13968
|
+
- delivered
|
|
13969
|
+
- pending
|
|
13970
|
+
- ready
|
|
13971
|
+
- shipped
|
|
13823
13972
|
payment_status:
|
|
13824
13973
|
type: string
|
|
13825
13974
|
nullable: true
|
|
13975
|
+
enum:
|
|
13976
|
+
- none
|
|
13977
|
+
- authorized
|
|
13978
|
+
- partially_paid
|
|
13979
|
+
- paid
|
|
13980
|
+
- partially_refunded
|
|
13981
|
+
- refunded
|
|
13982
|
+
- overcharged
|
|
13983
|
+
- voided
|
|
13826
13984
|
completed_at:
|
|
13827
13985
|
type: string
|
|
13828
13986
|
nullable: true
|
|
@@ -13908,9 +14066,28 @@ components:
|
|
|
13908
14066
|
fulfillment_status:
|
|
13909
14067
|
type: string
|
|
13910
14068
|
nullable: true
|
|
14069
|
+
enum:
|
|
14070
|
+
- backorder
|
|
14071
|
+
- canceled
|
|
14072
|
+
- partial
|
|
14073
|
+
- unfulfilled
|
|
14074
|
+
- fulfilled
|
|
14075
|
+
- delivered
|
|
14076
|
+
- pending
|
|
14077
|
+
- ready
|
|
14078
|
+
- shipped
|
|
13911
14079
|
payment_status:
|
|
13912
14080
|
type: string
|
|
13913
14081
|
nullable: true
|
|
14082
|
+
enum:
|
|
14083
|
+
- none
|
|
14084
|
+
- authorized
|
|
14085
|
+
- partially_paid
|
|
14086
|
+
- paid
|
|
14087
|
+
- partially_refunded
|
|
14088
|
+
- refunded
|
|
14089
|
+
- overcharged
|
|
14090
|
+
- voided
|
|
13914
14091
|
completed_at:
|
|
13915
14092
|
type: string
|
|
13916
14093
|
nullable: true
|
|
@@ -14093,6 +14270,9 @@ components:
|
|
|
14093
14270
|
nullable: true
|
|
14094
14271
|
type:
|
|
14095
14272
|
type: string
|
|
14273
|
+
description: 'Payment method type. Built-in: check, store_credit, custom_payment_source_method,
|
|
14274
|
+
bogus (test only); payment provider gems register their own, for example
|
|
14275
|
+
stripe.'
|
|
14096
14276
|
session_required:
|
|
14097
14277
|
type: boolean
|
|
14098
14278
|
source_required:
|
|
@@ -14118,7 +14298,19 @@ components:
|
|
|
14118
14298
|
number:
|
|
14119
14299
|
type: string
|
|
14120
14300
|
status:
|
|
14121
|
-
|
|
14301
|
+
anyOf:
|
|
14302
|
+
- type: string
|
|
14303
|
+
enum:
|
|
14304
|
+
- checkout
|
|
14305
|
+
- processing
|
|
14306
|
+
- pending
|
|
14307
|
+
- completed
|
|
14308
|
+
- failed
|
|
14309
|
+
- void
|
|
14310
|
+
- invalid
|
|
14311
|
+
- type: string
|
|
14312
|
+
description: The values listed are the built-in ones; extensions may add
|
|
14313
|
+
more.
|
|
14122
14314
|
amount:
|
|
14123
14315
|
type: string
|
|
14124
14316
|
nullable: true
|
|
@@ -14162,7 +14354,18 @@ components:
|
|
|
14162
14354
|
id:
|
|
14163
14355
|
type: string
|
|
14164
14356
|
status:
|
|
14165
|
-
|
|
14357
|
+
anyOf:
|
|
14358
|
+
- type: string
|
|
14359
|
+
enum:
|
|
14360
|
+
- pending
|
|
14361
|
+
- processing
|
|
14362
|
+
- completed
|
|
14363
|
+
- failed
|
|
14364
|
+
- canceled
|
|
14365
|
+
- expired
|
|
14366
|
+
- type: string
|
|
14367
|
+
description: The values listed are the built-in ones; extensions may add
|
|
14368
|
+
more.
|
|
14166
14369
|
currency:
|
|
14167
14370
|
type: string
|
|
14168
14371
|
external_id:
|
|
@@ -14209,7 +14412,18 @@ components:
|
|
|
14209
14412
|
id:
|
|
14210
14413
|
type: string
|
|
14211
14414
|
status:
|
|
14212
|
-
|
|
14415
|
+
anyOf:
|
|
14416
|
+
- type: string
|
|
14417
|
+
enum:
|
|
14418
|
+
- pending
|
|
14419
|
+
- processing
|
|
14420
|
+
- completed
|
|
14421
|
+
- failed
|
|
14422
|
+
- canceled
|
|
14423
|
+
- expired
|
|
14424
|
+
- type: string
|
|
14425
|
+
description: The values listed are the built-in ones; extensions may add
|
|
14426
|
+
more.
|
|
14213
14427
|
external_id:
|
|
14214
14428
|
type: string
|
|
14215
14429
|
nullable: true
|
|
@@ -14426,6 +14640,10 @@ components:
|
|
|
14426
14640
|
type: string
|
|
14427
14641
|
kind:
|
|
14428
14642
|
type: string
|
|
14643
|
+
enum:
|
|
14644
|
+
- dropdown
|
|
14645
|
+
- color_swatch
|
|
14646
|
+
- buttons
|
|
14429
14647
|
options:
|
|
14430
14648
|
type: array
|
|
14431
14649
|
items:
|
|
@@ -14787,7 +15005,17 @@ components:
|
|
|
14787
15005
|
number:
|
|
14788
15006
|
type: string
|
|
14789
15007
|
status:
|
|
14790
|
-
|
|
15008
|
+
anyOf:
|
|
15009
|
+
- type: string
|
|
15010
|
+
enum:
|
|
15011
|
+
- requested
|
|
15012
|
+
- approved
|
|
15013
|
+
- received
|
|
15014
|
+
- refunded
|
|
15015
|
+
- canceled
|
|
15016
|
+
- type: string
|
|
15017
|
+
description: The values listed are the built-in ones; extensions may add
|
|
15018
|
+
more.
|
|
14791
15019
|
order_id:
|
|
14792
15020
|
type: string
|
|
14793
15021
|
nullable: true
|
|
@@ -14872,8 +15100,19 @@ components:
|
|
|
14872
15100
|
type: string
|
|
14873
15101
|
source:
|
|
14874
15102
|
type: string
|
|
15103
|
+
enum:
|
|
15104
|
+
- purchased
|
|
15105
|
+
- uploaded
|
|
14875
15106
|
status:
|
|
14876
|
-
|
|
15107
|
+
anyOf:
|
|
15108
|
+
- type: string
|
|
15109
|
+
enum:
|
|
15110
|
+
- purchased
|
|
15111
|
+
- refund_requested
|
|
15112
|
+
- refunded
|
|
15113
|
+
- type: string
|
|
15114
|
+
description: The values listed are the built-in ones; extensions may add
|
|
15115
|
+
more.
|
|
14877
15116
|
carrier:
|
|
14878
15117
|
type: string
|
|
14879
15118
|
nullable: true
|
|
@@ -14908,6 +15147,9 @@ components:
|
|
|
14908
15147
|
type: string
|
|
14909
15148
|
owner_type:
|
|
14910
15149
|
type: string
|
|
15150
|
+
enum:
|
|
15151
|
+
- Spree::Fulfillment
|
|
15152
|
+
- Spree::Return
|
|
14911
15153
|
cost:
|
|
14912
15154
|
type: string
|
|
14913
15155
|
display_cost:
|
|
@@ -15045,6 +15287,8 @@ components:
|
|
|
15045
15287
|
type: string
|
|
15046
15288
|
kind:
|
|
15047
15289
|
type: string
|
|
15290
|
+
description: 'Tax identifier kind, keyed to a registered validator. Built-in:
|
|
15291
|
+
eu_vat. Extensions may register more.'
|
|
15048
15292
|
value:
|
|
15049
15293
|
type: string
|
|
15050
15294
|
required:
|
|
@@ -15137,14 +15381,27 @@ components:
|
|
|
15137
15381
|
nullable: true
|
|
15138
15382
|
weight_unit:
|
|
15139
15383
|
type: string
|
|
15384
|
+
enum:
|
|
15385
|
+
- g
|
|
15386
|
+
- kg
|
|
15387
|
+
- lb
|
|
15388
|
+
- oz
|
|
15140
15389
|
dimensions_unit:
|
|
15141
15390
|
type: string
|
|
15391
|
+
enum:
|
|
15392
|
+
- mm
|
|
15393
|
+
- cm
|
|
15394
|
+
- in
|
|
15395
|
+
- ft
|
|
15142
15396
|
minimum_order_quantity:
|
|
15143
15397
|
type: number
|
|
15144
15398
|
order_multiple:
|
|
15145
15399
|
type: number
|
|
15146
15400
|
purchase_unit:
|
|
15147
15401
|
type: string
|
|
15402
|
+
enum:
|
|
15403
|
+
- unit
|
|
15404
|
+
- carton
|
|
15148
15405
|
units_per_carton:
|
|
15149
15406
|
type: number
|
|
15150
15407
|
nullable: true
|
|
@@ -118,6 +118,77 @@ A method is priced one of two ways, and the choice is per method:
|
|
|
118
118
|
A carrier-priced method returns one option per service, so a single "Carrier
|
|
119
119
|
rates" method can offer Ground, 2-Day and Overnight as separate choices.
|
|
120
120
|
|
|
121
|
+
## Packaging
|
|
122
|
+
|
|
123
|
+
Every quote needs to know what the goods travel in. A carrier charges by
|
|
124
|
+
dimensional weight as well as actual weight, so the size of the box matters to
|
|
125
|
+
the price, and the empty box's own weight has to be added to what it holds —
|
|
126
|
+
otherwise every parcel is quoted light.
|
|
127
|
+
|
|
128
|
+
Package types are that vocabulary: the box parcels ship in, and for wholesale,
|
|
129
|
+
the cartons products are packed into and the pallets or containers an order
|
|
130
|
+
leaves on.
|
|
131
|
+
|
|
132
|
+
```typescript Admin SDK
|
|
133
|
+
await adminClient.packageTypes.create({
|
|
134
|
+
name: 'Standard mailer',
|
|
135
|
+
kind: 'box',
|
|
136
|
+
length: 30, width: 20, height: 15, dimensions_unit: 'cm',
|
|
137
|
+
weight: 0.4, weight_unit: 'kg',
|
|
138
|
+
default: true,
|
|
139
|
+
})
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
One row is marked `default`, and that is the box quotes are built on. Marking
|
|
143
|
+
another one default demotes the first, so there is never more than one.
|
|
144
|
+
|
|
145
|
+
Measurements are optional individually, which is how a merchant records what
|
|
146
|
+
they know. A box with no dimensions still contributes its weight; a box with
|
|
147
|
+
nothing measured contributes nothing, and dimensional pricing has nothing to
|
|
148
|
+
work from.
|
|
149
|
+
|
|
150
|
+
> **NOTE:** Deleting the default box is refused, and so is switching its flag off when
|
|
151
|
+
> nothing else would take it. Both would leave quotes with no size and no tare,
|
|
152
|
+
> which under-prices bulky parcels silently rather than failing.
|
|
153
|
+
|
|
154
|
+
### On a marketplace
|
|
155
|
+
|
|
156
|
+
A seller packs their own goods, in their own boxes, from their own warehouse.
|
|
157
|
+
So packaging has an owner: rows created by the operator are the marketplace's,
|
|
158
|
+
and each seller has their own.
|
|
159
|
+
|
|
160
|
+
A parcel is quoted with the box belonging to whoever's warehouse it left,
|
|
161
|
+
falling back to the marketplace's when a seller has not recorded one. Sellers
|
|
162
|
+
manage theirs through the Seller API, and can also pack products into the
|
|
163
|
+
marketplace's cartons — those they read but cannot change.
|
|
164
|
+
|
|
165
|
+
```typescript Seller SDK
|
|
166
|
+
// Their own packaging — what the seller panel's settings page lists.
|
|
167
|
+
const { data: mine } = await sellerClient.packageTypes.list({ owner: 'mine' })
|
|
168
|
+
|
|
169
|
+
// Their own plus the marketplace's, which is what a carton picker wants.
|
|
170
|
+
const { data: available } = await sellerClient.packageTypes.list()
|
|
171
|
+
|
|
172
|
+
available.forEach((row) => {
|
|
173
|
+
row.name
|
|
174
|
+
row.editable // false on the marketplace's own rows
|
|
175
|
+
row.default // this seller's default box
|
|
176
|
+
})
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
A seller's settings page asks for `owner: 'mine'`. A list mixing both owners
|
|
180
|
+
reads as "packaging is configured" while the seller has recorded nothing of
|
|
181
|
+
their own, which makes the shipping-box requirement look broken rather than
|
|
182
|
+
outstanding. Where a seller genuinely benefits from the marketplace's rows —
|
|
183
|
+
choosing the carton a product is packed into — the unfiltered list is what
|
|
184
|
+
the picker reads.
|
|
185
|
+
|
|
186
|
+
Because the fallback keeps checkout working, a seller who never opens the page
|
|
187
|
+
would quietly ship with someone else's measurements. The **shipping box**
|
|
188
|
+
onboarding requirement is what asks them for it: it is satisfied by a default
|
|
189
|
+
box of their own with all three dimensions and a weight recorded. See
|
|
190
|
+
[sellers](sellers.md#onboarding-requirements).
|
|
191
|
+
|
|
121
192
|
## Related
|
|
122
193
|
|
|
123
194
|
- [Fulfillments](fulfillments.md) — what happens to the parcel afterwards
|
|
@@ -85,7 +85,7 @@ Requirements come in three flavours, which is what lets one mechanism cover very
|
|
|
85
85
|
| **Attested** | The seller confirms something — accepting terms |
|
|
86
86
|
| **Verified** | The seller submits something and the marketplace rules on it — a document, an operator review |
|
|
87
87
|
|
|
88
|
-
Shipped out of the box: accepting terms, completing the profile, a billing address, a returns address, and a minimum number of products. Also available are generic document upload, attestation, operator review, and required custom fields.
|
|
88
|
+
Shipped out of the box: accepting terms, completing the profile, a billing address, a returns address, a way to ship, the box they ship in, and a minimum number of products. Also available are generic document upload, attestation, operator review, and required custom fields.
|
|
89
89
|
|
|
90
90
|
A seller sees their checklist and its progress:
|
|
91
91
|
|
|
@@ -197,7 +197,7 @@ await sellerClient.orders.fulfillments.fulfill(orderId, fulfillmentId, {
|
|
|
197
197
|
})
|
|
198
198
|
```
|
|
199
199
|
|
|
200
|
-
Sellers can manage their profile, invite their own team, list and submit products, see and fulfil their orders, manage their stock locations, and work through onboarding. They cannot see other sellers, the marketplace's own catalog, or anything belonging to the store at large.
|
|
200
|
+
Sellers can manage their profile, invite their own team, list and submit products, see and fulfil their orders, manage their stock locations, delivery methods and packaging, and work through onboarding. They cannot see other sellers, the marketplace's own catalog, or anything belonging to the store at large.
|
|
201
201
|
|
|
202
202
|
What a seller's staff may do is governed by [roles](staff-roles.md) owned by the seller — the same permission system as the back office, with a narrower set of keys, so a seller role can never reach store settings.
|
|
203
203
|
|
|
@@ -206,5 +206,6 @@ What a seller's staff may do is governed by [roles](staff-roles.md) owned by the
|
|
|
206
206
|
- [Commissions](commissions.md) — rates, rules, and what the marketplace charges
|
|
207
207
|
- [Products](products.md#seller-submissions) — the listing review flow
|
|
208
208
|
- [Orders](orders.md) — orders and their statuses
|
|
209
|
+
- [Delivery setup](delivery-setup.md#on-a-marketplace) — how a seller's goods ship, and what they ship in
|
|
209
210
|
- [Staff & Roles](staff-roles.md) — how seller teams are governed
|
|
210
211
|
- [Seller API](../../api-reference/seller-api/introduction.md) — the full endpoint reference
|
|
@@ -77,6 +77,27 @@ const cart = await client.carts.giftCards.apply(cartId, 'GC-ABCD-1234', options)
|
|
|
77
77
|
await client.carts.giftCards.remove(cartId, 'gc_abc123', options);
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
+
### Fees and Duties
|
|
81
|
+
|
|
82
|
+
A cart may carry charges that are neither a product price nor tax: gift wrapping, a handling charge, a cash-on-delivery surcharge, or an import duty on a cross-border order. Each is a [fee](../../core-concepts/fees.md) on the cart, and the storefront should show every one of them before the customer pays.
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
const cart = await client.carts.get(cartId, options);
|
|
86
|
+
|
|
87
|
+
cart.fees.forEach((fee) => {
|
|
88
|
+
fee.label; // "Import duty"
|
|
89
|
+
fee.kind; // "duty"
|
|
90
|
+
fee.display_amount; // "$12.00"
|
|
91
|
+
fee.line_item_id; // set when the fee is for one item, otherwise null
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
cart.display_fee_total; // "$17.00"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
`kind` is one of `surcharge`, `handling`, `gift_wrap`, `cod`, `payment` or `duty`. Fees are already part of `total`, so list them as their own lines between the subtotal and the total; never add them on top. A `duty` fee is a customs charge and is not taxed, which is why it is worth showing under its own label rather than folding it into a generic "fees" line.
|
|
98
|
+
|
|
99
|
+
Fees are written by the merchant or by an integration, never by the customer; there is no Store API endpoint to create one.
|
|
100
|
+
|
|
80
101
|
## Checkout
|
|
81
102
|
|
|
82
103
|
### Update Cart
|
|
@@ -136,10 +157,18 @@ await client.carts.storeCredits.apply(cartId, 25.00, options);
|
|
|
136
157
|
await client.carts.storeCredits.remove(cartId, options);
|
|
137
158
|
```
|
|
138
159
|
|
|
139
|
-
|
|
160
|
+
### Totals
|
|
161
|
+
|
|
162
|
+
The cart and order responses break the amount the customer pays into these totals. Each has a raw string value and a `display_` twin formatted in the cart's currency.
|
|
140
163
|
|
|
141
|
-
- `
|
|
142
|
-
- `
|
|
164
|
+
- `item_total` — the products, before anything else
|
|
165
|
+
- `delivery_total` — the selected delivery rates
|
|
166
|
+
- `discount_total` — promotions and discount codes, as a negative amount
|
|
167
|
+
- `fee_total` — every [fee](#fees-and-duties) on the cart, duties included
|
|
168
|
+
- `tax_total` — tax on items, delivery and taxable fees
|
|
169
|
+
- `total` — what the order costs: items, delivery, fees and tax, less discounts
|
|
170
|
+
- `store_credit_total` / `gift_card_total` — store credit or gift card value applied against the total
|
|
171
|
+
- `amount_due` — what is left to pay after store credit and gift cards
|
|
143
172
|
- `covered_by_store_credit` — boolean, whether the order is fully covered by store credit
|
|
144
173
|
- `gift_card` — associated gift card (if applicable)
|
|
145
174
|
|