【问题标题】:How to upload a TSV amazon order file using Amazon Feed API?如何使用 Amazon Feed API 上传 TSV 亚马逊订单文件?
【发布时间】:2013-04-16 15:45:30
【问题描述】:

我熟悉亚马逊 MWS,过去使用过报告、Feed 和产品 API,现在我想上传 TSV 订单文件,以便在我的亚马逊卖家中心账户中运送所有这些订单。请谁能告诉我我应该使用哪种提要类型以及我必须提交的提要的结构是什么。 提前谢谢你。

【问题讨论】:

    标签: php amazon-web-services amazon amazon-mws


    【解决方案1】:

    对于平面文件提交,您的请求的 FeedType 将是 _POST_FLAT_FILE_FULFILLMENT_DATA_

    您可以在本文档中找到所有 FeedType 值:MWS Developer Guide (Version 2009-01-01) (Page 93)

    【讨论】:

    • 您能否详细说明您实际发送文件的方式?查看 PHP 客户端库,只有 ConfirmShipment() 方法接受 XML 文件。此外,如果您扩展 FeedsClient 并尝试编写自己的 confirmShipmentFlatFile() 方法,您将无法使用 submitFeed() 方法或 invokeSubmitFeed() 方法,因为它们是私有的!是直接把它添加到 FeedsClient 类中的唯一选择,并希望当亚马逊推出新版本时,您记得将您的方法添加回来吗?
    • 我没有使用亚马逊的库,而是使用了我自己的代码。我也尽可能使用 XML,所以我不确定我是否能提供帮助。一旦我确定不存在包装它的现有功能,我可能只是将“私人”更改为“公共”。然后,对库的更新将创建一个 PHP 错误,这很容易找到。
    • 谢谢。我最终将该方法添加到客户端库中,请参阅下面的答案。螺丝更新!
    【解决方案2】:

    在此处添加我添加到客户端库中的代码,使其比上面的评论更具可读性:

    //MWSFeedsClient.php
    
    /**
     * Submits the given flat file shipping feed and returns a feed submission id
     *
     * @param string Path to the flat file shipping feed
     * @return string Feed submission id
     */
    public function confirmShipmentFlatFile($feedFilePath)
    {
        $feedHandle = @fopen($feedFilePath,"r");
    
        //Computing the MD5 hash
        $contentMD5Header = base64_encode(md5(stream_get_contents($feedHandle), true));
        rewind($feedHandle);
    
        //Submit the Order Fulfillment feed
        return $this->submitFeed(MarketplaceWebService_Model_FeedType::POST_FLAT_FILE_FULFILLMENT_DATA, $feedHandle, $contentMD5Header);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-09-22
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多