> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ajout d'évaluations à votre contenu

> Ajoutez des évaluations et des avis de joueurs aux articles du catalogue PlayFab Economy v2 à l'aide de ReviewItem, GetEntityItemReview et des API de gestion des avis associées.

<Info>
  Economy v2 est désormais en disponibilité générale. Pour obtenir de l'aide et donner votre avis, rendez-vous sur le [forum PlayFab](https://community.playfab.com).
</Info>

Ce guide présente les appels d'API permettant d'ajouter un système d'évaluations et d'avis à votre jeu.

## Évaluer un article

Une évaluation ou un avis peut être associé à un article en appelant l'API `ReviewItem` depuis un client. Pour qu'un article puisse être évalué, il doit être visible dans le catalogue public pour tous les joueurs. Les évaluations et les avis sont associés au joueur qui appelle l'API, et un seul avis par joueur peut être associé à un article. Le créateur d'un article ne peut pas soumettre d'avis sur son propre article. L'avis est mis à jour chaque fois que `ReviewItem` est appelée. Les données suivantes sont **obligatoires** pour l'appel :

* `Id` : l'ID unique de l'article à évaluer.
* `Rating` : une note numérique sur une échelle de `1` à `5`.

En outre, des paramètres **facultatifs** peuvent également être ajoutés :

* `Title` : le titre de l'avis.
* `ReviewText` : un champ de texte libre pour les avis.
* `IsInstalled` : un indicateur signalant si l'auteur de l'avis possède l'article.
* `ItemVersion` : le numéro de version de l'article évalué.

```json theme={null}
{
  "Review": {
    "ItemVersion": "2.4.1",
    "Rating": 5,
    "Title": "Best Game Ever",
    "ReviewText": "I play this game every day. It's my favorite game yet.",
    "IsInstalled": true
  },
  "Id": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9"
}
```

Un horodatage `Submitted` est automatiquement renseigné et mis à jour lorsqu'un avis est soumis.

## Obtenir l'avis d'un joueur sur un article

Vous pouvez obtenir l'avis d'un joueur sur un article en appelant l'API `GetEntityItemReview` depuis un client. Un `Id` ou un `AlternateId` d'article doit être fourni. Un `ReviewId` spécifique associé à l'avis est retourné.

```json theme={null}
{
    "code": 200,
    "status": "OK",
    "data": {
        "Review": {
            "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
            "ItemId": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
            "ReviewerId": "title_player_account!218870DE55036998",
            "ItemVersion": "2.4.1",
            "Title": "Best Game Ever",
            "ReviewText": "I play this game every day. It's my favorite game yet.",
            "Rating": 5,
            "IsInstalled": true,
            "Locale": "NEUTRAL",
            "HelpfulnessVotes": 0,
            "HelpfulPositive": 0,
            "HelpfulNegative": 0,
            "Submitted": "2021-08-09T06:44:22.569Z"
        }
    }
}
```

L'appel de `GetEntityItemReview` par un joueur qui n'a pas rédigé d'avis retourne un objet Review avec des valeurs à zéro :

```json theme={null}
{
    "code": 200,
    "status": "OK",
    "data": {
        "Review": {
            "ReviewId": "00000000-0000-0000-0000-000000000000",
            "Rating": 0,
            "IsInstalled": false,
            "HelpfulnessVotes": 0,
            "HelpfulPositive": 0,
            "HelpfulNegative": 0,
            "Submitted": "0001-01-01T00:00:00Z"
        }
    }
}
```

## Obtenir les avis sur un article

Vous pouvez accéder à tous les avis **contenant du texte** pour un article en appelant l'API `GetItemReviews`. Un `Id` ou un `AlternateId` d'article doit être fourni. Des paramètres **facultatifs** peuvent être ajoutés :

* `ContinuationToken` : un jeton opaque utilisé pour récupérer la page d'articles suivante, le cas échéant.
* `Count` : le nombre d'articles à récupérer. La taille de page maximale est de 200. S'il n'est pas spécifié, la valeur par défaut est 10.
* `OrderBy` : une clause OData orderBy utilisée pour trier les résultats de la requête. Les valeurs possibles sont `Helpfulness`, `Rating` et `Submitted`.

```json theme={null}
{
  "Count": 2,
  "Id": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
  "OrderBy": "Submitted desc"
}
```

## Soumettre un vote d'utilité pour un avis

