Marketplace Web Services API For Magento 2(Adobe Commerce) is a multi-vendor Marketplace add-on that exposes the Web Services API of Marketplace module with REST API so that marketplace functions can be used by other applications like ERP, Mobile applications (iOS, Windows, etc).
Please Note – This module is an add-on to Magento 2 Marketplace Module. To use this module you must have installed Webkul’s Magento 2 Marketplace Module first.
Features
- Standard REST API support found.
- This module exposes several marketplace resources to web API including create/become sellers, get sellers list, invoice, credit memo, cancel seller orders, landing page data, and many more.
- Admin and customer-level authentication for resources.
- Search criteria for seller list and seller’s order.
- The consumer can authenticate by any of these methods token, oAuth, or session.
- JSON format return can be used in mobile and ERP devices including OPENERP. we have built the world’s best Openerp Magento(Adobe Commerce) Connector.
- Using this add-on marketplace can be managed very easily from other applications as well.
- Added Graphql implementation feature as per suggested by Magento 2.3.
Install Extension from Webkul Store
#1 Download Module
Firstly, you need to log in to Webkul Store, go to My Account>My Purchased Products section, verify and then download and extract the contents of this zip folder on the system.
#2 Upload Folder
Once the module zip is extracted, follow path src>app and then copy the app folder into the Adobe Commerce Cloud root directory on the server as shown below:

#3 Run Commands
After uploading the module folder, you need to run the following commands in the Magento 2 root directory:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:flush
Install Extension from Adobe Commerce Marketplace
If you have purchased this extension from the Adobe Commerce Cloud Marketplace then please follow the below process or visit this link.
#1 Get Access Keys
You need to get access keys, navigate to My Profile in Adobe Commerce Marketplace, then choose Access Keys in the My Products section.

Go to Adobe Commerce and then you need to copy both the Access Keys – Public Key and Private Key. These access keys will be needed in the next steps for authentication.

If access keys are not created earlier, click Create A New Access Key, enter any name and click OK.

#2 Update composer.json File
To know the component name and version number, go to your Adobe Commerce Cloud Marketplace account section, My Profile>My Purchases, then find this extension to view the details.
Please note – Below is an example image, every extension will have its unique component name and version.

After that, navigate to your Adobe Commerce project directory and update your composer.json file in the following format.
composer require <component-name>:<version>
For example, to install version 4.0.0 of this extension you need to run the following command:
composer require webkul/marketplace-api:5.0.2
#3 Enter Access Keys
Now you will need to enter the Access Keys that you obtained as explained in the first step #1 Get Access Keys. Wait for Composer to finish updating your project dependencies and make sure there aren’t any errors.
#4 Run Command
You need to run the following commands:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:flush
How To Use – Rest API
Admin API Calls: needs admin Authorization
Vendor API Calls: needs customer Authorization
Admin has to Integrate admin-level access from the back end i.e. admin panel.
To get the authorization token you can click on Authorization Token.
Note: Click here to know more about how to search using REST API’s.
Example:

