-
Notifications
You must be signed in to change notification settings - Fork 206
Description
I'm testing the complete flow of adding 2 products from different vendors to one cart.
I have performed the following steps:
1. Retrieve common info from admin API
- get Regions → GET →
admin/regions
- get Sales Channel → GET →
admin/sales-channels
- get Shipping Profiles → GET →
admin/shipping-profiles
- get Payment Providers → GET →
admin/payments/payment-providers
2. Create Stock Location for Vendor
- POST →
vendor/stock-locations
2. a. Add default Fulfilment Provider for Vendor's Stock Locations
- POST →
/vendor/stock-locations/${stock_location_id}/fulfillment-providers
2. b. Create Fulfilment Sets for Vendor's Stock Locations - POST →
/vendor/stock-locations/${stock_location_id}/fulfillment-sets
2. c. Add Sales Channels for Vendor's Locations - POST →
/vendor/stock-locations/${stock_location_id}/sales-channels
3. Create Service Zone ( or obtain existing one) for a Vendor
- POST →
/vendor/fulfillment-sets/${fulfillment_set_id}/service-zones
4. Create ( or obtain existing ) Shipping Options for Vendor
- POST →
/vendor/shipping-options
5. Create a Product with variants for Vendor
- POST →
/vendor/products
6. Create Stock Levels for Product's Variants Inventory Items
- POST →
/vendor/inventory-items/${inventory_item_id}/location-levels
7. Create Cart with Product's Variants from different vendors
- POST ->
/store/carts
8. Add Shipping Methods to Cart ( for all vendors that product variants exist inside cart )
- POST →
/store/carts/${cart_id}/shipping-methods
8. a. Create Payment Collections for Cart - POST →
/store/payment-collections
8. b. Initiate Payment Sessions for Cart - POST →
/store/payment-collections/${payment_collection_id}/payment-sessions
9. Complete cart
POST → /store/carts/:cart_id/complete
At that step I'm getting an error:
{
"type": "not_found",
"message": "Item <INVENTORY_ITEM_VENDOR_1> is not stocked at location <STOCK_LOCATION_VENDOR_2>"
}
Backend stacktrace :
backend:dev: error: Item iitem_01JMCAEVY9MSGQJ1KTMVNAD5N1 is not stocked at location sloc_01JMC654246HQYGWTT0ZPH4KB3
backend:dev: {
backend:dev: message: 'Item iitem_01JMCAEVY9MSGQJ1KTMVNAD5N1 is not stocked at location sloc_01JMC654246HQYGWTT0ZPH4KB3',
backend:dev: name: 'Error',
backend:dev: stack: 'Error: Item iitem_01JMCAEVY9MSGQJ1KTMVNAD5N1 is not stocked at location sloc_01JMC654246HQYGWTT0ZPH4KB3\n' +
backend:dev: ' at InventoryModuleService.ensureInventoryLevels (marketplace-mvm/node_modules/@medusajs/inventory/src/services/inventory-module.ts:164:13)\n' +
backend:dev: ' at processTicksAndRejections (node:internal/process/task_queues:105:5)\n' +
backend:dev: ' at async InventoryModuleService.createReservationItems_ (marketplace-mvm/node_modules/@medusajs/inventory/src/services/inventory-module.ts:267:29)\n' +
backend:dev: ' at async transaction.transaction (marketplace-mvm/node_modules/@medusajs/utils/src/modules-sdk/decorators/inject-transaction-manager.ts:63:18)\n' +
backend:dev: ' at async fork.getConnection.transactional (marketplace-mvm/node_modules/@mikro-orm/core/EntityManager.js:774:29)\n' +
backend:dev: ' at async PostgreSqlConnection.transactional (marketplace-mvm/node_modules/@mikro-orm/knex/AbstractSqlConnection.js:36:25)\n' +
backend:dev: ' at async transactionWrapper (marketplace-mvm/node_modules/@medusajs/utils/src/dal/utils.ts:32:10)\n' +
backend:dev: ' at async MikroOrmBaseRepository.transaction (marketplace-mvm/node_modules/@medusajs/utils/src/dal/mikro-orm/mikro-orm-repository.ts:74:12)\n' +
backend:dev: ' at async InventoryModuleService.descriptor.value (marketplace-mvm/node_modules/@medusajs/utils/src/modules-sdk/decorators/inject-transaction-manager.ts:32:14)\n' +
backend:dev: ' at async InventoryModuleService.createReservationItems (marketplace-mvm/node_modules/@medusajs/inventory/src/services/inventory-module.ts:238:21)\n' +
backend:dev: '⮑ sat marketplace-mvm/apps/backend/src/workflows/cart/workflows/split-and-complete-cart.ts: [split-and-complete-cart -> reserve-inventory-step (invoke)]',
backend:dev: __isMedusaError: true,
backend:dev: type: 'not_found',
backend:dev: code: undefined,
backend:dev: date: 2025-02-18T10:58:56.834Z
backend:dev: }
Seems that having 2 product variants from different vendors in one cart is not working.
Can you verify that?
Am I doing something wrong?
Regards