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 the 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
- Get all sellers data
API Resource: rest/V1/mpapi/admin/sellers
Method: GET
Params:
{
“searchCriteria”:string
}
Responses:
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 }
- 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 } ]
- 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 }
- 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 }
- 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 }
- Pay seller his amount after deducting commission
API Resource: rest/V1/mpapi/admin/sellers/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 } ]
- Assign product(s) to seller
API Resource: /V1/mpapi/admin/sellers/assign
Method: POST
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 } ]
- Unassign product(s) from seller
API Resource: /V1/mpapi/admin/sellers/unassign
Method: POST
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 } ]
- Create a Seller flag reason
API Resource: /V1/mpapi/admin/seller/flagreason
Method: POST
Params:
{
reason : string
status : int
}
Response:
[ { "message": string, "status": int } ]
- Create a Product flag reason
API Resource: /V1/mpapi/admin/product/flagreason
Method: POST
Params:
{
reason : string
status : int
}
Response:
[ { "message": string, "status": int } ]
Seller API Calls: Needs Seller Authorization
- 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 }
- 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 } ] } ]
- 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 }
- 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 }
- 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 } ] }
- 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 } ] }
- Cancel the order
API Resource: rest/V1/mpapi/sellers/me/order/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 } ]
- 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 } ]
- Get the 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 } ]
- Request to create shipment
API Resource: rest/V1/mpapi/sellers/me/order/ship
Method: POST
Params:
{
“trackingId”: string,
“carrier”: string,
“orderId”:string
}
Response:
[ { "status": int, "message": string } ]
- 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 }
- Ask questions to admin
API Resource: rest/V1/mpapi/sellers/me/mailtoadmin
Method: POST
Params:
{
“subject”:string,
“query”: string
}
Response:
[ { "message": string, "status": int } ]
- Mail To Seller (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 } ]
- Request to become partner
API Resource: rest/V1/mpapi/sellers/me/becomepartner
Method: POST
Params:
{
“shopUrl”:string,
“isSeller”:string
}
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 } ]
- Request to create seller account (No token needed)
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 } ]
- Upload Product image (Seller Token Required)
API Resource: rest/V1/mpapi/uploadimage
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 }
17. 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 } } Case 3 : Configurable Product Params { "type": "configurable", /** string */ "set": "4", /** string */ "product": { "category_ids": [ "3" ], /** array */ "name": "testport", /** string */ "description": "testport", /** string */ "short_description": "", /** string */ "sku": "testport", /** string */ "price": "14", /** string */ "special_price": "", /** string */ "special_from_date": "", /** string */ "special_to_date": "", /** string */ "stock_data": { "manage_stock": "1", /** string */ "use_config_manage_stock": "1" /** string */ }, "quantity_and_stock_status": { "is_in_stock": "1" /** string */ }, "visibility": "4", /** string */ "tax_class_id": "0", /** string */ "product_has_weight": "1", /** string */ "weight": "11", /** string */ "meta_title": "", /** string */ "meta_keyword": "", /** string */ "meta_description": "", /** string */ "mp_product_cart_limit": "1", /** string */ "image": "", /** string */ "small_image": "", /** string */ "thumbnail": "", /** string */ "configurable_attributes_data": { "93": { /** string <super_attribute_id> */ "attribute_id": "93", /** string */ "code": "color", /** string */ "label": "Color", /** string */ "position": "0", /** string */ "values": { "51": { /** string <value_id> */ "include": "1", /** string */ "value_index": "51" /** string */ } } } }, "product_length": "", /** string */ "product_width": "", /** string */ "product_height": "", /** string */ "fragile": "0" /** string */ }, "attributes": [ "93" /** string */ ], "variations-matrix": { "51": { /** string <value_id>*/ "image": "", /** string */ "name": "testport-Black", /** string */ "configurable_attribute": "{\"color\":\"51\"}", /** string */ "status": "1", /** string */ "sku": "testport-Black", /** string */ "price": "11.11", /** string */ "quantity_and_stock_status": { /** string */ "qty": "" /** string */ }, "weight": "11.11" /** string */ } }, "associated_product_ids": [ "" /** string */ ], "affect_configurable_product_attributes": "1" /** string */ }
Response:
[ { "error": 0, /** bool */ "product_id": "2155", /** string */ "message": "Product Added Successfully" /** string */ } ]
- Save Seller Profile
API Resource: rest/V1/mpapi/sellers/me/saveprofile
Method: POST
Params:
{
“company_locality”: string,
“contact_number”: string,
“facebook_id”: string,
“fb_active”: string,
“gplus_id”: string,
“instagram_active”: string,
“instagram_id”: string,
“meta_description”: string,
“meta_keyword”: “string,
“payment_source”: string,
“pinterest_active”: string,
“pinterest_id”: string,
“privacy_policy”: string,
“return_policy”: string,
“shipping_policy”: string,
“shop_title”: string,
“taxvat”: string,
“tw_active”: string,
“twitter_id”: string,
“vimeo_active”: string,
“vimeo_id”: string,
“youtube_active”: string,
“youtube_id”: string
}
Response:
[ { "error": bool, "message": string } ]
- Delete Seller Product
API Resource: rest/V1/mpapi/sellers/me/deleteProduct
Method: POST
Params:
{
productIds: string
}
Response:
[ { "message": string, "status": bool } ]
- Report Seller Product
API Resource: rest/V1/mpapi/report/product/:productId
Method: POST
Params:
{
reason: string
}
Response:
[ { "message": string, "status": bool } ]
- Report Seller
API Resource: rest/V1/mpapi/report/seller/:sellerId
Method: POST
Params:
{
reason: string
}
Response:
Case 1. When Successful [ { "flag_id": int, "status": bool, "message": string } ] Case 2. When failed [ { "message": string, "status": bool } ]
Guest Api Calls: No Needs Authorization
- 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 } ] } ]
- Get all sellers list
API Resource: rest/V1/mpapi/sellers
Method: GET
Params:
{
searchCriteria:string
}
The 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 } ] }
- Make seller review
API Resource: rest/V1/mpapi/sellers/reviews
Method: POST
Post Data: (All Object keys)
{
“feedback” : {
“feed_price”: string,
“feed_quality”: string,
“feed_value” : string,
“feed_nickname” : string,
“feed_summary” : string,
“feed_review” : string,
“buyer_email” : string
},
“seller_id” : string
}
Response:
Case 1 : When Success [ { "review_id": string, "message": string, "status": int } ] Case 2 : When feedback object data missing [ { "status": int, "message": string } ]
- Get seller reviews
API Resource: rest/V1/mpapi/sellers/:id/reviews
Method: GET
Params (optional):
{
pageSize:int
currentPage:int
}
Response:
{ "items": [ { "entity_id": string, "seller_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 } ], "total_count": int }
- Get review details by review id
API Resource: rest/V1/mpapi/sellers/:review_id/review
Method: GET
The Response:
Case 1 : When Success { "items": [ { "entity_id": string, "seller_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 }
- Get Seller Details By Product SKU
API Resource: rest/V1/mpapi/sellers/sellerbyproduct/:sku
Method: GET
The Response:
Case 1 : When Success [ { "seller": { "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 }, "message": string } ] Case 2 : When product sku not match [ { "message": string, "seller": 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/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.
GraphQL API Calls
API Type : Query
Guest User Accessible Resources (No authorization needed API resource)
1. To get marketplace landing page details
Query :
query MarketplaceLangingPage { marketplaceLangingPage { aboutImage /** String */ headTitle /** String */ pageLayout /** String */ bannerImage /** String */ banner { content /** String */ image /** String */ label /** String */ } layoutOne { bannerContent /** String */ bannerDisplay /** String */ bannerImage /** String */ iconsDisplay /** String */ marketplacelabel1 /** String */ marketplacelabel2 /** String */ marketplacelabel3 /** String */ marketplacelabel4 /** String */ icons { image /** String */ label /** String */ } } layoutThree { bannerContent /** String */ bannerDisplay /** String */ bannerImage /** String */ iconsDisplay /** String */ marketplacebutton /** String */ marketplacelabel1 /** String */ marketplacelabel2 /** String */ marketplacelabel3 /** String */ icons { image /** String */ label /** String */ } } layoutTwo { bannerContent /** String */ bannerDisplay /** String */ bannerImage /** String */ marketplacebutton /** String */ } sellers { profileurl /** String */ sellerIcon /** String */ sellerProductCount /** String */ shopTitle /** String */ products { id /** Int */ name /** String */ thumbnail /** String */ type /** String */ } } } }
Response :
{ "data": { "marketplaceLandingPage": { "aboutImage": "Turn Your Passion Into a Business", "headTitle": "Turn Your Passion Into a Business", "pageLayout": 3, "banner": [ { "content": "Sell with usWe are largest growing community to sell online, Come and Join us.", "image": "<base_url>/media/marketplace/banner/sell-page-2-hero-banner.jpg", "label": "Open your shop" } ], "layoutOne": { "bannerContent": "<h1>Sell with us</h1><h2>We are largest growing community to sell online, Come and Join us.</h2>", "bannerDisplay": "0", "bannerImage": "<base_url>/media/marketplace/banner/sell-page-banner.png", "iconsDisplay": "1", "marketplacelabel1": "Turn Your Passion Into a Business", "marketplacelabel2": "Sellers with Taste", "marketplacelabel3": "More than 500 shop owners have joined us last month", "marketplacelabel4": "Why to sell with us", "icons": [ { "image": "<base_url>/media/marketplace/icon/icon-register-yourself.png", "label": "Register Yourself" }, { "image": "<base_url>/media/marketplace/icon/icon-add-products.png", "label": "Add Products" }, { "image": "<base_url>/media/marketplace/icon/icon-start-selling.png", "label": "Start Selling" }, { "image": "<base_url>/media/marketplace/icon/icon-collect-revenues.png", "label": "Generate Revenues" } ] }, "layoutThree": { "bannerContent": "<h1>Sell with us</h1><h2>We are largest growing community to sell online, Come and Join us.</h2>", "bannerDisplay": "1", "bannerImage": "<base_url>/media/marketplace/banner/sell-page-2-hero-banner.jpg", "iconsDisplay": "0", "marketplacebutton": "Open your shop", "marketplacelabel1": "Really easy to setup and customize", "marketplacelabel2": "Why to sell with us", "marketplacelabel3": "Open your online shop & Explore a new world of market with more then millions of shoppers", "icons": [ { "image": "<base_url>/media/marketplace/icon/sell-page-2-setup-1.png", "label": "Create an Account" }, { "image": "<base_url>/media/marketplace/icon/sell-page-2-setup-2.png", "label": "Customize your Profile" }, { "image": "<base_url>/media/marketplace/icon/sell-page-2-setup-3.png", "label": "Add your Details" }, { "image": "<base_url>/media/marketplace/icon/sell-page-2-setup-4.png", "label": "Add your Product Listing" }, { "image": "<base_url>/media/marketplace/icon/sell-page-2-setup-5.png", "label": "Sell your Product and Earn Profits" } ] }, "layoutTwo": { "bannerContent": "<h1>Have you got something exciting</h1><h2>Come On! Sell with us.</h2>", "bannerDisplay": "1", "bannerImage": "<base_url>/media/marketplace/banner/sell-page-1-hero-banner.jpg", "marketplacebutton": "Open your shop" }, "sellers": [ { "profileurl": "test.com", "sellerIcon": "<base_url>/media/avatar/Screenshot_from_2023-08-01_11-41-37.png", "sellerProductCount": "50", "shopTitle": "test seller", "products": [ { "id": 1241, "name": "vi1", "thumbnail": "<base_url>/static/version1695028166/graphql/_view/en_US/Magento_Catalog/images/product/placeholder/.jpg", "type": "virtual" } ] } ] } } }
2. To get Seller List
Query :
query SellersList { sellersList( filter: { is_seller: { eq: 1 /** Int */ } } ) { total_count /** Int */ items { admin_notification /** String */ background_width /** String */ allowed_categories /** String */ banner_pic /** String */ company_description /** String */ company_locality /** String */ contact_number /** String */ country_pic /** String */ created_at /** String */ entity_id /** String */ facebook_id /** String */ fb_active /** String */ gplus_active /** String */ gplus_id /** String */ instagram_active /** String */ instagram_id /** String */ is_seller /** String */ logo_pic /** String */ meta_description /** String */ meta_keyword /** String */ moleskine_active /** String */ moleskine_id /** String */ others_info /** String */ payment_source /** String */ pinterest_active /** String */ pinterest_id /** String */ privacy_policy /** String */ return_policy /** String */ seller_id /** String */ shipping_policy /** String */ shop_title /** String */ shop_url /** String */ store_id /** String */ tw_active /** String */ twitter_id /** String */ updated_at /** String */ vimeo_active /** String */ vimeo_id /** String */ youtube_active /** String */ youtube_id /** String */ } } }
Response :
{ "data": { "sellersList": { "total_count": 6, "items": [ { "admin_notification": "0", "allowed_categories": "", "background_width": null, "banner_pic": null, "company_description": null, "company_locality": null, "contact_number": null, "country_pic": null, "created_at": "2023-04-17 13:14:16", "entity_id": "1", "facebook_id": null, "fb_active": "0", "gplus_active": "0", "gplus_id": null, "instagram_active": "0", "instagram_id": null, "is_seller": "1", "logo_pic": null, "meta_description": null, "meta_keyword": null, "moleskine_active": "0", "moleskine_id": null, "others_info": null, "payment_source": null, "pinterest_active": "0", "pinterest_id": null, "privacy_policy": null, "return_policy": null, "seller_id": "1", "shipping_policy": null, "shop_title": null, "shop_url": "ak.com", "store_id": "0", "tw_active": "0", "twitter_id": null, "updated_at": "2023-06-23 12:35:55", "vimeo_active": "0", "vimeo_id": null, "youtube_active": "0", "youtube_id": null } ] } } }
3. To Get Seller Product
Query :
query GetSellerProduct { getSellerProduct( id: 1 /** Int */ ) { total_count /** Int */ items { mageproduct_id /** String */ name /** String */ sku /** String */ type /** String */ } } }
Response :
{ "data": { "getSellerProduct": { "total_count": 39, "items": [ { "mageproduct_id": "2143", "name": "rest1121", "sku": "rest1121", "type": "simple" } ] } } }
4. To Get Seller Review
Query :
query GetSellerReview { getSellerReview( id: 1 /** Int */ pageSize: 1 /** Int */ currentPage: 1 /** Int */ ) { total_count /** Int */ items { admin_notification /** String */ buyer_email /** String */ created_at /** String */ entity_id /** String */ feed_nickname /** String */ feed_price /** String */ feed_quality /** String */ feed_review /** String */ feed_summary /** String */ feed_value /** String */ seller_id /** String */ seller_pending_notification /** String */ status /** String */ updated_at /** String */ } } }
Response :
{ "data": { "getSellerReview": { "total_count": 2, "items": [ { "admin_notification": "0", "buyer_email": null, "created_at": "2023-06-19 12:24:53", "entity_id": "1", "feed_nickname": "Ashish test", "feed_price": "80", "feed_quality": "60", "feed_review": "test best ", "feed_summary": "testtt", "feed_value": "60", "seller_id": "1", "seller_pending_notification": "1", "status": "1", "updated_at": "2023-06-19 12:26:12" } ] } } }
5. To Get Seller Review Details
Query :
query GetSellerReviewDetails { getSellerReviewDetails( id: 1 /** Int */ ) { total_count /** Int */ items { admin_notification /** String */ buyer_email /** String */ buyer_id /** String */ created_at /** String */ entity_id /** String */ feed_nickname /** String */ feed_price /** String */ feed_quality /** String */ feed_review /** String */ feed_summary /** String */ feed_value /** String */ seller_id /** String */ seller_pending_notification /** String */ status /** String */ updated_at /** String */ } } }
Response :
{ "data": { "getSellerReviewDetails": { "total_count": 1, "items": [ { "admin_notification": "0", "buyer_email": null, "buyer_id": "4", "created_at": "2023-06-19 12:24:53", "entity_id": "1", "feed_nickname": "Ashish test", "feed_price": "80", "feed_quality": "60", "feed_review": "test best ", "feed_summary": "testtt", "feed_value": "60", "seller_id": "1", "seller_pending_notification": "1", "status": "1", "updated_at": "2023-06-19 12:26:12" } ] } } }
6. To Get Seller/Product Flag Configuration
Query :
query MpReportConfig { mpReportConfig { reportProduct /** String */ reportProductGuestStatus /** String */ reportProductLabel /** String */ reportSeller /** String */ reportSellerGuestStatus /** String */ reportSellerLabel /** String */ reportProductReasons { id /** String */ label /** String */ } reportSellerReasons { id /** String */ label /** String */ } } }
Response :
{ "data": { "mpReportConfig": { "reportProduct": "1", "reportProductGuestStatus": "0", "reportProductLabel": "Report Product", "reportSeller": "1", "reportSellerGuestStatus": "1", "reportSellerLabel": "Report Seller", "reportProductReasons": [ { "id": "1", "label": "test" }, { "id": "2", "label": "dummy" }, { "id": "other_reason", "label": "Other" } ], "reportSellerReasons": [ { "id": "1", "label": "reason1" }, { "id": "other_reason", "label": "Other" } ] } } }
GraphQl- Seller User Accessible resources- Seller authorization Needed API Resource
1. To Get Seller Profile
Query :
query SellerSelf { sellerSelf { admin_notification /** String */ allowed_categories /** String */ background_width /** String */ banner_pic /** String */ company_description /** String */ company_locality /** String */ contact_number /** String */ country_pic /** String */ created_at /** String */ entity_id /** String */ facebook_id /** String */ fb_active /** String */ gplus_active /** String */ gplus_id /** String */ instagram_active /** String */ instagram_id /** String */ is_seller /** String */ logo_pic /** String */ meta_description /** String */ meta_keyword /** String */ moleskine_active /** String */ moleskine_id /** String */ others_info /** String */ payment_source /** String */ pinterest_active /** String */ pinterest_id /** String */ privacy_policy /** String */ return_policy /** String */ seller_id /** String */ shipping_policy /** String */ shop_title /** String */ shop_url /** String */ status /** String */ store_id /** String */ tw_active /** String */ twitter_id /** String */ updated_at /** String */ vimeo_active /** String */ vimeo_id /** String */ youtube_active /** String */ youtube_id /** String */ } }
Response :
{ "data": { "sellerSelf": { "admin_notification": "0", "allowed_categories": "", "background_width": null, "banner_pic": null, "company_description": null, "company_locality": null, "contact_number": null, "country_pic": null, "created_at": "2023-04-17 13:14:16", "entity_id": "1", "facebook_id": null, "fb_active": "0", "gplus_active": "0", "gplus_id": null, "instagram_active": "0", "instagram_id": null, "is_seller": "1", "logo_pic": null, "meta_description": null, "meta_keyword": null, "moleskine_active": "0", "moleskine_id": null, "others_info": null, "payment_source": null, "pinterest_active": "0", "pinterest_id": null, "privacy_policy": null, "return_policy": null, "seller_id": "1", "shipping_policy": null, "shop_title": null, "shop_url": "ak.com", "status": null, "store_id": "0", "tw_active": "0", "twitter_id": null, "updated_at": "2023-06-23 12:35:55", "vimeo_active": "0", "vimeo_id": null, "youtube_active": "0", "youtube_id": null } } }
2. To Get Seller Product
Query :
query SellerSelfProduct { sellerSelfProduct { total_count /** Int */ items { mageproduct_id /** String */ name /** String */ sku /** String */ type /** String */ } } }
Response :
{ "data": { "sellerSelfProduct": { "total_count": 39, "items": [ { "mageproduct_id": "2143", "name": "rest1121", "sku": "rest1121", "type": "simple" }, { "mageproduct_id": "2142", "name": "look1", "sku": "look1", "type": "configurable" } ] } } }
3. To Get Seller Order List
Query :
query SellerOrderList { sellerOrderList( filter: { seller_id: { eq: 1 /** Int */ } } ) { total_count /** Int */ items { actual_seller_amount /** String */ applied_coupon_amount /** String */ commission_rate /** String */ cpprostatus /** String */ created_at /** String */ currency_rate /** String */ entity_id /** String */ is_coupon /** String */ is_paid /** String */ is_shipping /** String */ is_withdrawal_requested /** String */ magebuyer_id /** String */ magepro_name /** String */ magepro_price /** String */ mageproduct_id /** String */ magequantity /** String */ magerealorder_id /** String */ order_id /** String */ order_item_id /** String */ paid_status /** String */ parent_item_id /** String */ seller_id /** String */ total_amount /** String */ total_commission /** String */ total_tax /** String */ trans_id /** String */ updated_at /** String */ } } }
Response :
{ "data": { "sellerOrderList": { "total_count": 2, "items": [ { "actual_seller_amount": "40.0000", "applied_coupon_amount": "0.0000", "commission_rate": "20.0000", "cpprostatus": "0", "created_at": "2023-06-19 09:04:19", "currency_rate": "1.0000", "entity_id": "1", "is_coupon": "1", "is_paid": "0", "is_shipping": "1", "is_withdrawal_requested": "0", "magebuyer_id": "1", "magepro_name": "test111", "magepro_price": "50.0000", "mageproduct_id": "4", "magequantity": "1", "magerealorder_id": "000000002", "order_id": "2", "order_item_id": "2", "paid_status": "0", "parent_item_id": null, "seller_id": "1", "total_amount": "50.0000", "total_commission": "10.0000", "total_tax": "0.0000", "trans_id": "0", "updated_at": "2023-06-19 09:04:19" } ] } } }
4. To Get Seller Order Sale List
Query :
query SellerOrderSales { sellerOrderSales { total_count /** Int */ items { carrier_name /** String */ coupon_amount /** String */ created_at /** String */ creditmemo_id /** String */ entity_id /** String */ invoice_id /** String */ is_canceled /** String */ order_id /** String */ order_status /** String */ product_ids /** String */ refunded_coupon_amount /** String */ refunded_shipping_charges /** String */ seller_id /** String */ seller_pending_notification /** String */ shipment_id /** String */ shipping_charges /** String */ tax_to_seller /** String */ total_tax /** String */ tracking_number /** String */ updated_at /** String */ } } }
Response :
{ "data": { "sellerOrderSales": { "total_count": 2, "items": [ { "carrier_name": null, "coupon_amount": "0.0000", "created_at": "2023-06-19 09:04:19", "creditmemo_id": "0", "entity_id": "1", "invoice_id": "0", "is_canceled": "0", "order_id": "2", "order_status": "pending", "product_ids": "4", "refunded_coupon_amount": "0.0000", "refunded_shipping_charges": "0.0000", "seller_id": "1", "seller_pending_notification": "1", "shipment_id": "0", "shipping_charges": "0.0000", "tax_to_seller": "1", "total_tax": "0.0000", "tracking_number": null, "updated_at": "2023-06-19 09:04:19" } ] } } }
5. To Get Seller Shipment Details
Query :
query SellerGetShipmentDetails { sellerGetShipmentDetails( orderId: 2, /** Int */ shipmentId: 1 /** Int */ ) { mainHeading /** String */ sendmailAction /** String */ sendmailWarning /** String */ subHeading /** String */ billingAddressData { title /** String */ address { country name /** String */ state /** String */ street /** String */ telephone /** String */ } } shippingMethodData { method /** String */ title /** String */ } shippingCarriers { carrier /** String */ number /** String */ title /** String */ } shippingAddressData { title /** String */ address { country /** String */ name /** String */ state /** String */ street /** String */ telephone /** String */ } } paymentMethodData { method /** String */ title /** String */ } orderData { dateLabel /** String */ dateValue /** String */ label /** String */ statusLabel /** String */ statusValue /** String */ title /** String */ } items { productName /** String */ qty /** Int */ sku /** String */ } buyerData { emailLabel /** String */ emailValue /** String */ nameLabel /** String */ nameValue /** String */ title /** String */ } } }
Response :
{ "data": { "sellerGetShipmentDetails": { "mainHeading": "View Shipment Details", "sendmailAction": "Send Email To Customer", "sendmailWarning": "Are you sure you want to send shipment email to customer?", "subHeading": "Shipment #000000001 | 2023-07-11 11:49:21", "billingAddressData": { "title": "Billing Address", "address": [ { "country": "India", "name": "Ashish test", "state": "Noida, Uttar Pradesh, 802301", "street": "Noida", "telephone": "T: 01212121211" } ] }, "shippingMethodData": { "method": "Flat Rate - Fixed", "title": "Shipping Information" }, "shippingCarriers": [ { "carrier": "Federal Express", "number": null, "title": "Federal Express" } ], "shippingAddressData": { "title": "Shipping Address", "address": [ { "country": "India", "name": "Ashish test", "state": "Noida, Uttar Pradesh, 802301", "street": "Noida", "telephone": "T: 01212121211" } ] }, "paymentMethodData": { "method": "Check / Money order", "title": "Payment Method" }, "orderData": { "dateLabel": "Order Date", "dateValue": "2023-06-19 09:04:18", "label": "Order # 000000002", "statusLabel": "Order Status", "statusValue": "Complete", "title": "Order Information" }, "items": [ { "productName": "test111", "qty": 1, "sku": "test221" } ], "buyerData": { "emailLabel": "Email: ", "emailValue": "[email protected]", "nameLabel": "Customer Name: ", "nameValue": "test ak", "title": "Buyer Information" } } } }
6. To Get Seller Invoice Details
Query :
query SellerGetInvoiceDetails { sellerGetInvoiceDetails( orderId: 2, /** Int */ invoiceId: 1 /** Int */ ) { mainHeading /** String */ sendmailAction /** String */ sendmailWarning /** String */ subHeading /** String */ billingAddressData { title /** String */ address { country /** String */ name /** String */ state /** String */ street /** String */ telephone /** String */ } } buyerData { emailLabel /** String */ emailValue /** String */ nameLabel /** String */ nameValue /** String */ title /** String */ } items { adminComission /** String */ price /** String */ productName /** String */ subTotal /** String */ vendorTotal /** String */ } totalVendorAmount { title /** String */ value /** String */ } totalOrderedAmount { title /** String */ value /** String */ } totalAdminComission { title /** String */ value /** String */ } tax { title /** String */ value /** String */ } subtotal { title /** String */ value /** String */ } shippingMethodData { method /** String */ title /** String */ } shippingAddressData { title /** String */ address { country /** String */ name /** String */ state /** String */ street /** String */ telephone /** String */ } } shipping { title /** String */ value /** String */ } paymentMethodData { method /** String */ title /** String */ } orderData { dateLabel /** String */ dateValue /** String */ label /** String */ statusLabel /** String */ statusValue /** String */ title /** String */ } } }
Response :
{ "data": { "sellerGetInvoiceDetails": { "mainHeading": "View Invoice Details", "sendmailAction": "Send Email To Customer", "sendmailWarning": "Are you sure you want to send order email to customer?", "subHeading": "Invoice #000000001 - Paid | 2023-07-11 11:49:04", "billingAddressData": { "title": "Billing Address", "address": [ { "country": "India", "name": "Ashish test", "state": "Noida, Uttar Pradesh, 802301", "street": "Noida", "telephone": "T: 01212121211" } ] }, "buyerData": { "emailLabel": "Email: ", "emailValue": "[email protected]", "nameLabel": "Customer Name: ", "nameValue": "test ak", "title": "Buyer Information" }, "items": [ { "adminComission": "$0.00", "price": "$50.00", "productName": "test111", "subTotal": "$50.00", "vendorTotal": "$40.00" } ], "totalVendorAmount": { "title": "Total Vendor Amount", "value": "$40.00" }, "totalOrderedAmount": { "title": "Total Ordered Amount", "value": "$50.00" }, "totalAdminComission": { "title": "Total Admin Commission", "value": "$0.00" }, "tax": { "title": "Total Tax", "value": "$0.00" }, "subtotal": { "title": "Subtotal", "value": "$50.00" }, "shippingMethodData": { "method": "Flat Rate - Fixed", "title": "Shipping Information" }, "shippingAddressData": { "title": "Shipping Address", "address": [ { "country": "India", "name": "Ashish test", "state": "Noida, Uttar Pradesh, 802301", "street": "Noida", "telephone": "T: 01212121211" } ] }, "shipping": { "title": "Shipping & Handling", "value": "$0.00" }, "paymentMethodData": { "method": "Check / Money order", "title": "Payment Method" }, "orderData": { "dateLabel": "Order Date", "dateValue": "2023-06-19 09:04:18", "label": "Order # 000000002", "statusLabel": "Order Status", "statusValue": "Complete", "title": "Order Information" } } } }
7. To Get Seller Credit Memo Details
Query :
query SellerGetCreditmemoDetails { sellerGetCreditmemoDetails( orderId: 3, /** Int */ creditmemoId: 1 /** Int */ ) { mainHeading /** String */ sendmailAction /** String */ sendmailWarning /** String */ subHeading /** String */ billingAddressData { title /** String */ address { country /** String */ name /** String */ state /** String */ street /** String */ telephone /** String */ } } buyerData { emailLabel /** String */ emailValue /** String */ nameLabel /** String */ nameValue /** String */ title /** String */ } items { adminComission /** String */ price /** String */ productName /** String */ subTotal /** String */ vendorTotal /** String */ } totalVendorAmount { title /** String */ value /** String */ } totalOrderedAmount { title /** String */ value /** String */ } totalAdminComission { title /** String */ value /** String */ } paymentMethodData { method /** String */ title /** String */ } orderData { dateLabel /** String */ dateValue /** String */ label /** String */ statusLabel /** String */ statusValue /** String */ title /** String */ } shippingAddressData { title /** String */ address { country /** String */ name /** String */ state /** String */ street /** String */ telephone /** String */ } } shippingMethodData { method /** String */ title /** String */ } subtotal { title /** String */ value /** String */ } tax { title /** String */ value /** String */ } shipping { title /** String */ value /** String */ } } }
Response :
{ "data": { "sellerGetCreditmemoDetails": { "mainHeading": "Credit Memo Information", "sendmailAction": "Send Email To Customer", "sendmailWarning": "Are you sure you want to send order email to customer?", "subHeading": "Credit Memo #000000001 - Refunded | 2023-07-11 12:10:44", "billingAddressData": { "title": "Billing Address", "address": [ { "country": "India", "name": "Ashish test", "state": "Noida, Uttar Pradesh, 802301", "street": "Noida", "telephone": "T: 01212121211" } ] }, "buyerData": { "emailLabel": "Email: ", "emailValue": "[email protected]", "nameLabel": "Customer Name: ", "nameValue": "test ak", "title": "Buyer Information" }, "items": [ { "adminComission": "$0.00", "price": "$50.00", "productName": "test111", "subTotal": "$50.00", "vendorTotal": "$0.00" } ], "totalVendorAmount": { "title": "Total Vendor Amount", "value": "$0.00" }, "totalOrderedAmount": { "title": "Total Ordered Amount", "value": "$50.00" }, "totalAdminComission": { "title": "Total Admin Commission", "value": "$0.00" }, "paymentMethodData": { "method": "Check / Money order", "title": "Payment Method" }, "orderData": { "dateLabel": "Order Date", "dateValue": "2023-06-19 09:16:50", "label": "Order # 000000003", "statusLabel": "Order Status", "statusValue": "Closed", "title": "Order Information" }, "shippingAddressData": { "title": "Shipping Address", "address": [ { "country": "India", "name": "Ashish test", "state": "Noida, Uttar Pradesh, 802301", "street": "Noida", "telephone": "T: 01212121211" } ] }, "shippingMethodData": { "method": "Flat Rate - Fixed", "title": "Shipping Information" }, "subtotal": { "title": "Subtotal", "value": "$50.00" }, "tax": { "title": "Total Tax", "value": "$0.00" }, "shipping": { "title": "Shipping & Handling", "value": "$0.00" } } } }
8. To Get Seller Details By Product SKU
Query :
query SellerByProductSku { sellerByProductSku( productSku: "check" /** Int */ ) { message /** String */ seller { admin_notification /** String */ allowed_categories /** String */ background_width /** String */ banner_pic /** String */ company_description /** String */ company_locality /** String */ contact_number /** String */ country_pic /** String */ created_at /** String */ email /** String */ entity_id /** Int */ facebook_id /** String */ fb_active /** String */ gplus_active /** String */ gplus_id /** String */ instagram_active /** String */ instagram_id /** String */ is_seller /** Int */ logo_pic /** String */ meta_description /** String */ meta_keyword /** String */ moleskine_active /** String */ moleskine_id /** String */ order_count /** String */ orders_count /** String */ others_info /** String */ payment_source /** String */ pinterest_active /** String */ pinterest_id /** String */ privacy_policy /** String */ product_count /** String */ return_policy /** String */ seller_id /** Int */ seller_rating /** String */ shipping_policy /** String */ shop_title /** String */ shop_url /** String */ store_id /** String */ tw_active /** String */ twitter_id /** String */ updated_at /** String */ vimeo_active /** String */ vimeo_id /** String */ youtube_active /** String */ youtube_id /** String */ } } }
Response :
{ "data": { "sellerByProductSku": { "message": "Success", "seller": { "admin_notification": "0", "allowed_categories": "", "background_width": null, "banner_pic": null, "company_description": null, "company_locality": "Noida123", "contact_number": "2309876535", "country_pic": null, "created_at": "2023-07-05 11:12:36", "email": "[email protected]", "entity_id": "9", "facebook_id": "#", "fb_active": "1", "gplus_active": "0", "gplus_id": "#", "instagram_active": "1", "instagram_id": "#", "is_seller": "1", "logo_pic": "{base_url}/media/avatar/noimage.png", "meta_description": "test", "meta_keyword": "test1", "moleskine_active": "0", "moleskine_id": null, "order_count": "2", "orders_count": null, "others_info": null, "payment_source": "test1", "pinterest_active": "1", "pinterest_id": "#", "privacy_policy": "testPrivacy", "product_count": "13", "return_policy": "test return", "seller_id": "1", "seller_rating": "1.7", "shipping_policy": "test Ship", "shop_title": "title", "shop_url": "ak.com", "store_id": "1", "tw_active": "1", "twitter_id": "##", "updated_at": "2023-07-10 12:44:52", "vimeo_active": "1", "vimeo_id": "##", "youtube_active": "1", "youtube_id": "##" } } } }
API Type: Mutation
9. Make Seller Review
Query :
mutation MakeSellerReview { makeSellerReview( sellerId: 1 /** Int */ feedback: { buyer_email: "[email protected]", /** String */ feed_nickname: "test", /** String */ feed_price: 20, /** Int */ feed_quality: 20, /** Int */ feed_review: "40", /** String */ feed_summary: "test", /** String */ feed_value: 60 /** Int */ } ) { message /** String */ review_id /** Int */ status /** Int */ } }
Response :
{ "data": { "makeSellerReview": { "message": "Your review successfully saved", "review_id": 10, "status": 1 } } }
10. Create Seller Account
Query :
mutation CreateSellerAccount { createSellerAccount( customer: { email: "[email protected]", /** String */ firstname: "test wk", /** String */ is_seller: true, /** Boolean */ is_subscribed: true, /** Boolean */ lastname: "WK", /** String */ password: "Admin123" /** String */ } ) { customer { allow_remote_shopping_assistance /** Boolean */ created_at /** String */ date_of_birth /** String */ email /** String */ firstname /** String */ gender /** String */ group_id /** Int */ id /** Int */ is_subscribed /** Boolean */ lastname /** String */ middlename /** String */ prefix /** String */ suffix /** String */ taxvat /** String */ } } }
Response :
{ "data": { "createSellerAccount": { "customer": { "allow_remote_shopping_assistance": false, "created_at": "2023-07-11 12:57:53", "date_of_birth": null, "email": "[email protected]", "firstname": "test wk", "gender": null, "group_id": null, "id": null, "is_subscribed": true, "lastname": "WK", "middlename": null, "prefix": null, "suffix": null, "taxvat": null } } } }
11. Add Seller Product
Query :
Case 1. Simple Product : mutation SellerAddProduct { sellerAddProduct( type: "simple" /** String */ set: 4 /** Int */ product: { category_ids: [3], /** [Int] */ description: "test123", /** String */ mp_product_cart_limit: 1, /** Int */ name: "test123", /** String */ price: 321, /** Int */ product_has_weight: 1, /** Int */ quantity_and_stock_status: { is_in_stock: 1, /** Int */ qty: 22 /** Int */ }, short_description: "test123", /** String */ sku: "test123", /** String */ stock_data: { manage_stock: 1, /** Int */ use_config_manage_stock: 1 /** Int */ }, visibility: 4, /** Int */ weight: 44 /** Int */ } ) { error /** Int */ message /** String */ product_id /** String */ } } Case 2. Configurable Product : mutation SellerAddProduct { sellerAddProduct( type: "configurable" /** String */ set: 4 /** Int */ product: { category_ids: [3], /** [Int] */ description: "test1234", /** String */ mp_product_cart_limit: 1, /** Int */ name: "test1234", /** String */ price: 321, /** Int */ product_has_weight: 1, /** Int */ quantity_and_stock_status: { is_in_stock: 1 /** Int */ }, short_description: "test123", /** String */ sku: "test1234", /** String */ stock_data: { manage_stock: 1, /** Int */ use_config_manage_stock: 1 /** Int */ }, visibility: 4, /** Int */ weight: 44, /** Int */ affect_configurable_product_attributes: 1, /** Int */ configurable_attributes_data: { attribute_id: 93, /** Int */ attribute_data: { attribute_id: 93, /** Int */ code: "color", /** String */ label: "Black", /** String */ position: 0, /** Int */ values: { include: 1, /** Int */ value_index: 51 /** Int */ } } } } attributes: [93] /** [Int] */ variations_matrix: [ { image: "", /** String */ name: "test1234-Black", /** String */ configurable_attribute: "{\"color\":\"51\"}", /** String */ status: 1, /** Int */ sku: "test1234-Black", /** String */ price: 11, /** Int */ quantity_and_stock_status: { qty: 11 /** Int */ }, weight: 11 /** Int */ } ] ) { error /** Int */ message /** String */ product_id /** String */ } }
Response :
{ "data": { "sellerAddProduct": { "error": 0, "message": "Product Added Successfully", "product_id": "2147" } } }
12. Report Seller
Query :
Case 1. By Guest: mutation ReportSeller { reportSeller( sellerId: 6, /** Int */ reason: "test", /** String */ name: "test", /** String */ email: "[email protected]" /** String */ ) { message /** String */ } } Case 2. By Seller Token: mutation ReportSeller { reportSeller( sellerId: 6, /** Int */ reason: "test" /** String */ ) { message /** String */ } }
The Response :
{ "data": { "reportSeller": { "message": "Seller Flag saved succesfully" } } }
13. Report Product
Query :
Case 1. By Guest: mutation ReportProduct { reportProduct( productId: 2149, /** Int */ reason: "test" /** String */ ) { message /** String */ } } Case 2. By Seller Token: mutation ReportProduct { reportProduct( productId: 2149 /** Int */ reason: "test" /** String */ name: "test user" /** String */ email: "[email protected]" /** String */ ) { message /** String */ } }
The Response :
Case 1. When Success: { "data": { "reportProduct": { "message": "Product Flag saved succesfully" } } }
14. Seller Cancel Order
Query :
mutation SellerCancelOrder { sellerCancelOrder( orderId: 7 /** Int */ ) { message /** String */ status /** String */ } }
Response :
ase 1. When Success: { "data": { "reportProduct": { "message": "The order has been cancelled." "status": "success", } } } Case 2. When Not permission: { "data": { "reportProduct": { "message": "You are not permitted to cancel this order." "status": "error", } } }
15. Seller Create Credit Memo
Query :
mutation SellerCreateCreditmemo { sellerCreateCreditmemo( orderId: 2 /** Int */ invoiceId: 1 /** Int */ creditmemo: { do_offline: true, /** Boolean */ comment_text: "test", /** String */ is_visible_on_front: true, /** Boolean */ items: { qty: 1, /** Int */ back_to_stock: true, /** Boolean */ itemId: 1 /** Int */ } send_email: true, /** Boolean */ shipping_amount: 11, /** Int */ adjustment_negative: 10, /** Int */ adjustment_positive: 20, /** Int */ comment_customer_notify: 1 /** Int */ } ) { id /** Int */ message /** String */ status /** Boolean */ } }
Response :
Case 1. When Success: { "data": { "sellerCreateCreditmemo": { "id": "10", "message": "You created the credit memo." "status": 1, } } } Case 2. When Failed: { "data": { "sellerCreateCreditmemo": { "message": "Invalid Request" "status": 0, } } }
16. Seller Mail To Admin
Query :
mutation SellerMailToAdmin { sellerMailToAdmin( query: "test121", /** String */ subject: "test data" /** String */ ) { message /** String */ } }
Response :
{ "data": { "sellerMailToAdmin": { "message": "The message has been sent." } } }
17. Seller Mail To Seller
Query :
mutation SellerMailToSeller { sellerMailToSeller( subject: "test121", /** String */ query: "test data", /** String */ productId: 7 /** Int */ ) { message /** String */ } }
Response :
Case 1. When Success: { "data": { "sellerMailToSeller": { "message": "Mail sent successfully !!" "status": "1" } } } Case 2. When Failed: { "data": { "sellerMailToSeller": { "message": "Invalid Request" "status": "0" } } }
18. Contact Seller By Seller Id
Query :
mutation ContactSellerBySellerId { contactSellerBySellerId( subject: "test11", /** String */ query: "sdasdas", /** String */ sellerId: 1 /** Int */ ) { message /** String */ } }
Response :
Case 1. When Success: { "data": { "contactSellerBySellerId": { "message": "Mail sent successfully !!" } } } Case 2. When Failed: { "data": { "contactSellerBySellerId": { "message": "Invalid Seller" } } }
19. Become Seller
Query :
mutation SellerBecomePartner { sellerBecomePartner( shopUrl: "test1", /** String */ isSeller: 1 /** Int */ ) { message /** String */ status /** Int */ } }
Response :
Case 1. When Success: { "data": { "sellerBecomePartner": { "message": "Profile information was successfully saved" "status": "1" } } } Case 2. When Already: { "data": { "SellerBecomePartner": { "message": "already seller" "status": "0" } } } Case 3. When ShopURL already exist: { "data": { "SellerBecomePartner": { "message": "Shop URL already exist please set another." "status": "0" } } }
20. Save Seller Profile
Query :
mutation SaveSellerProfile { saveSellerProfile( input: { company_locality: "test", contact_number: "1111111111", facebook_id: "#", fb_active: "1", gplus_id: "##", instagram_active: "1", instagram_id: "##", shop_title: "test" } ) }
Response :
{ "data": { "saveSellerProfile": true /** Boolean */ } }
21. Delete Seller Product
Query :
mutation DeleteSellerProducts { deleteSellerProducts( productIds: [1] /** Array[Int] */ ) { message /** String */ status /** Boolean */ } }
Response :
Case 1. When Failed: { "data": { "deleteSellerProducts": { "message": "Not Deleted", "status": false } } } Case 2. When Success: { "data": { "deleteSellerProducts": { "message": "Products are successfully deleted from your account.", "status": true } } }
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.2
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