Ebay Trading API - 错误代码21916389通过AddItemFromSellingManagerTemplate请求需要处理时间

时间:2013-03-25 17:04:44

标签: ebay

我正在调用AddItemFromSellingManagerTemplate,文档说它只需要SaleTemplateID来为相应的模板创建一个活动的列表。

然而,对于“SOME”调用,我不断收到错误代码,说明21916389 - 需要处理时间。

在有人喊我检查文档之前...我知道项目'DispatchTimeMax'字段是您指定处理时间的地方,我知道它现在是所有列表的要求。 DispatchTimeMax肯定是在我试图列出的销售经理模板中设置的。我可以直接通过eBay后端从销售模板列出没有错误......但显然我需要通过API完成。

令人讨厌的是,调用此代码的代码适用于某些销售经理模板,但不适用于其他模板。销售经理模板以完全相同的方式(在代码中)创建。

某些背景信息:

  1. 虽然我使用PHP编写代码并使用第三方库,但为了调试它,我正在使用RAW精心设计的xml suing CURL调用Web服务。
  2. 我使用的是API版本729,但我已更改为最新版本815.没有区别。
  3. 这里的价值在于我正在使用的XML

    <?xml version="1.0" encoding="utf-8"?> <AddItemFromSellingManagerTemplateRequest xmlns="urn:ebay:apis:eBLBaseComponents">
    <RequesterCredentials> ... </RequesterCredentials> <Version>815</Version> <SaleTemplateID>[SALETEMPLATEID INSERTED HERE]</SaleTemplateID> </AddItemFromSellingManagerTemplateRequest>

  4. 有没有人知道我需要一些微妙的技巧才能让它在100%的时间内正常工作?

3 个答案:

答案 0 :(得分:2)

试试这个

<DispatchTimeMax>0</DispatchTimeMax>

Item.DispatchTimeMax数据类型--- Int

指定卖方在收到已清算付款后准备要装运的商品时所承诺的最长工作天数。此时间不包括运输时间(运输公司的运输时间)。

对于AddItem系列电话:当提供某些送货服务(带送货)时,某些类别的商品信息需要。请参阅GetCategoryFeatures中的HandlingTimeEnabled。卖方将此字段设置为表示天数的正整数值。有关每个eBay网站上允许值的列表,请使用GeteBayDetails,并将DetailName设置为DispatchTimeMaxDetails。 (典型值为0,1,2,3,4,5,10,15或20,但这可能因站点而异,这些可能会随时间而变化。)

适用于持平和计算运费。如果没有运输,仅当地提货或运费到货时不适用。例如,当ShippingService = Pickup或ShipToLocations = None时,则不需要DispatchTimeMax。

DispatchTimeMax值为0表示项目的同一天处理。在这种情况下,卖家的运输承诺取决于卖家的用户偏好中设置的订单截止时间。在大多数站点上,默认为当地时间下午2:00,可以使用SetUserPreferences为列出项目的eBay站点设置DispatchCutoffTimePreference.CutoffTime来覆盖这些站点。对于在本地订单截止时间之前下达的订单(以及收到的已清除付款),该项目必须在当天结束时发货。对于在订单截止时间或之后完成的订单,该物品必须在次日结束时发货(周末和当地节假日除外)。

答案 1 :(得分:0)

如果你去销售经理亲,编辑模板并保存它(不改变任何东西),AddItemFromSellingManagerTemplate将起作用。我也没有找到任何理性的答案。

答案 2 :(得分:0)

另一件事是我继续发送AddItemFromSellingManagerTemplate直到它通过并添加项目(通常是3或4次)。我想这是因为Trading API的更新使得DispatchTimeMax成为强制性的。 见http://developer.ebay.com/DevZone/xml/docs/Reference/ebay/AddSellingManagerTemplate.html#ChangeHistory

我想出的解决方案是将AddItemFromSellingManagerTemplate放入循环直到Ack =='Success'。希望它会有所帮助。