首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php Customer_Mod

Php Customer_Mod
EN

Stack Overflow用户
提问于 2014-10-18 08:32:42
回答 2查看 538关注 0票数 0

我正在工作的Quickbook网络连接器和客户添加工作非常好。现在我想修改我的客户,这是我的xml。

代码语言:javascript
复制
<QBXML>
 <QBXMLMsgsRq onError="stopOnError">
<CustomerModRq requestID="'.$requestID.'">
  <CustomerMod>
    <ListID>ConsoliBYTE, LLC (13912179)</ListID>
    <EditSequence>1365684445</EditSequence>

    <Name>Test Customer UPDATED</Name>

  </CustomerMod>
</CustomerModRq>
</QBXMLMsgsRq>
</QBXML>

记录的错误是3000: The given object ID "ConsoliBYTE, LLC (13912179)" in the field "list id" is invalid.

清单id是什么?我如何得到它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-18 11:35:40

<ListID>是QuickBooks用来标识记录的内部标识符(例如主键)。

<EditSequence>是一个值,它指示最后一次更改记录的时间。每次更新记录时(不管是通过UI还是通过API/SDK),EditSequence值都会发生变化。若要更新记录,必须提供最新的EditSequence值。

您为ListID提供的值肯定是不正确的。您提供了客户名称,而不是ListID。

无论何时添加或查询客户,都将返回ListID值和EditSequence值。

要执行更新,您应该先查询客户(从EditSequence获取最新的QuickBooks值),然后使用这些最新值执行CustomerMod请求。

如果您正在使用这个开源的QuickBooks DevKit:

然后,您应该编写请求/响应函数,以查询客户并更新客户。将QUICKBOOKS_QUERY_CUSTOMER排队,当您返回响应时,将您的QUICKBOOKS_MOD_CUSTOMER请求排队,要么将ListIDEditSequence存储在$extra中,要么存储在您自己的数据库中。

票数 2
EN

Stack Overflow用户

发布于 2018-01-04 16:58:15

总结:

代码语言:javascript
复制
<ListID>13912179</ListID>
<EditSequence>1565684445</EditSequence>

您可以在CustomerModRq 这里中看到所有可能的字段,ListID和EditSequence 都是执行更新的关键

您的需要在QB中更新之前下载客户,以查看当前的EditSequence值。此外,您还需要为提供从getCustomer查询中获得的确切值EditSequence。否则,CustomerModRq不起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26437784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档