I need some help with figuring out how to delete releted items using the API interface.
Creating is simple
"product_links": [{ "sku": "DIG1300", "link_type": "related", "linked_product_sku": "SABT4", "linked_product_type": "simple", "position": 0 }, { "sku": "DIG1300", "link_type": "related", "linked_product_sku": " MC18", "linked_product_type": "simple", "position": 0 }],
etc.
I've tried setting some parameters with a null to no avail.
I'm hoping there's something similar to advanced pricing API where you can remove the option by setting qty to 0
working:
"tier_prices": [{ "customer_group_id": 4, "qty": 1, "value": 199, "extension_attributes": { "website_id": 0 } }],
removed
"tier_prices": [{ "customer_group_id": 4, "qty": 0, "value": 199, "extension_attributes": { "website_id": 0 } }],
Thank you.
Solved! Go to Solution.
okay i understand your question , and yes you can remove that related products links via PUT method using rest api of Magento !
Below is the exact way/API details to remove this related products !
URL : http://mydomain.com/index.php/rest/V1/products/24-MB01/
Method : PUT
parameters :
{ "product":{ "extensionAttributes":{ "category_links":[ { "position":0, "category_id":"11" } ] }, "sku":"24-MB01", "name":"Joust Duffle Bags", "price":10, "type_id":"simple", "status":1, "attribute_set_id":4, "product_links": [ ] } }
Authorization : bearer your-access-token
So you just need to pass the blank array of product_links parameters like below :
product_links": [ ]
Update the product using above API details , it will remove the related products for the same !
I have tried the same in POSTMAN and it works perfectly
Try at your end , Hope it helps !
Yes it is possible to remove single section as well !
you just need to remove specific items values from that product_links section !
Like below is the example !
"product_links": [ { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB04", "linked_product_type": "simple", "position": 1 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB03", "linked_product_type": "simple", "position": 2 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB05", "linked_product_type": "simple", "position": 3 }, { "sku": "24-MB01", "link_type": "upsell", "linked_product_sku": "24-MB04", "linked_product_type": "simple", "position": 1 }, { "sku": "24-MB01", "link_type": "upsell", "linked_product_sku": "24-MB03", "linked_product_type": "simple", "position": 2 }, { "sku": "24-MB01", "link_type": "upsell", "linked_product_sku": "24-MB05", "linked_product_type": "simple", "position": 3 } ]
From above parameters , if you wanted to remove upsell products , then you just need to remove upsell products entries from above parameters like below :
"product_links": [ { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB04", "linked_product_type": "simple", "position": 1 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB03", "linked_product_type": "simple", "position": 2 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB05", "linked_product_type": "simple", "position": 3 } ]
Then same call PUT method with above given URL , it will remove upsell product separate section only !
it will remove specific section like only upsell products , its work on POSTMAN for the same !
Happy to help and keep helping others
So exactly , you would like to remove related products using API ? or you wanted to remove tier pricing using API ?
Could you please clarify , so its help us to troubleshoot the issue
I'm trying to remove "related products" via API.
the 'tier pricing' was just an example that works for removing 'tier pricing' entries. i was just hoping there's something similar to that for 'related products'.
okay i understand your question , and yes you can remove that related products links via PUT method using rest api of Magento !
Below is the exact way/API details to remove this related products !
URL : http://mydomain.com/index.php/rest/V1/products/24-MB01/
Method : PUT
parameters :
{ "product":{ "extensionAttributes":{ "category_links":[ { "position":0, "category_id":"11" } ] }, "sku":"24-MB01", "name":"Joust Duffle Bags", "price":10, "type_id":"simple", "status":1, "attribute_set_id":4, "product_links": [ ] } }
Authorization : bearer your-access-token
So you just need to pass the blank array of product_links parameters like below :
product_links": [ ]
Update the product using above API details , it will remove the related products for the same !
I have tried the same in POSTMAN and it works perfectly
Try at your end , Hope it helps !
Thank you so much! Works perfect! I was starting to lose it here. 95% through the integration and first trouble appears
PS
Is it possible maybe to delete individual entries though?
It's not a big issue really, if not i can just save them before deleting and then repopulate with new data.
Yes it is possible to remove single section as well !
you just need to remove specific items values from that product_links section !
Like below is the example !
"product_links": [ { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB04", "linked_product_type": "simple", "position": 1 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB03", "linked_product_type": "simple", "position": 2 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB05", "linked_product_type": "simple", "position": 3 }, { "sku": "24-MB01", "link_type": "upsell", "linked_product_sku": "24-MB04", "linked_product_type": "simple", "position": 1 }, { "sku": "24-MB01", "link_type": "upsell", "linked_product_sku": "24-MB03", "linked_product_type": "simple", "position": 2 }, { "sku": "24-MB01", "link_type": "upsell", "linked_product_sku": "24-MB05", "linked_product_type": "simple", "position": 3 } ]
From above parameters , if you wanted to remove upsell products , then you just need to remove upsell products entries from above parameters like below :
"product_links": [ { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB04", "linked_product_type": "simple", "position": 1 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB03", "linked_product_type": "simple", "position": 2 }, { "sku": "24-MB01", "link_type": "related", "linked_product_sku": "24-MB05", "linked_product_type": "simple", "position": 3 } ]
Then same call PUT method with above given URL , it will remove upsell product separate section only !
it will remove specific section like only upsell products , its work on POSTMAN for the same !
Happy to help and keep helping others