0

使用 Aliexpress API,我正在尝试创建一些具有变化的产品。(例如一件 T 恤,有 5 种尺寸和 3 种颜色)。A 共有 15 种变体。

Aliexpress API 文档为 1 个变体产品提供了不同编程语言的示例。

通过检查以下代码,我可以了解如何在 .Net 中创建多个变体产品,但是我在 php 中不理解它。

因为在 .NET 中使用列表作为变体,但在 PHP 中它看起来不像列表。

以下是代码:

。网

ITopClient client = new DefaultTopClient(url, appkey, secret);
AliexpressSolutionProductPostRequest req = new AliexpressSolutionProductPostRequest();
AliexpressSolutionProductPostRequest.PostProductRequestDtoDomain obj1 = new AliexpressSolutionProductPostRequest.PostProductRequestDtoDomain();
obj1.Subject = "Huawei Mate 10";
obj1.Description = "El Huawei Mate 10 Lite destaca principalmente por su pantalla FullView y sus cuatro cámaras. <img alt=\"Huawei-Mate-10-Lite_02\" src=\"https://ae01.alicdn.com/kf/UTB8rju8uOaMiuJk43PTq6ySmXXa7.jpg\">";
obj1.Language = "es";
obj1.ProductUnit = 100000015L;
List<AliexpressSolutionProductPostRequest.SingleLanguageDescriptionDtoDomain> list3 = new List<AliexpressSolutionProductPostRequest.SingleLanguageDescriptionDtoDomain>();
AliexpressSolutionProductPostRequest.SingleLanguageDescriptionDtoDomain obj4 = new AliexpressSolutionProductPostRequest.SingleLanguageDescriptionDtoDomain();
list3.Add(obj4);
obj4.Language = "es";
obj4.WebDetail = "{\"moduleList\":[{\"html\":{\"content\":\"test web description\"},\"type\":\"html\"}],\"version\":\"2.0.0\"}";
obj4.MobileDetail = "{\"moduleList\":[{\"texts\":{\"content\":\"test mobile description\",\"class\":\"body\"},\"type\":\"text\"}],\"version\":\"2.0.0\"}";
obj1.MultiLanguageDescriptionList= list3;
List<AliexpressSolutionProductPostRequest.SingleLanguageTitleDtoDomain> list6 = new List<AliexpressSolutionProductPostRequest.SingleLanguageTitleDtoDomain>();
AliexpressSolutionProductPostRequest.SingleLanguageTitleDtoDomain obj7 = new AliexpressSolutionProductPostRequest.SingleLanguageTitleDtoDomain();
list6.Add(obj7);
obj7.Subject = "Versión Global Xiaomi Redmi Note 5";
obj7.Language = "es";
obj1.MultiLanguageSubjectList= list6;
obj1.GroupId = 262007001L;
obj1.ExtraParams = "extra params";
List<AliexpressSolutionProductPostRequest.MarketImageDtoDomain> list9 = new List<AliexpressSolutionProductPostRequest.MarketImageDtoDomain>();
AliexpressSolutionProductPostRequest.MarketImageDtoDomain obj10 = new AliexpressSolutionProductPostRequest.MarketImageDtoDomain();
list9.Add(obj10);
obj10.ImageType = 1L;
obj10.ImageUrl = "https://ae01.alicdn.com/kf/Hf5987123b00246699ac4f86795d59e636.jpg";
obj1.MarketingImages= list9;
obj1.DeveloperFeatures = "{\"source\":\"Lengow\"}";
obj1.AliexpressCategoryId = 200105144L;
obj1.CategoryId = "200105144";
obj1.BrandName = "Xiaomi";
obj1.MainImageUrlsList = ""https://upload.wikimedia.org/wikipedia/commons/b/b5/Winnersh_Meadows_Trees.jpg","https://ae01.alicdn.com/kf/UTB85xyVgnzIXKJkSafVq6yWgXXa0/Kingston-SDCS-16GB-MicroSD-Canvas-Select-16GB-velocidades-de-UHS-I-Clase-10-DE-hasta-80.jpg"";
List<AliexpressSolutionProductPostRequest.AttributeDtoDomain> list12 = new List<AliexpressSolutionProductPostRequest.AttributeDtoDomain>();
AliexpressSolutionProductPostRequest.AttributeDtoDomain obj13 = new AliexpressSolutionProductPostRequest.AttributeDtoDomain();
list12.Add(obj13);
obj13.AttributeValue = "1920*1080";
obj13.AttributeName = "Resolution";
obj13.AliexpressAttributeValueId = 593L;
obj13.AliexpressAttributeNameId = 14L;
obj1.AttributeList= list12;
List<AliexpressSolutionProductPostRequest.SkuInfoDtoDomain> list15 = new List<AliexpressSolutionProductPostRequest.SkuInfoDtoDomain>();
AliexpressSolutionProductPostRequest.SkuInfoDtoDomain obj16 = new AliexpressSolutionProductPostRequest.SkuInfoDtoDomain();
list15.Add(obj16);
obj16.BarCode = "2012331233258";
List<AliexpressSolutionProductPostRequest.SkuAttributeDtoDomain> list18 = new List<AliexpressSolutionProductPostRequest.SkuAttributeDtoDomain>();
AliexpressSolutionProductPostRequest.SkuAttributeDtoDomain obj19 = new AliexpressSolutionProductPostRequest.SkuAttributeDtoDomain();
list18.Add(obj19);
obj19.SkuImageUrl = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Winnersh_Meadows_Trees.jpg";
obj19.SkuAttributeValue = "red";
obj19.SkuAttributeName = "Color";
obj19.SkuAttributeNameId = 14L;
obj19.SkuAttributeValueId = 10L;
obj16.SkuAttributesList= list18;
obj16.Inventory = 90L;
obj16.Price = "12.21";
obj16.SkuCode = "123abc";
obj16.DiscountPrice = "9.92";
obj16.ExtraParams = "extra params";
obj16.EanCode = "12345678";
obj1.SkuInfoList= list15;
obj1.InventoryDeductionStrategy = "payment_success_deduct";
obj1.Weight = "3.2";
obj1.PackageLength = 10L;
obj1.PackageHeight = 20L;
obj1.PackageWidth = 30L;
AliexpressSolutionProductPostRequest.MultiCountryPriceConfigurationDtoDomain obj20 = new AliexpressSolutionProductPostRequest.MultiCountryPriceConfigurationDtoDomain();
obj20.PriceType = "absolute";
List<AliexpressSolutionProductPostRequest.SingleCountryPriceDtoDomain> list22 = new List<AliexpressSolutionProductPostRequest.SingleCountryPriceDtoDomain>();
AliexpressSolutionProductPostRequest.SingleCountryPriceDtoDomain obj23 = new AliexpressSolutionProductPostRequest.SingleCountryPriceDtoDomain();
list22.Add(obj23);
obj23.ShipToCountry = "FR";
List<AliexpressSolutionProductPostRequest.SingleSkuPriceByCountryDtoDomain> list25 = new List<AliexpressSolutionProductPostRequest.SingleSkuPriceByCountryDtoDomain>();
AliexpressSolutionProductPostRequest.SingleSkuPriceByCountryDtoDomain obj26 = new AliexpressSolutionProductPostRequest.SingleSkuPriceByCountryDtoDomain();
list25.Add(obj26);
obj26.SkuCode = "123abc";
obj26.Value = "15";
obj26.Price = "16";
obj26.DiscountPrice = "3.99";
obj23.SkuPriceByCountryList= list25;
obj20.CountryPriceList= list22;
obj1.MultiCountryPriceConfiguration= obj20;
obj1.FreightTemplateId = 703476858L;
obj1.SizeChartId = 100L;
obj1.ShippingLeadTime = 3L;
obj1.ServicePolicyId = 0L;
req.PostProductRequest_ = obj1;
AliexpressSolutionProductPostResponse rsp = client.Execute(req, sessionKey);
Console.WriteLine(rsp.Body);

