Hi, All
I am developing a program, using Magento V2 SOAP API, but I can not find how to Create Product, the API only provide me DeleteEntity, GetList Entity, and Save Entity. I have tried to use catalogProductRepositoryV1Save, but got an exception "Can not save product". But I can fetch t all product details using GetList.
Any one can help me? Thanks, my code is below:
using (OperationContextScope scope = new OperationContextScope(mservice.InnerChannel))
{
var httpRequestProperty = new HttpRequestMessageProperty();
httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Bearer " + accessToken;
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
CatalogProductRepositoryV1SaveRequest x = new CatalogProductRepositoryV1SaveRequest();
var t = new CatalogDataProductInterface();
t.attributeSetId = 4;
t.name = "Jason Test";
t.price = 456;
//t.priceSpecified = false;
t.sku = "34567890";
t.visibility = 1;
t.weight = 3;
t.typeId = "Simple";
t.status = 1;
t.createdAt = t.updatedAt = DateTime.Now.ToShortDateString();
t.productLinks = null;
t.attributeSetIdSpecified = true;
t.extensionAttributes = null;
t.mediaGalleryEntries = null;
t.id = 0;
var m = new FrameworkAttributeInterface[3];
//var w = new CatalogDataProductExtensionInterface();
// 1st Attribute
m[0] = new FrameworkAttributeInterface { attributeCode = "C1", value = "I3" };
// 2nd attribute
m[1] = new FrameworkAttributeInterface { attributeCode = "O2", value = "W8" };
m[2] = new FrameworkAttributeInterface { attributeCode = "S3", value = "15" };
t.customAttributes = m;
x.product = t;
var DEST = mservice.catalogProductRepositoryV1Save(x);
How to create or update a product programmatically with the /V1/products Web API? https://mage2.pro/t/1296
I have the same requirement adding the product using default Magento2 REST API .
Step1. Generate admin token:
I am using token for authorization, so create an admin token using this URL Http://{baseurl}/rest/V1/integration/admin/token
Step2. Add product :
For adding the product, I am using following URL http://magentogit.com/rest/V1/products/{SKU} , this is magento2 default API using put method.
For example:
http://baseurl/rest/V1/products/B201-SKU
header:
Content-Type - application/json
Authorization - Bearer token
Body:
{
"product": {
"sku": "B201-SKU",
"name": "B202",
"price": 30.00,
"status": 1,
"type_id": "simple",
"attribute_set_id":4,
"weight": 1
}
}
You can add more data for the product after this call chek your product from admin.
You are done.
Hi,
I got error like this.
main.CRITICAL: LogicException: Property "0" does not have corresponding setter in class