Conflicting update

Description

A conflicting update occurs when a review or merchant has multiple updates (entries with the same review or merchant ID) with differing contents, but identical last_update_timestamp. Because these entries have the same last_update_timestamp, we're unable to identify which update is more recent.

How to fix

Deliver the review or merchant with the most recent content and with an updated last_update_timestamp.

Timestamp creation conflicts

For cases where two updates conflict due to different values for create_timestamp, the review or merchant should be delivered again with a create time matching the create time that was originally sent. If the create time does not match the original create time, an additional data issue will occur.

When two updates conflict as a result of different values for create_timestamp, and you believe the new create_timestamp is the correct one, follow the below steps for setting a new create time for the review or merchant without generating a new data issue:

  1. Deliver the review or merchant again with the intended create_timestamp and updated last_update_timestamp.
  2. Inform the support team that you intend to use the new create time and provide the filename containing the entry with the new create time. The support team ensures the new create time is used and a new data issue isn't generated.

XML formatting change conflicts

When there is a conflict as a result of a change to the way the XML files are formed (e.g., changes to formatting), but the underlying data isn't changing, it doesn't make sense to change the update time. Under those circumstances, follow the steps below.

  1. Inform the support team the reason why updating last_update_timestamp is unreasonable.
  2. Generate a file with the most updated content (in this case, it isn't necessary to update last_update_timestamp)
  3. Provide the filename to the most updated content to the support team. The support team ensures the most updated content is used.

Example

On March 1st, you upload the feed file "2017_03_01.xml" to your endpoint. The file contains the following contents:

<review id="156368" mid="2739">
  <reviewer_name>Ada</reviewer_name>
  <create_timestamp>2017-02-25T03:02:23Z</create_timestamp>
  <last_update_timestamp>2017-02-25T03:02:23Z</last_update_timestamp>
  <country_code>US</country_code>
  <title>Great prices</title>
  <content>My order arrived on time and I got a great price.</content>
  <ratings>
    <overall min="1" max="10">9</overall>
    <customer_service min="1" max="10">10</customer_service>
  </ratings>
  <collection_method>after_fulfillment</collection_method>
</review>

On March 5th, you upload the feed file "2017_03_05.xml" to your endpoint. The file contains a user edit to the title of a review, however, the last_update_timestamp has not changed from the previous entry sent for this review:

<review id="156368" mid="2739">
  <reviewer_name>Ada</reviewer_name>
  <create_timestamp>2017-02-25T03:02:23Z</create_timestamp>
  <last_update_timestamp>2017-02-25T03:02:23Z</last_update_timestamp>
  <country_code>US</country_code>
  <title>Great prices and customer service!</title>
  <content>My order arrived on time and I got a great price.</content>
  <ratings>
    <overall min="1" max="10"<9>/overall>
    <customer_service min="1" max="10"<10>/customer_service>
  </ratings>
  <collection_method>after_fulfillment</collection_method>
</review>

Upon receiving a notification from the support team that a conflicting update data issue has occurred, you upload "2017_03_10-fix.xml" to your endpoint, to resolve the issue.

<review id="156368" mid="2739">
  <reviewer_name>Ada</reviewer_name>
  <create_timestamp>2017-02-25T03:02:23Z</create_timestamp>
  <last_update_timestamp>2017-03-04T02:01:20Z</last_update_timestamp>
  <country_code>US</country_code>
  <title>Great prices and customer service!</title>
  <content>My order arrived on time and I got a great price.</content>
  <ratings>
    <overall min="1" max="10">9</overall>
    <customer_service min="1" max="10">10</customer_service>
  </ratings>
  <collection_method>after_fulfillment</collection_method>
</review>