0

因为 V3 不支持在 SyncError 状态下恢复 IDS 对象,所以我不得不使用 V2 恢复调用(位于https://developer.intuit.com/docs/95_deprecated/qbd_v2/qbd_v2_reference/0100_calling_data_services/reverting_an_object)。不幸的是,我在解决客户问题时遇到了一些麻烦。

邮政:https://services.intuit.com/sb/customer/v2/<RealmID>

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<Revert xmlns="http://www.intuit.com/sb/cdm/v2" RequestId="7aa1d747cf5c58969a3bc638e0c820b1">
  <Object xsi:type="Customer" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Id idDomain="QB">6</Id>
    <SyncToken>2</SyncToken>
  </Object>
</Revert>

回复:

<?xml version=\"1.0\" ?>
<RestResponse xmlns=\"http://www.intuit.com/sb/cdm/v2\">
<Error RequestId=\"8c28d64de5c644079d10f0165b717258\">
  <RequestName>ErrorRequest</RequestName>
  <ProcessedTime>2014-01-17T00:03:35.627Z</ProcessedTime>
  <ErrorCode>-2001</ErrorCode>
  <ErrorDesc>cvc-complex-type.2.4.b: The content of element 'Object' is not complete. One of '{\"http://www.intuit.com/sb/cdm/v2\":MetaData, \"http://www.intuit.com/sb/cdm/v2\":ExternalKey, \"http://www.intuit.com/sb/cdm/v2\":Synchronized, \"http://www.intuit.com/sb/cdm/v2\":AlternateId, \"http://www.intuit.com/sb/cdm/v2\":CustomField, \"http://www.intuit.com/sb/cdm/v2\":Draft, \"http://www.intuit.com/sb/cdm/v2\":ObjectState, \"http://www.intuit.com/sb/cdm/v2\":PartyReferenceId, \"http://www.intuit.com/sb/cdm/v2\":TypeOf}' is expected.
  </ErrorDesc>
</Error>
</RestResponse>

我不确定为什么它需要其中一些元素进行Revert通话。我的服务器上的数据无效,这就是为什么它首先处于错误状态。这个问题是不是因为这个错误是在 V3 中创建的,而 V2 没有解决?

谢谢,阿甘

4

1 回答 1

0

QBD V2 Revert/Delete api 较早在 beta 版本中发布,可能存在问题。您可以使用它们,但我们不支持它们。处理错误对象(v2 或 v3)的最佳做法是现在使用 V2 更新端点“更新”它们。不是最好的解决方案,但我们正在努力。展望未来,您可以在此处发布您的问题 - https://intuitpartnerplatform.lc.intuit.com

V3 更新不适用于错误对象。

于 2014-01-17T06:51:04.030 回答