使用LinnWorksAPI和Inventory/CreateInventoryItemTitles的PHP Rest请求
我正在尝试使用LinnWorksAPI发出post请求使用LinnWorksAPI和Inventory/CreateInventoryItemTitles的PHP Rest请求,php,rest,api,post,Php,Rest,Api,Post,我正在尝试使用LinnWorksAPI发出post请求 更具体地说,我想推出一个新的标题,但我无法让它发挥作用。我正在查询他们的系统,所以我的格式显然有问题 $CreateTitle = json_decode(Factory::GetResponse("Inventory/CreateInventoryItemTitles","inventoryItemTitles=[{StockItemId=00000000-4683-0000-88dc-00880000fc09&Source
更具体地说,我想推出一个新的标题,但我无法让它发挥作用。我正在查询他们的系统,所以我的格式显然有问题
$CreateTitle = json_decode(Factory::GetResponse("Inventory/CreateInventoryItemTitles","inventoryItemTitles=[{StockItemId=00000000-4683-0000-88dc-00880000fc09&Source=Test&SubSource=Test&Title=Test}]",$authorization->Token, "https://api.linnworks.net/"));
Linnworks支持团队已回复:
为rowId生成随机guid。这是我通过罚款的请求机构:
inventoryItemTitles=[{"StockItemId":"797b268d-4fa5-4714-a96d-00d45608f2d6","Title":"New Title","Source":"EBAY","SubSource":"EBAY4","pkRowId":"ccbd77f6-f04a-404b-af36-f859747d5c20"}]
但这不是在php中,他们不会提供任何php开发方面的帮助
因此,根据布莱恩的建议,我已经更新了这一点,但我是;仍然遇到HTTP/1.1 400错误请求。很明显,他仍然在做错事
$object = [
"StockItemId" => "00000000-4683-0000-88dc-00880000fc09",
"Title" => "value2",
"Source" => "value2",
"SubSource" => "value2"
];
$encoded = json_encode($object);
$CreateTitle = json_decode(Factory::GetResponse("Inventory/CreateInventoryItemTitles",$encoded,$authorization->Token, "https://api.linnworks.net/"));
// print_r($encoded);
您需要像这样形成您的对象:
<?php
$object = [
[
"pkRowId" => "5c6dc399-f476-49a5-8c64-771310a25691",
"Source" => "sample string 2",
"SubSource" => "sample string 3",
"Title" => "sample string 4",
"StockItemId" => "5695ab85-829d-4f5c-bd88-f0b6943fd577"
],
[
"pkRowId" => "5c6dc399-f476-49a5-8c64-771310a25691",
"Source" => "sample string 2",
"SubSource" => "sample string 3",
"Title" => "sample string 4",
"StockItemId" => "5695ab85-829d-4f5c-bd88-f0b6943fd577"
]
];
$encoded = json_encode($object);
print_r($encoded);
这是您在REST调用中作为有效负载发送的内容
inventoryItemTitles=
,它们需要一个对象数组。结果是,在我的示例中将标题列为“示例字符串4”,失败是由一个符号和引起的urlencode'您没有发送php,您需要构造JSON并将其序列化为有效负载发送。。。到API地址。。。json_decode用于当您得到响应时。。。您需要对正确格式的对象进行json_编码。我不知道您在php中使用的是什么框架,但这不是我以前遇到过的。。。我建议您查看如何发送有效负载。。。我不熟悉Factory::GetResponse
我在做这类事情时使用cURL。。。您的链接还声明HTTP位置为:“https://eu1.linnworks.net//api/Inventory/CreateInventoryItemTitles“
。为什么要发布到“https://api.linnworks.net/“
?php,不确定如何响应其他编写的所有内容。如果我尝试运行您的代码:致命错误:未捕获错误:未找到类“Factory”
。这是因为它不是原生php。如果你想得到帮助,需要更多信息。并将php框架添加到标记中。我已经回答了您最初的问题,即如何获得所需的格式。“我正在查询他们的系统,所以我的格式显然有问题。”我已经用您的建议更新了问题。
[{"pkRowId":"5c6dc399-f476-49a5-8c64-771310a25691","Source":"sample string 2","SubSource":"sample string 3","Title":"sample string 4","StockItemId":"5695ab85-829d-4f5c-bd88-f0b6943fd577"},
{"pkRowId":"5c6dc399-f476-49a5-8c64-771310a25691","Source":"sample string 2","SubSource":"sample string 3","Title":"sample string 4","StockItemId":"5695ab85-829d-4f5c-bd88-f0b6943fd577"}]