-
Notifications
You must be signed in to change notification settings - Fork 248
Create a virtual product [Web API Tutorial]
Ievgen Shakhsuvarov edited this page Jul 16, 2019
·
6 revisions
Endpoint
POST http://<host>/rest/all/V1/categories"
HTTP headers
Content-Type application/json
Authorization: Bearer <admin_token>
Payload
{
"category": {
"parent_id": 2,
"name": "Promo Codes & Discounts",
"is_active": true,
"level": 2,
"include_in_menu": true,
"custom_attributes": [{
"attribute_code": "is_anchor",
"value": "1"
}, {
"attribute_code": "url_key",
"value": "promo-codes-discounts"
}, {
"attribute_code": "url_path",
"value": "promo-codes-discounts"
}]
}
}
Response
Full information about the category that was created
Complete cURL request sample
default_category_id=2 && curl -X POST "$endpoint/all/V1/categories" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $admin_token" \
-d '{"category":{"parent_id":2,"name":"Promo Codes & Discounts","is_active":true,"level":2,"include_in_menu":true,"custom_attributes":[{"attribute_code":"is_anchor","value":"1"},{"attribute_code":"url_key","value":"promo-codes-discounts"},{"attribute_code":"url_path","value":"promo-codes-discounts"}]}}' | json_pp | grep -i '"id"'
After this step the virtual product with SKU
'20% Discount' will be added to the products inventory.
Endpoint
POST http://<host>/rest/test/V1/products
HTTP headers
Content-Type application/json
Authorization: Bearer <admin_token>
Payload
{
"product": {
"sku": "20% Discount",
"name": "20% Discount",
"attribute_set_id": 4,
"price": 100,
"status": 1,
"visibility": 4,
"type_id": "virtual",
"weight": 0.8,
"extension_attributes": {
"website_ids": ["2"],
"category_links": [{
"position": 0,
"category_id": "8"
}],
"stock_item": {
"qty": 250,
"is_in_stock": true,
"is_qty_decimal": false
}
}
}
}
Response
Magento returns new entity.
Complete cURL request sample
discounts_category_id="3"; productSKU="20% Discount"; test_website_id="2" && curl -X POST "$endpoint/test/V1/products" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $admin_token" \
-d '{"product":{"sku":"20% Discount","name":"20% Discount","attribute_set_id":4,"price":100,"status":1,"visibility":4,"type_id":"virtual","weight":0.8,"extension_attributes":{"website_ids":["2"],"category_links":[{"position":0,"category_id":"3"}],"stock_item":{"qty":250,"is_in_stock":true,"is_qty_decimal":false}}}}' | json_pp
📖 Table of Contents | Next Step |
Multi-Source Inventory developed by Magento 2 Community
- Technical Vision. Catalog Inventory
- Installation Guide
- List of Inventory APIs and their legacy analogs
- MSI Roadmap
- Known Issues in Order Lifecycle
- MSI User Guide
- 2.3 LIVE User Guide
- MSI Release Notes and Installation
- Overview
- Get Started with MSI
- MSI features and processes
- Global and Product Settings
- Configure Source Selection Algorithm
- Create Sources
- Create Stock
- Assign Inventory and Product Notifications
- Configure MSI backorders
- MSI Import and Export Product Data
- Mass Action Tool
- Shipment and Order Management
- CLI reference
- Reports and MSI
- MSI FAQs
- DevDocs Documentation
- Manage Inventory Management Modules (install/upgrade info)
- Inventory Management
- Reservations
- Inventory CLI reference
- Inventory API reference
- Inventory In-Store Pickup API reference
- Order Processing with Inventory Management
- Managing sources
- Managing stocks
- Link and unlink stocks and sources
- Manage source items
- Perform bulk actions
- Manage Low-Quantity Notifications
- Check salable quantities
- Manage source selection algorithms
- User Stories
- Support of Store Pickup for MSI
- Product list assignment per Source
- Source assignment per Product
- Stocks to Sales Channel Mapping
- Adapt Product Import/Export to support multi Sourcing
- Introduce SourceCode attribute for Source and SourceItem entities
- Assign Source Selector for Processing of Returns Credit Memo
- User Scenarios:
- Technical Designs:
- Module Structure in MSI
- When should an interface go into the Model directory and when should it go in the Api directory?
- Source and Stock Item configuration Design and DB structure
- Stock and Source Configuration design
- Open Technical Questions
- Inconsistent saving of Stock Data
- Source API
- Source WebAPI
- Sources to Sales Channels mapping
- Service Contracts MSI
- Salable Quantity Calculation and Mechanism of Reservations
- StockItem indexation
- Web API and How To cover them with Functional Testing
- Source Selection Algorithms
- Validation of Domain Entities
- PHP 7 Syntax usage for Magento contribution
- The first step towards pre generated IDs. And how this will improve your Integration tests
- The Concept of Default Source and Domain Driven Design
- Extension Point of Product Import/Export
- Source Selection Algorithm
- SourceItem Entity Extension
- Design Document for changing SerializerInterface
- Stock Management for Order Cancelation
- Admin UI
- MFTF Extension Tests
- Weekly MSI Demos
- Tutorials