Mise à jour en conflit

Description

Une mise à jour en conflit se produit lorsqu'une propriété review ou merchant comporte plusieurs mises à jour (entrées avec le même ID review ou merchant) avec un contenu différent, mais identique last_update_timestamp. Étant donné que ces entrées ont le même last_update_timestamp, nous ne sommes pas en mesure d'identifier la mise à jour la plus récente.

Solutions

Diffusez l'élément review ou merchant avec le contenu le plus récent à l'aide d'un élément last_update_timestamp mis à jour.

Conflits de création d'horodatage

Si deux mises à jour sont en conflit en raison de valeurs différentes pour create_timestamp, l'heure de création review ou merchant doit être renvoyée avec une heure de création correspondant à l'heure de création initialement envoyée. Si l'heure de création ne correspond pas à l'heure de création d'origine, un problème de données supplémentaire se produira.

Lorsque deux mises à jour entrent en conflit en raison de valeurs différentes pour create_timestamp, et que vous pensez que la nouvelle valeur create_timestamp est correcte, suivez les étapes ci-dessous pour définir une nouvelle heure de création pour review ou merchant sans générer de nouveau problème de données:

  1. Diffusez à nouveau l'élément review ou merchant avec l'élément create_timestamp souhaité et l'attribut last_update_timestamp mis à jour.
  2. Informez l'équipe d'assistance que vous prévoyez d'utiliser la nouvelle heure de création et fournissez le nom de fichier contenant l'entrée avec la nouvelle date de création. L'équipe d'assistance s'assure que la nouvelle heure de création est utilisée et qu'un nouveau problème de données n'est pas généré.

Conflits de modifications du format XML

En cas de conflit suite à une modification de la structure des fichiers XML (par exemple, une modification de la mise en forme), mais les données sous-jacentes ne changent pas, il n'est pas judicieux de modifier l'heure de mise à jour. Dans ce cas, suivez la procédure ci-dessous.

  1. Expliquez à l'équipe d'assistance la raison pour laquelle la mise à jour de last_update_timestamp n'est pas raisonnable.
  2. Générez un fichier avec le contenu le plus à jour (dans ce cas, il n'est pas nécessaire de mettre à jour last_update_timestamp).
  3. Transmettez le nom du fichier le plus récent à l'équipe d'assistance. L'équipe d'assistance s'assure que le contenu le plus à jour est utilisé.

Exemple

Le 1er mars, vous importez le fichier de flux `2017_03_01.xml" dans votre point de terminaison. Le fichier présente le contenu suivant:

<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>

Le 5 mars, vous importez le fichier de flux `2017_03_05.xml" dans votre point de terminaison. Le fichier contient une modification apportée par l'utilisateur au titre d'un avis. Toutefois, l'élément last_update_timestamp n'a pas été modifié par rapport à l'entrée précédente envoyée pour cet avis:

<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>

Lorsque vous recevez une notification de la part de l'équipe d'assistance indiquant qu'un problème de données de mise à jour est en conflit, importez "2017_03_10-fix.xml" sur votre point de terminaison pour résoudre le problème.

<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>