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

# RGPD de PlayFab: eliminar datos de jugador

> Cómo eliminar los datos de jugador de PlayFab para el cumplimiento del RGPD, incluido el uso de DeleteMasterPlayerAccount para quitar cuentas o el borrado de datos conservando la cuenta.

# Eliminación de datos de jugador

Este artículo describe dos formas principales de eliminar los datos de un jugador de PlayFab. Puede [eliminar la cuenta de jugador completa](#delete-a-player-account) o simplemente [eliminar los datos sin eliminar la cuenta](#delete-account-data-without-deleting-the-account).

## Eliminar una cuenta de jugador

<Warning>
  Eliminar una cuenta de Master Player elimina todos los datos asociados al jugador de PlayFab y equivale a eliminar al jugador de su juego. La API DeleteMasterPlayerAccount no dispone de un mecanismo para eliminar de forma selectiva los datos asociados al jugador. Consulte Eliminación de datos de eventos y Eliminación de datos personalizados para conocer las opciones para eliminar datos y conservar la cuenta del jugador.
</Warning>

La eliminación de una cuenta de Master Player y sus datos se puede realizar mediante la API de administración [DeleteMasterPlayerAccount](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/delete-master-player-account), que está disponible en todos nuestros SDK. Lea [Asegúrese de encontrar todos los datos](/services/playfab/data-analytics/privacy-compliance/playfab-gdpr-deleting-and-exporting-player-data).

Cuando realiza una solicitud para eliminar a un jugador, PlayFab quita rápidamente la información personal del jugador de nuestro sistema central antes de enviar la solicitud a un agente de procesamiento de colas, que se encarga de quitar toda la información restante sobre el jugador de los sistemas auxiliares y los subencargados del tratamiento.

Esta API devuelve el resultado de inmediato y proporciona un `JobReceiptId`, que debería almacenar para sus registros. El JobReceiptId es su validación de que PlayFab recibió la solicitud de eliminación del jugador.

Una vez completada la eliminación, se envía un correo electrónico a la dirección de correo electrónico de notificación configurada para el título. Contiene el mismo `JobReceiptId` que devolvió inicialmente la API. La finalización de la tarea también desencadena un evento de PlayStream.

Mediante nuestra característica de webhooks, puede registrarse para recibir estos eventos en el punto de conexión que elija y procesarlos según sea necesario. El evento contendrá un blob JSON que incluye el `JobReceiptId`.

El siguiente ejemplo muestra cómo usar la API de administración con el [SDK de C#](/services/playfab/sdks/c-sharp). Si desea usar otro SDK, seleccione uno de la lista de [SDK de PlayFab](/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>
  Dado que esta eliminación *no se puede deshacer*, sugerimos confirmar con el jugador que está conforme con el alcance y el impacto de su solicitud de eliminación.
</Note>

Una vez confirmada la acción, use el siguiente código para continuar con la eliminación de la cuenta de 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.

}
```

## Eliminar los datos de la cuenta sin eliminar la cuenta

Use esta lista para ayudarle a eliminar los datos de eventos asociados a la cuenta de un jugador.

### Eliminar datos de eventos

Los datos de eventos incluyen los eventos de PlayStream y la telemetría. Los datos de eventos son transaccionales y se generan a partir de la actividad del usuario.

#### PlayFab Insights

PlayFab Insights es una solución totalmente administrada en la que PlayFab almacena sus datos de eventos en su nombre.

Puede usar la API [DeleteMasterPlayerEventData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/delete-master-player-event-data) para eliminar los datos de Insights cuando el jugador lo solicite. Esto elimina solo los datos almacenados relacionados con el jugador en PlayFab Insights, dejando intactos todos los demás datos.

### Eliminar datos personalizados

Los datos personalizados hacen referencia a una amplia categoría de características que le permiten asociar datos arbitrarios a un jugador. PlayFab proporciona métodos para interactuar con los datos desde la lógica de su juego, pero por lo demás no interpreta ni entiende los datos.

#### Datos de jugador heredados

Es posible editar y eliminar los diferentes tipos de datos de jugador mediante las siguientes API::

[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 una de estas API acepta un parámetro **KeysToRemove**, que recibe una lista de claves de datos de jugador que deben eliminarse del perfil del jugador.

#### Objeto de entidad

Los [objetos de entidad](/services/playfab/live-service-management/game-configuration/entities/entity-objects) se pueden eliminar mediante la API SetObjects. En la matriz Objects del cuerpo de la solicitud, cree una entrada para cada objeto que desee eliminar especificando su ObjectName y estableciendo DeleteObject en true. A continuación se muestra un ejemplo de cuerpo de solicitud.

```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 
        } 
    ] 
} 
```

#### Archivos de entidad

Los [archivos de entidad](/services/playfab/live-service-management/game-configuration/entities/entity-files) se eliminan mediante la API [DeleteFiles](https://learn.microsoft.com/en-us/rest/api/playfab/data/file/delete-files).


## Related topics

- [RGPD de PlayFab: eliminación y exportación de datos de jugador](/es/services/playfab/data-analytics/privacy-compliance/playfab-gdpr-deleting-and-exporting-player-data.md)
- [RGPD de PlayFab: exportar datos de jugador](/es/services/playfab/data-analytics/privacy-compliance/gdpr-exporting-player-data.md)
- [Documentación de progresión del jugador de PlayFab](/es/services/playfab/player-progression/index.md)
- [Documentación de datos y análisis de PlayFab](/es/services/playfab/data-analytics/index.md)
- [Configuración de características de API en Game Manager de PlayFab](/es/services/playfab/live-service-management/gamemanager/api-feature-settings-in-the-playfab-game-manager.md)