Les joueurs peuvent soumettre un vote d'utilité pour un avis en appelant l'API `SubmitItemReviewVote`. La soumission d'un nouveau vote d'utilité incrémente `HelpfulPositive` ou `HelpfulNegative` selon la valeur booléenne du paramètre `Vote`.

```json theme={null}
{
  "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
  "Vote": "Helpful/UnHelpful"
}
```

## Signaler un avis

Les joueurs peuvent signaler un avis en appelant l'API `ReportItemReview` depuis un client. Un `ReviewId` doit être fourni. Un paramètre **facultatif** `ConcernCategory` peut être ajouté.

```json theme={null}
{
  "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
  "ConcernCategory": "OffensiveContent"
}
```

S'il n'est pas spécifié, `ConcernCategory` prend par défaut la valeur `None`. Les valeurs valides de `ConcernCategory` sont les suivantes :

* `None`
* `OffensiveContent`
* `ChildExploitation`
* `MalwareOrVirus`
* `PrivacyConcerns`
* `MisleadingApp`
* `PoorPerformance`
* `ReviewResponse`
* `SpamAdvertising`
* `Profanity`

L'appel de `ReportItemReview` déclenche **uniquement** un événement PlayStream sous le nom d'événement `item_reported`. Effectuez vos requêtes à l'aide de l'Explorateur de données dans Game Manager. Vous trouverez des exemples de requêtes ci-dessous :

La requête suivante retourne **le nombre total de signalements par ConcernCategory et par ItemId au cours des 3 derniers jours**

```kusto theme={null}
['events.all']
| where Timestamp > ago (3d)
| where FullName_Name == "review_reported"
| project ReviewId = tostring(EventData.Payload.ReviewId), ConcernCategory = tostring(EventData.Payload.ConcernCategory)
| summarize TotalReportCount = count() by ReviewId, ConcernCategory
| sort by TotalReportCount desc
| render columnchart kind=stacked
```

## Retirer un avis

Vous pouvez soumettre une demande de retrait d'un ou de plusieurs avis à l'aide de l'API `TakedownItemReviews`. Cette API ne peut être appelée que par l'**entité de titre**. L'appel prend en entrée un ensemble d'avis à retirer.

```json theme={null}
{
  "Reviews": [
    {
      "ItemId": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
      "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef"
    }
  ]
}
```

<Note>
  En raison du traitement de la demande, le retrait d'un avis peut prendre jusqu'à 24 heures
</Note>

## Conception des évaluations et mise en cache

Nous proposons deux méthodes pour obtenir les évaluations. La différence entre les deux consiste à savoir si vous interagissez directement avec l'avis ou avec l'article du catalogue.

1. Nous fournissons les évaluations directement (via `GetItemReviews`, etc.)
2. Nous fournissons des agrégats d'évaluations dans les articles du catalogue (via `SearchItems`, etc.)

Les deux méthodes sont asynchrones et comportent des délais qu'il est important de comprendre.

### Évaluations directes (GetItemReviews, etc.)

Toutes ces évaluations et tous ces avis sont fournis directement. Il existe ici deux catégories de latence.

1. Avis individuels - *Quasi temps réel*\
   Les avis individuels ne sont pas disponibles immédiatement, mais devraient apparaître en quelques secondes. Nous estimons que des nouvelles tentatives avec temporisation suffisent pour lire un tout nouvel avis.
2. Évaluations agrégées - *Moins de 15 minutes*
   Il existe un cache pour les agrégats

### Évaluations des articles du catalogue (SearchItems, etc.)

Toutes ces évaluations sont fournies dans le cadre de l'article du catalogue à partir de notre catalogue publié.

1. Évaluations agrégées - *Moins de 8 heures*\
   Le système agrège les évaluations et transmet les mises à jour au catalogue. Les mises à jour peuvent prendre de 4 à 8 heures.


## Related topics

- [Implémenter des versions d'évaluation pour votre jeu](/fr/publishing/xstore-commerce/xstore-trials.md)
- [FAQ sur les versions d'évaluation du programme XBOX Insider](/fr/publishing/game-publishing/publishing-processes/managed-creators/publishing-processes-xbox-flighting-faq.md)
- [Versions d'évaluation du programme XBOX Insider](/fr/publishing/game-publishing/publishing-processes/managed-creators/publishing-processes-xbox-insider-flighting.md)
- [Vue d'ensemble des versions d'évaluation](/fr/publishing/game-publishing/concepts/availability/trials.md)
- [Configurer une version d'évaluation organisée](/fr/publishing/game-publishing/how-to/how-to-curated-trial.md)