Where:
field
is an attribute name.value
specifies the value to search for.condition_type
can be of the type – lt(less than), ltet(less than or equal). For more details check the above link for reference.
Admin Api Calls : needs admin authorization
1.Description: get all sellers data
api resource : rest/V1/mpapi/admin/sellers
method: GET
Params:
{
“searchCriteria”:string
}
response:
Case 1 : When search criteria blank, then show all seller list { "items": [ { "entity_id": string, "is_seller": string, "seller_id": string, "payment_source": string, "twitter_id": string, "facebook_id": string, "gplus_id": string, "youtube_id": string, "vimeo_id": string, "instagram_id": string, "pinterest_id": string, "moleskine_id": string, "tw_active": string, "fb_active": string, "gplus_active": string, "youtube_active": string, "vimeo_active": string, "instagram_active": string, "pinterest_active": string, "moleskine_active": string, "others_info": string, "banner_pic": string, "shop_url": string, "shop_title": string, "logo_pic": string, "company_locality": string, "country_pic": string, "company_description": string, "meta_keyword": string, "meta_description": string, "background_width": string, "store_id": string, "contact_number": string, "return_policy": string, "shipping_policy": string, "created_at": string, "updated_at": string, "admin_notification": string, "privacy_policy": string, "allowed_categories": string, "allowed_attributeset_ids": string } ], "search_criteria": { "filter_groups": array }, "total_count": int } Case 2 : When search criteria mentioned, and matched then show filtered seller { "items": [ { "entity_id": string, "is_seller": string, "seller_id": string, "payment_source": string, "twitter_id": string, "facebook_id": string, "gplus_id": string, "youtube_id": string, "vimeo_id": string, "instagram_id": string, "pinterest_id": string, "moleskine_id": string, "tw_active": string, "fb_active": string, "gplus_active": string, "youtube_active": string, "vimeo_active": string, "instagram_active": string, "pinterest_active": string, "moleskine_active": string, "others_info": string, "banner_pic": string, "shop_url": string, "shop_title": string, "logo_pic": string, "company_locality": string, "country_pic": string, "company_description": string, "meta_keyword": string, "meta_description": string, "background_width": string, "store_id": string, "contact_number": string, "return_policy": string, "shipping_policy": string, "created_at": string, "updated_at": string, "admin_notification": string, "privacy_policy": string, "allowed_categories": string, "allowed_attributeset_ids": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int } Case 3 : When search criteria mentioned and not matched { "items": array, "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int }
2. Description: get seller by id
api resource : rest/V1/mpapi/admin/sellers/:id
method: GET
response:
[ { "entity_id": string, "is_seller": string, "seller_id": string, "payment_source": string, "twitter_id": string, "facebook_id": string, "gplus_id": string, "youtube_id": string, "vimeo_id": string, "instagram_id": string, "pinterest_id": string, "moleskine_id": string, "tw_active": string, "fb_active": string, "gplus_active": string, "youtube_active": string, "vimeo_active": string, "instagram_active": string, "pinterest_active": string, "moleskine_active": string, "others_info": string, "banner_pic": string, "shop_url": string, "shop_title": string, "logo_pic": string, "company_locality": string, "country_pic": string, "company_description": string, "meta_keyword": string, "meta_description": string, "background_width": string, "store_id": string, "contact_number": string, "return_policy": string, "shipping_policy": string, "created_at": string, "updated_at": string, "admin_notification": string, "privacy_policy": string, "allowed_categories": string, "allowed_attributeset_ids": string } ]
3.Description: get sellers wise products
api resource : rest/V1/mpapi/admin/sellers/:id/product
method: GET
response:
{ "items": [ { "id": int, "sku": string, "name": string, "attribute_set_id": int, "price": int, "status": int, "visibility": int, "type_id": string, "created_at": string, "updated_at": string, "weight": int, "extension_attributes": { "website_ids": [ int ], "category_links": [ { "position": int, "category_id": string }, { "position": int, "category_id": string } ] }, "product_links": array, "options": array, "media_gallery_entries": array, "tier_prices": array, "custom_attributes": [ { "attribute_code": string, "value": string } ] } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int }
4.Description:Get seller wise orders
api resource : rest/V1/mpapi/admin/sellers/:id/order
method: GET
Params:(optional)
{
searchCriteria[filter_groups][0][filters][0][field]:int
searchCriteria[filter_groups][0][filters][0][value]:int
searchCriteria[filter_groups][0][filters][0][condition_type]:int
}
response:
{ Case 1 : When Search Criteria applied, filtered data "items": [ { "entity_id": string, "mageproduct_id": string, "order_id": string, "order_item_id": string, "parent_item_id": string, "magerealorder_id": string, "magequantity": string, "seller_id": string, "trans_id": string, "cpprostatus": string, "paid_status": string, "magebuyer_id": string, "magepro_name": string, "magepro_price": string, "total_amount": string, "total_tax": string, "total_commission": string, "actual_seller_amount": string, "created_at": string, "updated_at": string, "is_shipping": string, "is_coupon": string, "is_paid": string, "commission_rate": string, "currency_rate": string, "applied_coupon_amount": string, "is_withdrawal_requested": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] }, { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ], "page_size": int }, "total_count": int } Case 2 : When Search Criteria not applied, then show all order of that seller { "items": [ { "entity_id": string, "mageproduct_id": string, "order_id": string, "order_item_id": string, "parent_item_id": string, "magerealorder_id": string, "magequantity": string, "seller_id": string, "trans_id": string, "cpprostatus": string, "paid_status": string, "magebuyer_id": string, "magepro_name": string, "magepro_price": string, "total_amount": string, "total_tax": string, "total_commission": string, "actual_seller_amount": string, "created_at": string, "updated_at": string, "is_shipping": string, "is_coupon": string, "is_paid": string, "commission_rate": string, "currency_rate": string, "applied_coupon_amount": string, "is_withdrawal_requested": string }, ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int }
5.Description: Get seller wise sales details
api resource : rest/V1/mpapi/admin/sellers/:id/order/sales
method: GET
Params:(optional)
{
searchCriteria[filter_groups][0][filters][0][field]:int
searchCriteria[filter_groups][0][filters][0][value]:int
searchCriteria[filter_groups][0][filters][0][condition_type]:int
}
response:
Case 1 : When Search Criteria applied, filtered data { "items": [ { "entity_id": string, "order_id": string, "product_ids": string, "seller_id": string, "shipment_id": string, "invoice_id": string, "creditmemo_id": string, "is_canceled": string, "shipping_charges": string, "carrier_name": string, "tracking_number": string, "created_at": string, "updated_at": string, "tax_to_seller": string, "total_tax": string, "coupon_amount": string, "refunded_coupon_amount": string, "refunded_shipping_charges": string, "seller_pending_notification": string, "order_status": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int } Case 2 : When Search Criteria not applied, then show all of that seller { "items": [ { "entity_id": string, "order_id": string, "product_ids": string, "seller_id": string, "shipment_id": string, "invoice_id": string, "creditmemo_id": string, "is_canceled": string, "shipping_charges": string, "carrier_name": string, "tracking_number": string, "created_at": string, "updated_at": string, "tax_to_seller": string, "total_tax": string, "coupon_amount": "string, "refunded_coupon_amount": string, "refunded_shipping_charges": string, "seller_pending_notification": string, "order_status": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int }
6.Description: Pay seller his amount after deducting commission
api resource : rest/V1/mpapi/admin/sellers/:id/paytoseller
method: POST
Params:
{
sellerPayReason : string
entityId : int
sellerId : int
}
response:
Case 1 : When already paid to seller [ { "message": string, "status": int } ] Case 2 : When paid to seller successfully [ { "message": string, "status": int } ]
7.Description: Assign product(s) to seller
api resource : rest/V1/mpapi/admin/sellers/:sellerId/assign
method: POST post data: { productIds <int> product(s) ids %productIds% }
Params:
{
sellerId : int
productIds : int
}
response:
Case 1 : When assign successfully [ { "message": array, "status": int } ] Case 2 : When assigned already to seller [ { "message": array, "status": int } ] Case 3 : When seller not found [ { "message": array, "status": int } ] Case 4 : When Product not found [ { "message": array, "status": int } ]
8.Description:unassign product(s) to seller
api resource : rest/V1/mpapi/admin/sellers/:sellerId/unassign
method: POST post data: { productIds <int> product(s) ids %productIds% }
Params:
{
sellerId : int
productIds : int
}
response:
Case 1 : When unassign successfully [ { "message": array, "status": int } ] Case 2 : When already unassigned from seller [ { "message": array, "status": int } ] Case 3 : When seller not found [ { "message": array, "status": int } ] Case 4 : When Product not found [ { "message": array, "status": int } ]
9. Create a Seller flag reason
API Resource:/V1/mpapi/admin/seller/flagreason
Method: POST
Params:
{
reason : string
status : int
}
Response:
[ { "message": string, "status": int } ]
10. Create a Product flag reason
API Resource:/V1/mpapi/admin/product/flagreason
Method :POST
Params:
{
reason : string
status : int
}
Response:
[ { "message": string, "status": int } ]
11. Upload Product image
API Resource:mpapi/product/uploadproductimage
Method:POST
Params:
{
image: select an image by clicking on select file button
}
Response:
{ "name": string, "type": string, "error": bool, "size": int, "file": string, "url": string, "message": string, "success": bool }
Seller Api Calls: needs customer authorization
12.Description:-Get self profile details
api resource : rest/V1/mpapi/sellers/me
method: GET
response:
{ "items": [ { "entity_id": string, "is_seller": string, "seller_id": string, "payment_source": string, "twitter_id": string, "facebook_id": string, "gplus_id": string, "youtube_id": string, "vimeo_id": string, "instagram_id": string, "pinterest_id": string, "moleskine_id": string, "tw_active": string, "fb_active": string, "gplus_active": string, "youtube_active": string, "vimeo_active": string, "instagram_active": string, "pinterest_active": string, "moleskine_active": string, "others_info": string, "banner_pic": string, "shop_url": string, "shop_title": string, "logo_pic": string, "company_locality": string, "country_pic": string, "company_description": string, "meta_keyword": string, "meta_description": string, "background_width": string, "store_id": string, "contact_number": string, "return_policy": string, "shipping_policy": string, "created_at": string, "updated_at": string, "admin_notification": string, "privacy_policy": string, "allowed_categories": string, "allowed_attributeset_ids": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int }
13.Description:-Get self products details
api resource : rest/V1/mpapi/sellers/me/product
method: GET
response:
[ { "status": int, "total_count": int, "items": [ { "name": string, "type": string, "sku": string, "mageproduct_id": string } ] } ]
14.Description:-Get self order details
api resource : rest/V1/mpapi/sellers/me/order
method: GET
response:
{ "items": [ { "entity_id": string, "mageproduct_id": string, "order_id": string, "order_item_id": string, "parent_item_id": string, "magerealorder_id": string, "magequantity": string, "seller_id": string, "trans_id": string, "cpprostatus": string, "paid_status": string, "magebuyer_id": string, "magepro_name": string, "magepro_price": string, "total_amount": string, "total_tax": string, "total_commission": string, "actual_seller_amount": string, "created_at": string, "updated_at": string, "is_shipping": string, "is_coupon": string,landing "is_paid": string, "commission_rate": string, "currency_rate": string, "applied_coupon_amount": string, "is_withdrawal_requested": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int }
15.Description:-Get self order sales details
api resource : rest/V1/mpapi/sellers/me/order/sales
method: GET
response:
{ "items": [ { "entity_id": string, "order_id": string, "product_ids": string, "seller_id": string, "shipment_id": string, "invoice_id": string, "creditmemo_id": string, "is_canceled": string, "shipping_charges": string, "carrier_name": string, "tracking_number": string, "created_at": string, "updated_at": string, "tax_to_seller": string, "total_tax": string, "coupon_amount": string, "refunded_coupon_amount": string, "refunded_shipping_charges": string, "seller_pending_notification": string, "order_status": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] } ] }, "total_count": int }
16.Description:-Create invoice for seller order
api resource : rest/V1/mpapi/sellers/me/order/invoice
method: POST
Params:
orderId:int
response:
Case 1 : When Sucess { [ { "invoice_id": string, "message": string, "status": int } ] } Case 2 : When already created invoice { [ { "message": string, "status": int } ] }
17.Description:-get invoice data
api resource : rest/V1/mpapi/sellers/me/order/:orderId/invoice/:invoiceId
method: GET
response:
Case 1 : When invoiceId or OrderId is missing { "message": string, "trace": string } Case 2 : When Success { [ { "mainHeading": string, "sendmailAction": string, "sendmailWarning": string, "subHeading": string, "orderData": { "title": string, "label": string, "statusLabel": string, "statusValue": string, "dateLabel": string, "dateValue": string }, "buyerData": { "title": string, "nameLabel": string, "nameValue": string, "emailLabel": string, "emailValue": string }, "shippingAddressData": { "title": string, "address": [ { "name": string, "street": string, "state": string, "country": string, "telephone": string } ] }, "shippingMethodData": { "title": string, "method": string }, "billingAddressData": { "title": string, "address": [ { "name": string, "street": string, "state": string, "country": string, "telephone": string } ] }, "paymentMethodData": { "title": string, "method": string }, "items": [ { "productName": string, "price": string, "qty": { "Ordered": int, "Invoiced": int, "Shipped": int, "Canceled": int, "Refunded": int }, "subTotal": string, "adminComission": string, "vendorTotal": string } ], "subtotal": { "title": string, "value": string }, "shipping": { "title": string, "value": string }, "tax": { "title": string, "value": string }, "totalOrderedAmount": { "title": string, "value": string }, "totalVendorAmount": { "title": string, "value": string }, "totalAdminComission": { "title": string, "value": string }, "status": int } ] }
18.Description:-Cancel the order
api resource : rest/V1/mpapi/sellers/me/order/:orderId/cancel
method: POST
Params:
orderId:int
response:
Case 1 : When seller has not permission [ { "message": string, "status": int } ] Case 2 : When success [ { "message": string, "status": int } ]
19.Description:-Create credit memo for seller order
api resource:rest/V1/mpapi/sellers/me/order/creditmemo
method: POST
Params:(Mandatory)
{
“invoiceId”: int,
“orderId”: int,
“creditMemo”: {
“items”: [
{
“qty”: int,
“back_to_stock”: bool,
“item_id”: int
}
],
“do_offline”: bool
}
}
**Params:(Can be add other parameters)
{
“invoiceId”: int,
“orderId”: int,
“creditMemo”: {
“items”: [
{
“qty”: int,
“back_to_stock”: bool,
“item_id”: bool
}
],
“shipping_amount”: int,
“adjustment_negative”: int,
“adjustment_positive”: int,
“do_offline”: bool,
“comment_text”: string,
“comment_customer_notify”: bool,
“is_visible_on_front”: bool,
“send_email”: bool
}
}
response:
Case 1 : When OrderId and InvoiceId are not matched [ { "status": int, "message": string } ] Case 2 : When OrderId match but InvoiceId mismatch [ { "status": int, "message": string } ] Case 3 : When success [ { "id": string, "status": int, "message": string } ]
20.Description:-Get credit memo for seller
api resource : rest/V1/mpapi/sellers/me/order/:orderId/creditmemo/:creditmemoId
method: GET
response:
[ { "sendmailAction": string, "sendmailWarning": string, "mainHeading": string, "subHeading": string, "orderData": { "title": string, "label": string, "statusLabel": string, "statusValue": string, "dateLabel": string, "dateValue": string }, "buyerData": { "title": string, "nameLabel": "string: ", "nameValue": string, "emailLabel": "string: ", "emailValue": string }, "shippingAddressData": { "title": string, "address": [ { "name": string, "street": string, "state": string, "country": string, "telephone": string } ] }, "shippingMethodData": { "title": string, "method": string }, "billingAddressData": { "title": string, "address": [ { "name": string, "street": string, "state": string, "country": string, "telephone": string } ] }, "paymentMethodData": { "title": string, "method": string }, "items": [ { "productName": string, "price": string, "qty": { "Ordered": int, "Invoiced": int, "Shipped": int, "Canceled": int, "Refunded": int }, "subTotal": string, "adminComission": string, "vendorTotal": string } ], "subtotal": { "title": string, "value": string }, "shipping": { "title": string, "value": string }, "tax": { "title": string, "value": string }, "totalOrderedAmount": { "title": string, "value": string }, "totalVendorAmount": { "title": string, "value": string }, "totalAdminComission": { "title": string, "value": string }, "status": int } ]
21.Description:- Ask questions to admin
api resource : rest/V1/mpapi/sellers/me/mailtoadmin
method: POST
Params:
{
“subject”:string,
“query”: string
}
response:
[ { "message": string, "status": int } ]
22.Description:- Contact seller
api resource : rest/V1/mpapi/sellers/me/mailtoseller
method: POST
Params:
{
“subject”:string,
“query”:string,
“productId”:string
}
response:
Case 1 :When Success [ { "status": int, "message": string } ] Case 2 : When SellerId mismatch [ { "status": int, "message": string } ]
23.Description:- Request to become partner
api resource : rest/V1/mpapi/sellers/me/becomepartner
method: POST
Params:
{
“shopUrl”:string,
“isSeller”:string
}
post data: {shop_url <string> store identifier %shop_url%,is_seller <int> 1 if want to be seller else 0 %is_seller%}
response:
Case 1 : When sellerId is exist [ { "status": int, "message": string } ] Case 2 : When isSeller is not true or other value [ { "status": int, "message": string } ] Case 3 : When Success [ { "message": string, "status": int } ]
24.Description:- Request to create shipment
api resource : rest/V1/mpapi/sellers/me/order/:orderId/ship
method: POST
post data:
{tracking_number <string> tracking number of the shipment %tracking_number%,carrier <string> name of the shipiing carrier %carrier%}
Params:
{
“trackingId”: string,
“carrier”: string,
“orderId”:string
}
response:
[ { "status": int, "message": string } ]
25.Description:- Get shipment details
api resource : rest/V1/mpapi/sellers/me/order/:orderId/ship/:shipmentId
method: GET
response:
Case 1 : When success [ { "mainHeading": string, "sendmailAction": string, "sendmailWarning": string, "subHeading": string, "orderData": { "title": string, "label": string, "statusLabel": string, "statusValue": string, "dateLabel": string, "dateValue": string }, "buyerData": { "title": string, "nameLabel": string, "nameValue": string, "emailLabel": "string: ", "emailValue": string }, "shippingAddressData": { "title": string, "address": [ { "name": string, "street": string, "state": string, "country": string, "telephone": string } ] }, "shippingMethodData": { "title": string, "method": string }, "billingAddressData": { "title": string, "address": [ { "name": string, "street": string, "state": string, "country": string, "telephone": string } ] }, "paymentMethodData": { "title": string, "method": string }, "shippingCarriers": [ { "carrier": string, "title": string, "number": string } ], "items": [ { "productName": string, "sku": string, "qty": int } ], "status": int } ] Case 2 : When missing orderId or shipmentId { "message": string, "trace": string }
26.Description:- request to create seller product
api resource : rest/V1/mpapi/sellers/me/addproduct
method: POST
Params:
Case 1 : Product Params (With Images)
{
“type”: string,
“set”: string,
“product”: {
“category_ids”: [
string
],
“name”: string,
“description”: string,
“short_description”: string,
“sku”: string,
“price”: string,
“special_price”: string,
“special_from_date”: string,
“special_to_date”: string,
“stock_data”: {
“manage_stock”: string,
“use_config_manage_stock”: string
},
“quantity_and_stock_status”: {
“qty”: string,
“is_in_stock”: string
},
“visibility”: string,
“tax_class_id”: string,
“product_has_weight”: string,
“weight”: string,
“url_key”: string,
“meta_title”: string,
“meta_keyword”: string,
“meta_description”: string,
“mp_product_cart_limit”: string,
“media_gallery”: {
“images”: {
string: {
“position”: string,
“media_type”: string,
“video_provider”: string,
“file”: string,
“value_id”: string,
“label”: string,
“disabled”: string,
“removed”: string,
“video_url”: string,
“video_title”: string,
“video_description”: string,
“video_metadata”: string,
“role”: string
}
},
“image”: string,
“small_image”: string,
“thumbnail”: string,
“links_title”: string,
“links_purchased_separately”: string,
“samples_title”: string,
“ts_dimensions_height”: string,
“ts_dimensions_width”: string,
“ts_dimensions_length”: string,
“attribute_set_id”: string
},
“affect_configurable_product_attributes”: string,
“new-variations-attribute-set-id”: string
}
}
Case 2 : Product Params (Mandatory Fields)
{
“type”: string,
“set”: string,
“product”: {
“category_ids”: [
string
],
“name”: string,
“sku”: string,
“price”: string,
“stock_data”: {
“manage_stock”: string,
“use_config_manage_stock”: string
},
“quantity_and_stock_status”: {
“qty”: string,
“is_in_stock”: string
},
“visibility”: string,
“tax_class_id”: string,
“product_has_weight”: string,
“weight”: string,
“mp_product_cart_limit”: string,
“media_gallery”: {
“images”: {
},
“attribute_set_id”: string
},
“affect_configurable_product_attributes”: string,
“new-variations-attribute-set-id”: string
}
}
Response:
[ { "error": bool, "product_id": string, "message": string } ]
Guest User Accessible resources: no authorization needed
27.Description:-Returns marketplace landing page details
api resource : rest/V1/mpapi/marketplace
method: GET
response:
[ { "icons": [ { "image": string, "label": string } ], "labels": [ { "label": string } ], "aboutImage": string, "sellers": [ { "products": [ { "id": string, "name": string, "type": string, "thumbnail": string } ], "shopTitle": string, "profileurl": string, "sellerIcon": string, "sellerProductCount": int } ] } ]
28.Description:-Get all sellers list
api resource : rest/V1/mpapi/sellers
method: GET
Params:
{
searchCriteria:string
}
response:
{ "items": [ { "entity_id": string, "is_seller": string, "seller_id": string, "payment_source": string, "twitter_id": string, "facebook_id": string, "gplus_id": string, "youtube_id": string, "vimeo_id": string, "instagram_id": string, "pinterest_id": string, "moleskine_id": string, "tw_active": string, "fb_active": string, "gplus_active": string, "youtube_active": string, "vimeo_active": string, "instagram_active": string, "pinterest_active": string, "moleskine_active": string, "others_info": string, "banner_pic": string, "shop_url": string, "shop_title": string, "logo_pic": string, "company_locality": string, "country_pic": string, "company_description": string, "meta_keyword": string, "meta_description": string, "background_width": string, "store_id": string, "contact_number": string, "return_policy": string, "shipping_policy": string, "created_at": string, "updated_at": string, "admin_notification": string, "privacy_policy": string, "allowed_categories": string, "allowed_attributeset_ids": string } ] }
29.Make seller review
API Resource:rest/V1/mpapi/sellers
Method:GET
Response:
Case 1 : When Success [ { "review_id": string, "message": string, "status": int } ] Case 2 : When feedback object data missing [ { "status": int, "message": string } ]
30.Description:-Get reviews of the seller.
api resource : rest/V1/mpapi/sellers/:id/reviews
method: GET
response:
[{ total_count: int, items: [{ entity_id: string, seller_id: string, buyer_id: string, buyer_email: string, status: string, feed_price: string, feed_value: string, feed_quality: string, feed_nickname: string, feed_summary: string, feed_review: string, created_at: string, updated_at: string, seller_pending_notification: string, admin_notification: string }] }]
31.Description:- Make seller review
api resource : rest/V1/mpapi/sellers/:id/reviews
method: POST
response:
Case 1 : When Success [ { "review_id": string, "message": string, "status": int } ] Case 2 : When feedback object data missing [ { "status": int, "message": string } ]
32.Description:- Get review details by review id
api resource : rest/V1/mpapi/sellers/:review_id/review
method: GET
response:
Case 1 : When Success { "items": [ { "entity_id": string, "seller_id": string, "buyer_id": string, "buyer_email": string, "status": string, "feed_price": string, "feed_value": string, "feed_quality": string, "feed_nickname": string, "feed_summary": string, "feed_review": string, "created_at": string, "updated_at": string, "seller_pending_notification": string, "admin_notification": string } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": string, "value": string, "condition_type": string } ] }, { "filters": [ { "field": "status", "value": string, "condition_type": string } ] } ] }, "total_count": 1 } Case 2 : When review_id not match { "items": array, "total_count": int }
Seller Create Api Calls : authorization needed
33.Description:-request to create seller
api resource : rest/V1/mpapi/sellers/create
method: post
Params:
{
“customer”: {
“email”: string,
“firstname”: string,
“lastname”: string,
“storeId”: string,
“websiteId”: string
},
“is_seller”: string,
“profileurl”: string,
“password”: string,
“registered”: string ( 0 => for New , 1 => already account, now became seller)
}
response:
Case 1 : When sucess new account [ { "status": int, "message": string, "id": string, "group_id": string, "default_billing": string, "default_shipping": string, "confirmation": string, "created_at": string, "updated_at": string, "created_in": string, "dob": string, "email": string, "firstname": string, "lastname": string, "middlename": string, "prefix": string, "suffix": string, "gender": string, "store_id": string, "taxvat": string, "website_id": string, "disable_auto_group_change": string, "is_seller": bool, "profileurl": string } ] Case 2 : When already registered as seller and match shop name [ { "status": int, "message": string } ] Case 3 : When already registered as seller [ { "status": int, "message": string } ] Case 4 : When params missing [ { "status": int, "message": string } ]
Graphql Implementation
Graphql is a traditional way to expose the data in a more declarative format basically, it is a query language for the API and it has only a single API endpoint that will serve all your data request needs, however, you have to pre-explained all the data that the server can present in a GraphQL schema.In additional Graphql allows the client to simplify what exactly data structure they want from the server and helps to resolve the over-fetching or under-fetching of data.
Graphql introduced in Magento 2.3.0 has Hierarchical, Introspective nature that gives explanatory error information before executing a query.
How to Use – Graphql
To add Graphql implementation in Marketplace Web Services API For Magento 2 have to follow the below steps
Step 1 – A client may get your GraphQL query response by installing the chrome extension ChromeiQL.
Note – In order to get more information about GraphQl implementation in Magento2 refer this link or you may read the previous blog How to use GraphQL in php.
Step 2 – To manage all predefined or custom GraphQL queries in Marketplace Web Services API For Magento 2 you have to set an endpoint.API Resource: magentohost*1/graphql
Step 3 -Once you have set the endpoint you will get all Preset API lists under docs->> document explorer->>query section (from the right side of the ChromeiQL extension)
Step 4 – To access the specific data you need to type queries on the left side of the screen, let’s consider an example for marketplaceLangingPage:
After entering the query you have to hit the “play” button then you will see it returns an accurate query of the marketplace landing page, you could look given screenshot for further reference.

Now you will get back exactly structured API data and descriptive error message which you wish to display, nothing more and nothing less in form of type and field.
Guest User Accessible resources: No authorization needed API resource: Graphql
1. Description: To get marketplace landing page details
query { marketplaceLangingPage { banner { label content } bannerImage aboutImage labels { label } icons { image label } sellers { products { id name type thumbnail } shopTitle profileurl sellerIcon sellerProductCount } } }
response:
"json"
2. Description: Get all seller’s list
query { sellersList( filter: { < field name to filter data >: { < condition >: < value > } } ) { totalRecords items { entity_id is_seller seller_id payment_source twitter_id facebook_id gplus_id youtube_id vimeo_id instagram_id pinterest_id moleskine_id tw_active fb_active gplus_active youtube_active vimeo_active instagram_active pinterest_active moleskine_active others_info banner_pic shop_url shop_title logo_pic company_locality country_pic company_description meta_keyword meta_description background_width store_id contact_number return_policy shipping_policy created_at updated_at admin_notification privacy_policy allowed_categories } } }
response:
"json"
3. Description: Get reviews of the seller
query { getSellerReview(id: < Seller Id > ) { totalRecords items { entity_id seller_id buyer_id buyer_email status feed_price feed_value feed_quality feed_nickname feed_summary feed_review created_at updated_at seller_pending_notification admin_notification } } }
response:
"json"
4.Description: Get review details by review id
query { getSellerReviewDetails(id: < review id > ) { totalRecords items { entity_id seller_id buyer_id buyer_email status feed_price feed_value feed_quality feed_nickname feed_summary feed_review created_at updated_at seller_pending_notification admin_notification } } }
response:
"json"
Seller Api Calls: needs customer authorization
api resource : graphql
5. Description: Get self profile details
query { sellerSelf { entity_id is_seller seller_id payment_source twitter_id facebook_id gplus_id youtube_id vimeo_id instagram_id pinterest_id moleskine_id tw_active fb_active gplus_active youtube_active vimeo_active instagram_active pinterest_active moleskine_active others_info banner_pic shop_url shop_title logo_pic company_locality country_pic company_description meta_keyword meta_description background_width store_id contact_number return_policy shipping_policy created_at updated_at admin_notification privacy_policy allowed_categories status } }
response:
"json"
6.Description: Get self products details
query { sellerSelfProduct { totalRecords items { entity_id mageproduct_id adminassign seller_id store_id status created_at updated_at seller_pending_notification admin_pending_notification is_approved } } }
response:
"json"
7.Description: Get self order details
query { sellerOrderList(filter: { < field to filter >: { < filter type >: < order id > } }) { totalRecords items { entity_id mageproduct_id order_id order_item_id parent_item_id magerealorder_id magequantity seller_id trans_id cpprostatus paid_status magebuyer_id magepro_name magepro_price total_amount total_tax total_commission actual_seller_amount created_at updated_at is_shipping is_coupon is_paid commission_rate currency_rate applied_coupon_amount is_withdrawal_requested } } }
response:
"json"
8.Description: Get self-order sales details
query { sellerOrderSales { totalRecords items { entity_id order_id product_ids seller_id shipment_id invoice_id creditmemo_id is_canceled shipping_charges carrier_name tracking_number created_at updated_at tax_to_seller total_tax coupon_amount refunded_coupon_amount refunded_shipping_charges seller_pending_notification order_status } } }
response:
"json"
9. Description: Create an invoice for seller’s order
query { sellerCreateInvoice(orderid: < order id > ) { message } }
response:
"json"
10. Get invoice data
query { sellerGetInvoiceDetails(orderid: < order id > , invoiceid: < invoice id > ) { mainHeading sendmailAction sendmailWarning subHeading orderData { title label statusLabel statusValue dateLabel dateValue } buyerData { title nameLabel nameValue emailLabel emailValue } shippingAddressData { title address { name street state country telephone } } shippingMethodData { title method } billingAddressData { title address { name street state country telephone } } paymentMethodData { title method } items { productName price qty { Ordered Invoiced Shipped Canceled Refunded } subTotal adminComission vendorTotal } subtotal { title value } shipping { title value } tax { title value } totalOrderedAmount { title value } totalVendorAmount { title value } totalAdminComission { title value } } }
response:
"json"
11. Description: Cancel the order
query { sellerCancelOrder(orderid: < order_id > ) { message } }
response:
"json"
12. Create a credit memo for seller’s order
query { sellerCreateCreditmemo(orderid: < order id > , invoiceid: < invoice id > , creditmemo: { shipping_amount: < shipping amount > adjustment_positive: < adjustment positive > adjustment_negative: < adjustment negative > do_offline: < 1 for true > items: { itemid: < order item id > qty: < item quantity > } }) { id message } }
response:
"json"
13. Description: Get credit memo details
query { sellerGetCreditmemoDetails(orderid: < order id > , creditmemoid: < creditmemo id > ) { mainHeading sendmailAction sendmailWarning subHeading orderData { title label statusLabel statusValue dateLabel dateValue } buyerData { title nameLabel nameValue emailLabel emailValue } shippingAddressData { title address { name street state country telephone } } shippingMethodData { title method } billingAddressData { title address { name street state country telephone } } paymentMethodData { title method } items { productName price qty { Ordered Invoiced Shipped Canceled Refunded } subTotal adminComission vendorTotal } subtotal { title value } shipping { title value } tax { title value } totalOrderedAmount { title value } totalVendorAmount { title value } totalAdminComission { title value } } }
response:
"json"
14. Description: Ask questions to the admin
query { sellerMailToAdmin(query: < query data > , subject: < subject data > ) { message } }
response:
"json"
15. Description: Contact the seller
query { sellerMailToSeller(customer_name: < customer name > , customer_email: < customer email > , productid: < product id > query: < customer query > , subject: < query subject > ) { message } }
response:
"json"
16.Description: Request to become partner
query { sellerBecomePartner(shop_url: < shop url > , is_seller: < if want to be seller or not - 1 or 0 > ) { message } }
response:
"json"
17. Description: Request to create shipment
query { sellerCreateShipment(orderid: < order id > , tracking_number: < tracking number > , carrier: < carrier name > ) { message } }
response:
"json"
18. Description: Get shipment details
query { sellerGetShipmentDetails(orderid: < order id > , shipmentid: < shipment id > ) { mainHeading sendmailAction sendmailWarning subHeading orderData { dateLabel dateValue label statusLabel statusValue title } buyerData { emailLabel emailValue nameLabel nameValue title } shippingAddressData { title address { country name state street telephone } } shippingMethodData { method title } billingAddressData { title address { country name state street telephone } } paymentMethodData { method title } shippingCarriers { carrier number title } items { productName qty sku } } }
response:
"json"
For more information about Magento Web APIs, you can check Adobe Commerce DevDocs.
Admin has to go to System > Integration > Add New Integration. Here admin can add a new integration.

Here admin has to fill up all the information such as name, email, Callback URL and Identity link URL.

Then admin has to select the resources to which he wants to give access to the new admin member. Admin can select all the resources or can choose some particular resources which the admin wants to give access to the new admin member.

That’s all for Marketplace Web Services API For Magento 2 (Adobe Commerce Cloud), if you still have any issues feel free to add a ticket and let us know your views at Webkul.uvdesk.com to make the module the best.
Current Product Version - 5.1.0
Supported Framework Version - Magento 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x
17 comments
This is an addon for performing mp actions through API from the other website/app. To specify the APIs can be used for- ERP, Mobile application (iOS, Windows, etc).
Thanks and Regards.
Can you please share the snapshot of the same. So that we can look into it.
Further, you can email your query at [email protected] so that we can assist you better. Thanks
No, currently this is not possible with the help of this module. If you want the same then you can contact us at [email protected].
In Marketplace, there is nothing like real sellers. Either they are sellers or not. So when API is called for seller information then the information of all the sellers is returned. For more information, you can email us at [email protected]. Thanks.
The seller login account API is not available in this module. If you want the same then we can develop it through customization.
Kindly email your requirements at [email protected] for better assistance. Thank You
Please contact us at [email protected] if you are looking for the API of a feature that is currently not available.
Thanks
I can create a seller, but i cant edit ?
it does not make any sense, would you have any sugestion to edit a seller info like “company_description” ?
In the current module, the seller account registration API is not included. And you can not edit details of a seller as well. Please contact us at [email protected] to assist you better.
Thanks
Thanks for the recommendation. We will forward the same to the concerned team. The respective team will proceed further accordingly.
Thanks