我是亚马逊MWS的新手,我有订单号,我需要更新订单,如亚马逊发货,我读过我们可以使用SubmitFeed Api来做,我在项目中有一个参考MWSOrders_2013 -09-01_v2013-09-01.dll但我无法访问SubmitFeed,请有人能让我知道我的代码应该如何吗?
答案 0 :(得分:1)
我想知道更多信息来回答这个问题,但是如果你只想找到如何做的XML布局,你可以参考Selling on Amazon Guide to XML
基本上布局是:
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="AmazonOrderID"/>
<xsd:element ref="MerchantOrderID" minOccurs="0"/>
<xsd:element name="StatusCode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Success"/>
<xsd:enumeration value="Failure"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Item" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="AmazonOrderItemCode"/>
<xsd:element ref="MerchantOrderItemID" minOccurs="0"/>
<xsd:element name="CancelReason" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="NoInventory"/>
<xsd:enumeration value="ShippingAddressUndeliverable"/>
<xsd:enumeration value="CustomerExchange"/>
<xsd:enumeration value="BuyerCanceled"/>
<xsd:enumeration value="GeneralAdjustment"/>
<xsd:enumeration value="CarrierCreditDecision"/>
<xsd:enumeration value="RiskAssessmentInformationNotValid"/>
<xsd:enumeration value="CarrierCoverageFailure"/>
<xsd:enumeration value="CustomerReturn"/>
<xsd:enumeration value="MerchandiseNotReceived"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
这是一个例子:
<?xml version="1.0"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier> M_IDENTIFIER</MerchantIdentifier>
</Header>
<MessageType>OrderAcknowledgement</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderAcknowledgement>
<AmazonOrderID>050-1234567-1234567</AmazonOrderID>
<MerchantOrderID>1234567</MerchantOrderID>
<StatusCode>Success</StatusCode>
<Item>
<AmazonOrderItemCode>12345678901234</AmazonOrderItemCode>
<MerchantOrderItemID>1234567</MerchantOrderItemID>
</Item>
</OrderAcknowledgement>
</Message>
</AmazonEnvelope>
我正在使用Ruby on Rails编写我的应用程序来执行此操作。所以,如果你也是,你可以看看宝石Peddler与api互动,我也使用Nokogiri(你可以google,因为我不够酷,发布超过2个链接:)来创建xml。如果您希望我可以分享我的代码,但这对我和Ruby on Rail来说非常特别。
答案 1 :(得分:0)
我会根据你的问题猜测你是一个C#程序员,虽然你没有说你正在使用什么库/平台。你说你有MWS dll,但你需要的一切都包含在其中,所以也许你没有正确的东西。亚马逊拥有您在几分钟内开始使用和提交Feed所需的一切,只需在此处下载C#客户端库:https://developer.amazonservices.com/doc/bde/feeds/v20090101/cSharp.html/175-9415024-6151568
解压缩src文件夹,在Visual Studio中打开,一切都在那里,包括客户端库以及示例代码。在您的情况下,请查看MarketplaceWebServiceSamples.cs文件的MarkletplaceWebService.Samples项目。填写您的访问密钥,然后搜索SubmitFeed。取消注释并填写您的请求所需的内容并运行它。
如果您不是C#程序员,请查看其他客户端库。它真的很容易上手。 https://developer.amazonservices.com/gp/mws/api.html/175-9415024-6151568?ie=UTF8&group=bde§ion=feeds&version=latest
答案 2 :(得分:0)
最后这是我的vb.net代码,它运行正常。
Public Function UpdateOrderStatusInAmazonWebSite(ByRef AmazonEntity As NSAmazonEntity,ByVal amazonOrder As NSAmazonMWSOrder)As SubmitFeedResponse
昏暗的响应As SubmitFeedResponse
尝试
from pkg_resources import parse_version
## Install numpy if it is not found or too old
try:
import numpy
if parse_version(numpy.__version__) < parse_version('1.10'):
print("numpy {} was found but is too old. Upgrading.".format(numpy.__version__))
raise ImportError
print("Numpy was found. Build extensions.")
except ImportError:
print("Building Cython extensions requires numpy. Installing numpy.")
import pip
pip_args = ['install', numpy_req]
pip.main(pip_args)
import numpy
结束功能