因为V3不支持在SyncError状态下恢复IDS对象,所以我不得不使用V2 revert调用(在https://developer.intuit.com/docs/95_deprecated/qbd_v2/qbd_v2_reference/0100_calling_data_services/reverting_an_object处找到)。不幸的是,我在修理客户方面遇到了一些麻烦。
POST: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解决?
谢谢, 福雷斯特
答案 0 :(得分:0)
QBD V2 Revert / Delete apis早先发布测试版,可能有问题。你可以使用它们,但我们不支持它们。处理错误对象(v2或v3)的最佳操作是立即使用V2更新端点“更新”它们。不是最好的解决方案,但我们正在努力。展望未来,您可以在此发布您的问题 - https://intuitpartnerplatform.lc.intuit.com
V3更新不适用于错误对象。