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

# Demander des parties depuis vos services avec RequestPartyService

> Tutoriel sur l'appel de l'API PlayFab RequestPartyService depuis vos propres services de jeu pour provisionner des réseaux Party destinés aux sessions de clavardage et de données multijoueurs.

Ce tutoriel décrit les étapes permettant de demander des parties depuis vos propres services, plutôt que strictement depuis le client, à l'aide de l'***API RequestPartyService***. Cela vous offre davantage de flexibilité et de contrôle sur la façon dont vous intégrez PlayFab Party à votre jeu au moyen d'un appel HTTP.

* Cela vous permet d'utiliser vos propres mécanismes d'authentification et d'autorisation, ou de personnaliser l'interface utilisateur et l'expérience utilisateur de la création d'une partie et de la jonction à celle-ci.
* Cela vous permet d'allouer PlayFab Party strictement selon vos propres conditions. En gérant le réseau de relais côté service, vous pouvez configurer de façon efficace et fiable des topologies réseau complexes à l'aide de votre propre service ou avec l'aide de [PlayStream et CloudScript](/fr-CA/services/playfab/data-analytics/acting-data/action-rules-using-cloudscript-actions-with-playstream).
* Cela ajoute une protection supplémentaire contre les abus de la part des clients, en vous donnant la possibilité de restreindre la création de parties aux seuls services.

## Prérequis

Vous avez besoin d'un compte PlayFab et devez avoir activé la fonctionnalité Party.