PHP

$c = new TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$req = new AliexpressSolutionProductPostRequest;
$post_product_request = new PostProductRequestDto;
$post_product_request->subject="Huawei Mate 10";
$post_product_request->description="El Huawei Mate 10 Lite destaca principalmente por su pantalla FullView y sus cuatro cámaras. <img alt=\"Huawei-Mate-10-Lite_02\" src=\"https://ae01.alicdn.com/kf/UTB8rju8uOaMiuJk43PTq6ySmXXa7.jpg\">";
$post_product_request->language="es";
$post_product_request->product_unit="100000015";
$multi_language_description_list = new SingleLanguageDescriptionDto;
$multi_language_description_list->language="es";
$multi_language_description_list->web_detail="{\"moduleList\":[{\"html\":{\"content\":\"test web description\"},\"type\":\"html\"}],\"version\":\"2.0.0\"}";
$multi_language_description_list->mobile_detail="{\"moduleList\":[{\"texts\":{\"content\":\"test mobile description\",\"class\":\"body\"},\"type\":\"text\"}],\"version\":\"2.0.0\"}";
$post_product_request->multi_language_description_list = $multi_language_description_list;
$multi_language_subject_list = new SingleLanguageTitleDto;
$multi_language_subject_list->subject="Versión Global Xiaomi Redmi Note 5";
$multi_language_subject_list->language="es";
$post_product_request->multi_language_subject_list = $multi_language_subject_list;
$post_product_request->group_id="262007001";
$post_product_request->extra_params="extra params";
$marketing_images = new MarketImageDto;
$marketing_images->image_type="1";
$marketing_images->image_url="https://ae01.alicdn.com/kf/Hf5987123b00246699ac4f86795d59e636.jpg";
$post_product_request->marketing_images = $marketing_images;
$post_product_request->developer_features="{\"source\":\"Lengow\"}";
$post_product_request->aliexpress_category_id="200105144";
$post_product_request->category_id="200105144";
$post_product_request->brand_name="Xiaomi";
$post_product_request->main_image_urls_list="[\"https://upload.wikimedia.org/wikipedia/commons/b/b5/Winnersh_Meadows_Trees.jpg\",\"https://ae01.alicdn.com/kf/UTB85xyVgnzIXKJkSafVq6yWgXXa0/Kingston-SDCS-16GB-MicroSD-Canvas-Select-16GB-velocidades-de-UHS-I-Clase-10-DE-hasta-80.jpg\"]";
$attribute_list = new AttributeDto;
$attribute_list->attribute_value="1920*1080";
$attribute_list->attribute_name="Resolution";
$attribute_list->aliexpress_attribute_value_id="593";
$attribute_list->aliexpress_attribute_name_id="14";
$post_product_request->attribute_list = $attribute_list;
$sku_info_list = new SkuInfoDto;
$sku_info_list->bar_code="2012331233258";
$sku_attributes_list = new SkuAttributeDto;
$sku_attributes_list->sku_image_url="https://upload.wikimedia.org/wikipedia/commons/b/b5/Winnersh_Meadows_Trees.jpg";
$sku_attributes_list->sku_attribute_value="red";
$sku_attributes_list->sku_attribute_name="Color";
$sku_attributes_list->sku_attribute_name_id="14";
$sku_attributes_list->sku_attribute_value_id="10";
$sku_info_list->sku_attributes_list = $sku_attributes_list;
$sku_info_list->inventory="90";
$sku_info_list->price="12.21";
$sku_info_list->sku_code="123abc";
$sku_info_list->discount_price="9.92";
$sku_info_list->extra_params="extra params";
$sku_info_list->ean_code="12345678";
$post_product_request->sku_info_list = $sku_info_list;
$post_product_request->inventory_deduction_strategy="payment_success_deduct";
$post_product_request->weight="3.2";
$post_product_request->package_length="10";
$post_product_request->package_height="20";
$post_product_request->package_width="30";
$multi_country_price_configuration = new MultiCountryPriceConfigurationDto;
$multi_country_price_configuration->price_type="absolute";
$country_price_list = new SingleCountryPriceDto;
$country_price_list->ship_to_country="FR";
$sku_price_by_country_list = new SingleSkuPriceByCountryDto;
$sku_price_by_country_list->sku_code="123abc";
$sku_price_by_country_list->value="15";
$sku_price_by_country_list->price="16";
$sku_price_by_country_list->discount_price="3.99";
$country_price_list->sku_price_by_country_list = $sku_price_by_country_list;
$multi_country_price_configuration->country_price_list = $country_price_list;
$post_product_request->multi_country_price_configuration = $multi_country_price_configuration;
$post_product_request->freight_template_id="703476858";
$post_product_request->size_chart_id="100";
$post_product_request->shipping_lead_time="3";
$post_product_request->service_policy_id="0";
$req->setPostProductRequest(json_encode($post_product_request));
$resp = $c->execute($req, $sessionKey);
4

0 回答 0