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

# GDPR do PlayFab - Excluir dados do jogador

> Como excluir dados de jogadores do PlayFab para conformidade com o GDPR, incluindo o uso de DeleteMasterPlayerAccount para remover contas ou a limpeza de dados mantendo a conta.

# Excluir dados do jogador

Este artigo descreve duas maneiras principais de excluir os dados de um jogador do PlayFab. Você pode [excluir toda a conta do jogador](#delete-a-player-account) ou apenas [excluir os dados sem excluir a conta](#delete-account-data-without-deleting-the-account).

## Excluir uma conta de jogador

<Warning>
  Excluir uma conta Master Player exclui todos os dados associados ao jogador do PlayFab e equivale a excluir o jogador do seu jogo. A API DeleteMasterPlayerAccount não tem um mecanismo para excluir seletivamente os dados associados ao jogador. Consulte Excluir dados de eventos e Excluir dados personalizados para ver opções de exclusão de dados mantendo a conta do jogador.
</Warning>

A exclusão de uma conta Master Player e de seus dados pode ser feita usando a API de administração [DeleteMasterPlayerAccount](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/delete-master-player-account), que está disponível em todos os nossos SDKs. Leia [Certifique-se de encontrar todos os dados](/pt-BR/services/playfab/data-analytics/privacy-compliance/playfab-gdpr-deleting-and-exporting-player-data).

Quando você faz uma solicitação para excluir um jogador, o PlayFab remove rapidamente as informações pessoais do jogador do nosso sistema principal antes de enviar a solicitação para um agente de processamento de fila, que trabalha para remover todas as informações restantes sobre o jogador de sistemas auxiliares e subprocessadores.

Essa API retorna imediatamente e fornece um `JobReceiptId`, que você deve armazenar para seus registros. O JobReceiptId é a sua confirmação de que o PlayFab recebeu a solicitação para excluir o jogador.

Quando a exclusão for concluída, um email será enviado para o endereço de email de notificação configurado para o título. Ele contém o mesmo `JobReceiptId` retornado inicialmente pela API. A conclusão da tarefa também disparará um evento do PlayStream.

Usando nosso recurso de Webhook, você pode se registrar para receber esses eventos em um ponto de extremidade de sua escolha e processá-los conforme necessário. O evento conterá um blob JSON que tem o `JobReceiptId`.

O exemplo a seguir mostra como usar a API de administração com o [SDK do C#](/pt-BR/services/playfab/sdks/c-sharp). Se você quiser usar outro SDK, selecione um na lista de [SDKs do PlayFab](/pt-BR/services/playfab/sdks/playfab-sdk-intro).

```csharp theme={null}
public static async void StartDeleteMasterPlayerExample(Action<PlayFabError> callback)
{
    var task = await PlayFabAdminAPI.DeleteMasterPlayerAccountAsync(new DeleteMasterPlayerAccountRequest()
    {
        PlayFabId = PlayFabId
    });

    if(task.Error != null)
    {
        callback(task.Error);
    }

    var jobReceiptId = task.Result.JobReceiptId;
    var AffectedTitleList = task.Result.TitleIds; 
    foreach (var title in AffectedTitleList)
    {
        Console.WriteLine(string.Format("Delete Player - Title Affected: {0}", title));
    }

}
```

<Note>
  Como essa exclusão *não pode ser desfeita*, sugerimos confirmar com o jogador se ele está de acordo com o escopo e o impacto da solicitação de exclusão.
</Note>

Depois que a ação for confirmada, use o código a seguir para prosseguir com a exclusão da conta Master Player.

```csharp theme={null}
//Make sure we are 100% sure we want to do this.
if ( confirm successful ) {
   //create a variable to store a list of titles the player has already been removed from.
   listOfTitlesRemovedFrom
   //Hang on to the receipts from successful deletes.
   listOfReceipts
   foreach(title in <all my titles>){

       //You only need to remove the Master Player once per namespace, so check that you have not
       //already performed this action in the namespace, or you will get an error that
       //the player is already queued for deletion.
       if(title not in listOfTitlesRemovedFrom){
           foreach(pfid in PlayFabIdList){

              //Note: you should do some error handling around this API call.
              response = title.DeleteMasterPlayerAccount(pfid)
              foreach(titleId in response.titleids){
                listOfTitlesRemoved.add(titleId)
              }
              listOfReceipts.add(response.jobreceiptid)
           }
       }
   }

   //Save listOfReceipts somewhere as proof of deletion.

}
```

## Excluir dados da conta sem excluir a conta

Use esta lista para ajudar você a excluir os dados de eventos associados à conta de um jogador.

### Excluir dados de eventos

Os dados de eventos incluem eventos do PlayStream e telemetria. Os dados de eventos são transacionais e gerados a partir da atividade do usuário.

#### PlayFab Insights

O PlayFab Insights é uma solução totalmente gerenciada em que o PlayFab armazena seus dados de eventos em seu nome.

Você pode usar a API [DeleteMasterPlayerEventData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/delete-master-player-event-data) para excluir dados do Insights quando o jogador solicitar. Isso exclui apenas os dados armazenados relacionados ao jogador no PlayFab Insights, deixando todos os outros dados intactos.

### Excluir dados personalizados

Dados personalizados referem-se a uma ampla categoria de recursos que permitem associar dados arbitrários a um jogador. O PlayFab fornece métodos para interagir com os dados a partir da lógica do seu jogo, mas não interpreta nem compreende os dados de outra forma.

#### Dados de jogador herdados

É possível editar e excluir os diferentes tipos de dados de jogador usando as seguintes APIs:

[UpdateUserData](https://learn.microsoft.com/en-us/rest/api/playfab/server/player-data-management/update-user-data), [UpdateUserInternalData](https://learn.microsoft.com/en-us/rest/api/playfab/server/player-data-management/update-user-internal-data), [UpdateUserReadOnlyData](https://learn.microsoft.com/en-us/rest/api/playfab/server/player-data-management/update-user-read-only-data), [UpdateUserPublisherData](https://learn.microsoft.com/en-us/rest/api/playfab/server/player-data-management/update-user-publisher-data), [UpdateUserPublisherInternalData](https://learn.microsoft.com/en-us/rest/api/playfab/server/player-data-management/update-user-publisher-internal-data), [UpdateUserPublisherReadOnlyData](https://learn.microsoft.com/en-us/rest/api/playfab/server/player-data-management/update-user-publisher-read-only-data)

Cada uma dessas APIs aceita um parâmetro **KeysToRemove**, que recebe uma lista de chaves de dados de jogador que devem ser excluídas do perfil do jogador.

#### Objeto de entidade

[Objetos de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities/entity-objects) podem ser excluídos usando a API SetObjects. Na matriz Objects do corpo da solicitação, crie uma entrada para cada objeto que você deseja excluir, especificando seu ObjectName e definindo DeleteObject como true. Veja abaixo um exemplo de corpo de solicitação.

```HTTP theme={null}
{ 
    "Entity": { 
        "Id": "<The ID of the target entity>", 
        "Type": "<either ‘title_player_account’, ‘master_player_account’, or ‘character’>" 
    }, 
    "Objects": [ 
        { 
            "ObjectName": "<Name of object to delete>", 
            "DeleteObject": true 
        } 
    ] 
} 
```

#### Arquivos de entidade

[Arquivos de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities/entity-files) são excluídos usando a API [DeleteFiles](https://learn.microsoft.com/en-us/rest/api/playfab/data/file/delete-files).


## Related topics

- [GDPR do PlayFab - Excluindo e exportando dados de jogadores](/pt-BR/services/playfab/data-analytics/privacy-compliance/playfab-gdpr-deleting-and-exporting-player-data.md)
- [GDPR do PlayFab - Exportar dados do jogador](/pt-BR/services/playfab/data-analytics/privacy-compliance/gdpr-exporting-player-data.md)
- [Excluir dados de eventos do jogador mestre](/pt-BR/services/playfab/api-references/rest/admin/account-management/delete-master-player-event-data.md)
- [Documentação de progressão do jogador do PlayFab](/pt-BR/services/playfab/player-progression/index.md)
- [Documentação de dados e análises do PlayFab](/pt-BR/services/playfab/data-analytics/index.md)