1. Créez votre [compte PlayFab](https://developer.playfab.com) ou connectez-vous à celui-ci.
2. [Activez la fonctionnalité Party au moyen de Game Manager](/fr-CA/services/playfab/multiplayer/networking/enable-party) depuis votre compte PlayFab.
3. Téléchargez et configurez le SDK Party. Pour les liens de téléchargement, consultez [SDK Party](/fr-CA/services/playfab/multiplayer/networking/party-sdks/overview).

<Note>
  Ce tutoriel constitue un processus alternatif à certaines des étapes de l'article plus complet [Démarrage rapide de Party](/fr-CA/services/playfab/multiplayer/networking/quickstart).
</Note>

### 1. Récupérer la clé secrète de votre titre PlayFab dans Game Manager

1. Connectez-vous à **[Game Manager](https://developer.playfab.com/)**.
2. Sélectionnez votre titre.
3. Dans l'angle supérieur droit, sélectionnez l'icône d'engrenage.
4. Sélectionnez **Paramètres du titre**, puis l'onglet **Clés secrètes**.

Pour plus d'informations, consultez [Gestion des clés secrètes](/fr-CA/services/playfab/live-service-management/gamemanager/secret-key-management).

### 2. Obtenir un jeton d'entité PlayFab

Utilisez l'API REST [GetEntityToken](https://learn.microsoft.com/en-us/rest/api/playfab/authentication/authentication/get-entity-token) depuis votre service pour échanger la SecretKey du titre contre un jeton d'entité.

```js theme={null}
async function getEntityToken(titleId, secretKey) {
  try {

    // Construct the request URL
    const requestUrl =
      `https://${titleId}.playfabapi.com/Authentication/GetEntityToken`;

    // Create headers with your secret key and content type
    const headers = {
      'X-SecretKey': secretKey,
      'Content-Type': 'application/json', // Add this line
    };

    // Make the POST request
    const response = await fetch(requestUrl, {
      method: 'POST',
      headers: headers,
    });

    // Check if the response is successful
    if (response.ok) {
      const responseBody = await response.json();
      console.log(`Entity Token: ${responseBody.data.EntityToken}`);
      return responseBody.data.EntityToken;
    } else {
      console.error(`Error: ${response.status}`);
    }
  } catch (error) {
    console.error(`Exception: ${error.message}`);
  }
}
```

### 3. Effectuer une requête POST

Utilisez le jeton d'entité récupéré pour effectuer une requête POST vers le point de terminaison [RequestPartyService](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/request-party-service) avec les paramètres souhaités pour la partie.

```js theme={null}
async function requestPartyService(titleId, entityToken) {
  try {

    // Construct the request URL
    const requestUrl = `https://${titleId}.playfabapi.com/Party/RequestPartyService`;

    // Create headers with the entity token and content type
    const headers = {
      'X-EntityToken': entityToken,
      'Content-Type': 'application/json',
    };

    // Create the request body with PartyNetworkConfiguration and PreferredRegions
    const requestBody = {
      NetworkConfiguration: {
        MaxUsers: 4,
        MaxDevices: 4,
        MaxDevicesPerUser: 1,
        MaxUsersPerDevice: 1,
      },
      PreferredRegions: ['WestUs'],
    };

    // Make the POST request
    const response = await fetch(requestUrl, {
      method: 'POST',
      headers: headers,
      body: JSON.stringify(requestBody),
    });

    // Check if the response is successful
    if (response.ok) {
      const responseBody = await response.json();
      console.log('Party service response:', responseBody);
    } else {
      console.error(`Error: ${response.status}`);
    }
  } catch (error) {
    console.error(`Exception: ${error.message}`);
  }
  return null;
}
```

### 4. Recevoir une réponse

Après avoir effectué la requête POST, vous recevez une réponse contenant un [descripteur de réseau](https://learn.microsoft.com/en-us/rest/api/playfab/multiplayer/multiplayer-server/request-party-service#requestpartyserviceresponse), qui contient tous les détails nécessaires aux clients pour se connecter au serveur Party.

```json theme={null}
{
    "code": 200,
    "status": "OK",
    "data": {
        "PartyId": "0543645b-9004-4784-95d7-459cef4a23fa",
        "SerializedNetworkDescriptor": "AwBnP28mW2RDBQSQhEeV10Wc70oj+ldlc3RVcwAAAAAAAAAAAAAAAAAAPXqiEpapxSC+Owo1h8qJ5NuEOmtS0oeJqq8h6q5ybZZrbktkbnMtaXIwLTgxZTUtNTI3MWZiZDYtMmMyYS00NGE0LThhNjAtNmZlZjI4ZDAzMjc5Lndlc3R1cy5jbG91ZGFwcC5henVyZS5jb20=",
        "InvitationId": "e95366d4-c9ed-4a6e-94f6-215c1d69d467"
    }
}
```

### 5. Partager le descripteur de réseau

Partagez le descripteur de réseau avec tous les participants potentiels de votre réseau. Il existe différentes façons de le faire. Les clients qui utilisent PlayFab Lobby doivent suivre les conseils de [Intégrer Party à Lobby](/fr-CA/services/playfab/multiplayer/networking/party-lobby-integration). Vous pouvez également [partager manuellement](/fr-CA/services/playfab/multiplayer/networking/quickstart#manually-share-party-network-descriptor) le descripteur de réseau Party à des fins de test rapide, ou utiliser votre propre service de lobby et vos propres invitations selon les besoins de votre jeu.

### 6. Se connecter au serveur Party

Les clients peuvent utiliser le descripteur de réseau pour se connecter au serveur Party à l'aide des SDK natifs, comme d'habitude. Si c'est la première fois que vous vous connectez à un réseau Party, consultez la section [Se connecter à un réseau Party](/fr-CA/services/playfab/multiplayer/networking/quickstart#connect-to-a-party-network) du guide de démarrage rapide.

## Voir aussi

* [Démarrage rapide de Party](/fr-CA/services/playfab/multiplayer/networking/quickstart)
* [Fonctionnalités de Party](/fr-CA/services/playfab/multiplayer/networking/party-features)
* [Exemples Party](/fr-CA/services/playfab/multiplayer/networking/party-samples)
* [Services multijoueurs](/fr-CA/services/playfab/multiplayer/mpintro)
* [Invitations Party et modèle de sécurité](/fr-CA/services/playfab/multiplayer/networking/concepts-invitations-security-model)
* [Documentation de référence de l'API Party](/fr-CA/services/playfab/multiplayer/networking/reference/party_members)


## Related topics

- [Request Party Service](/api-reference/multiplayerserver/request-party-service.md)
- [Demander le service Party](/fr-CA/services/playfab/api-references/rest/multiplayer/multiplayer-server/request-party-service.md)
- [Demander un User Store ID avec des jetons X ou OAuth 2.0](/fr-CA/publishing/xstore-commerce/xstore-requesting-userstoreid-oauth.md)
- [Demander un User Store ID pour l'authentification de service à service](/fr-CA/publishing/xstore-commerce/xstore-requesting-userstoreid.md)
- [Invitations PlayFab Party et modèle de sécurité](/fr-CA/services/playfab/multiplayer/networking/concepts-invitations-security-model.md)
