Php 在Magento 2 API中分配相关产品

Php 在Magento 2 API中分配相关产品,php,magento,magento2,Php,Magento,Magento2,我正在使用magento 2 api分配产品链接,如相关或交叉销售 使用api/V1/products/{sku}/links 这是我的示例代码 <?php error_reporting(E_ALL); define('mag_apiurl',"http://www.mywebsite.com/rest/V1/"); define('tn_webshopKey',"myshowpkey"); $sku1 = "sku1"; $sku2 = "sku2"; $productData = a

我正在使用magento 2 api分配产品链接,如相关交叉销售 使用api/V1/products/{sku}/links

这是我的示例代码

<?php
error_reporting(E_ALL);
define('mag_apiurl',"http://www.mywebsite.com/rest/V1/");
define('tn_webshopKey',"myshowpkey");
$sku1 = "sku1";
$sku2 = "sku2";
$productData = array(
        "items" =>  array(
              "sku" => $sku1,
              "linkType" => 'related',
              "linkedProductSku" => $sku2,
              "linkedProductType" => "simple",
              "position" => 0
        )
    );

    $headers = array("Content-Type:application/json","Authorization: Bearer ".tn_webshopKey);
    $requestUrl= mag_apiurl.'products/'.$sku1.'/links';
    $ch = curl_init($requestUrl);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($productData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    echo $returnProductDetails = curl_exec($ch);
?>
但是链接类型“相关”已在我的数据(productData)中定义


有人知道有帮助的解决方案或相关链接吗:)

对不起,这是我的错,我正在阅读magento-2.2企业版的swagger api文档。*但我正在处理magento-2.1。*

实际代码应该是

$productData = array(
        "items" =>  array(
            array(           
              "sku" => $sku1,
              "link_type" => 'related',
              "linked_product_sku" => $sku2,
              "linked_product_type" => "simple",
              "position" => 0
            )  
        )
    );

    /*
    THE JOSN FORMAT START
    {
      "items": [
        {
          "sku": "string",
          "link_type": "string",
          "linked_product_sku": "string",
          "linked_product_type": "string",
          "position": 0,
          "extension_attributes": {
            "qty": 0
          }
        }
      ]
    }

 ***************END************/
我注意到这些文档之间存在一些差异,即每个文档都有不同的模型模式声明,比如一些文档有snake_case,另一些文档有camelCase,所以不要开始混淆swagger文档,为每个文档选择合适的版本商店

你能试着将“链接类型”设置为1而不是“相关”吗


非常感谢你!我有个问题,“超级”或“关系”没有解决。然后我发现,“关系”变得“相关”等等。但是到底是谁说“超级”得到了“关联”xD?它工作得很好!谢谢!:)
$productData = array(
        "items" =>  array(
            array(           
              "sku" => $sku1,
              "link_type" => 'related',
              "linked_product_sku" => $sku2,
              "linked_product_type" => "simple",
              "position" => 0
            )  
        )
    );

    /*
    THE JOSN FORMAT START
    {
      "items": [
        {
          "sku": "string",
          "link_type": "string",
          "linked_product_sku": "string",
          "linked_product_type": "string",
          "position": 0,
          "extension_attributes": {
            "qty": 0
          }
        }
      ]
    }

 ***************END************/
$linkTypes = ['related' => 1, 'upsell' => 4, 'crosssell' => 5, 'associated' => 3];