> ## 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 - Exportar dados do jogador

> Como exportar os dados de um jogador do PlayFab para conformidade com o GDPR usando ExportMasterPlayerData, abrangendo estatísticas, inventário, compras e histórico de eventos.

# Exportar dados

Este artigo descreve como exportar dados de jogadores e de eventos do PlayFab.

## Exportar dados da conta do jogador

Quando você faz uma solicitação para exportar os dados de um jogador, a solicitação é enviada para um **agente de processamento de fila** (de forma semelhante à exclusão de um jogador).

A API [ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data) exporta todos os dados associados ao `PlayFabId` especificado, incluindo dados de todos os seus títulos, como:

* **Estatísticas**
* **Dados personalizados**
* **Inventário**
* \**Compras* \*
* **Itens criados pelo jogador/UGC**
* **Histórico de transações**
* **Saldos de moeda virtual**
* **Personagens**
* **Associações a grupos**
* **Dados do editor**
* **Dados de credenciais**
* **Vinculações de contas**
* **Lista de amigos**
* **Histórico de eventos do PlayStream**.

Leia [Certifique-se de encontrar todos os dados](/pt-BR/services/playfab/data-analytics/privacy-compliance/playfab-gdpr-deleting-and-exporting-player-data), que detalha como garantir que você tenha todos os PlayFabIds de um jogador.

Essa API retorna imediatamente um `JobReceiptId`, que você deve armazenar em seus registros para referência futura. Pode levar algum tempo até que a exportação esteja disponível para download.

Após a conclusão da exportação, um email contendo o link de download da exportação será enviado para o endereço de email de notificação configurado para o título.

A conclusão da tarefa também disparará um [evento `player_data_exported` do PlayStream](/pt-BR/services/playfab/api-references/events/PlayerIdentity/player-data-exported). O evento contém o `JobReceiptId` como propriedade, bem como a propriedade `ExportDownloadUrl`, que fornece acesso aos dados exportados. Usando [Regras de automação com Azure Functions](/pt-BR/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/quickstart#azure-functions-in-automation-rules) ou [Webhooks](/pt-BR/services/playfab/data-analytics/acting-data/webhooks-overview), você pode se registrar para receber esses eventos em um ponto de extremidade de sua escolha e processá-los conforme necessário.

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 ExportMasterPlayerExample(Action<PlayFabError> callback)
{
    var task = await PlayFabAdminAPI.ExportMasterPlayerDataAsync(new ExportMasterPlayerDataRequest()
    {
        PlayFabId = PlayFabId
    });

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

    var jobReceiptId = task.Result.JobReceiptId;

    Console.WriteLine(string.Format("Export Player Request Received - Receipt: {0}", jobReceiptId));

    callback(null);
}
```

<Note>
  A URL ficará disponível por até 30 dias após a conclusão da exportação. Após esse período, o arquivo será excluído e você precisará iniciar uma *nova* solicitação de exportação.
</Note>

## Formato dos dados exportados

Os dados exportados são empacotados em um arquivo ZIP cujo nome contém o `JobReceiptId` e a hora da exportação. O arquivo contém vários arquivos organizados em uma estrutura de diretórios.

| Caminho do arquivo | Descrição |
| - | - |
| /master\_player\_export.json | <p>Um arquivo JSON que contém os dados do jogador registrados no PlayFab. Isso inclui dados de cada um dos títulos dos quais o jogador participa.</p><p>O esquema do documento JSON é fornecido como uma especificação OpenAPI. Consulte o objeto `MasterPlayerDataExport` em `https://<your_title_id>.playfabapi.com/Swagger/MasterPlayerDataExport.swagger.json`</p> |
| /CustomFiles/MasterPlayerFiles/\* | Contém os [Arquivos de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities/entity-files) personalizados associados à entidade `master_player_account` do jogador. |
| /CustomFiles/TitlePlayerFiles/\<TitlePlayerAccountId>/\* | <p>Contém os [Arquivos de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities/entity-files) personalizados associados às entidades `title_player_account` do jogador.</p><p>Os arquivos são organizados em um subdiretório por título do qual o jogador participa. O nome de cada subdiretório é a ID da entidade `title_player_account` do jogador no título.</p> |
| /TitlePlayerEvents/\<TitleId>/event-history\_1.jsonl <br />...<br /> /TitlePlayerEvents/\<TitleId>/event-history\_\<N>.jsonl | <p>Os eventos do PlayStream e de Telemetry registrados sobre o jogador.</p><p>Os arquivos são organizados em um subdiretório por título do qual o jogador participa. O nome de cada subdiretório é a ID do título.</p><p>Cada subdiretório contém um ou mais arquivos `event-history`, dependendo da quantidade de dados que o jogador tem no título em questão. Os arquivos contêm os eventos serializados em objetos JSON, um evento por linha.</p> |

## Exportar dados de eventos

O PlayFab fornece vários tipos de dados de eventos: dados personalizados, objetos de entidade e arquivos de entidade.

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

Ao usar a API [ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data) (conforme mencionado na seção Exportando dados do PlayFab), todas as propriedades de dados de jogador podem ser encontradas no arquivo master\_player\_export.json, na raiz do arquivo ZIP:

* Os dados de "Publisher" podem ser encontrados no JSONPath: \$.PublisherData
* Os dados por título podem ser encontrados no JSONPath: \$.Titles\[\*].CustomData

Esses valores também podem ser recuperados por meio de APIs "get" dedicadas, caso você precise exportar apenas esses valores. A vantagem das APIs dedicadas é que elas retornam imediatamente. No entanto, de acordo com o design desse recurso, a API correta precisará ser chamada com base no tipo específico de dados necessário:

GetUserData, GetUserInternalData, GetUserReadOnlyData, GetUserPublisherData, GetUserPublisherInternalData, GetUserPublisherReadOnlyData

### Exportar objetos de entidade

Ao usar a API [ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data), todos os objetos de entidade podem ser encontrados no arquivo **master\_player\_export.json**, na raiz do arquivo ZIP:

Para objetos de entidade **master\_player\_account**, no JSONPath: **\$.CustomObjects**

Para objetos de entidade **title\_player\_account**, no JSONPath: **\$.Titles\[\*].CustomObjects**

Para objetos de entidade de personagem, no JSONPath: **\$.Titles\[*].Characters\[*].CustomObjects**

Os objetos de entidade também podem ser recuperados por meio da API [GetObjects](https://learn.microsoft.com/en-us/rest/api/playfab/data/object/get-objects). Se você já souber de quais entidades está procurando os objetos, usar as APIs dedicadas pode ser mais fácil, pois elas retornarão os objetos imediatamente. No entanto, a desvantagem é que a API precisará ser chamada separadamente para a entidade **master\_player\_account** do jogador, para cada entidade **title\_player\_account** e para cada entidade de personagem.

### Exportar arquivos de entidade

Ao usar a API [ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data), todos os arquivos de entidade associados ao jogador são adicionados no estado em que se encontram ao arquivo ZIP, no diretório /CustomFiles/, especificamente:

Para a entidade **master\_player\_account** do jogador, os arquivos ficam em /CustomFiles/MasterPlayerFiles/\*

Para **title\_player\_account**, os arquivos ficam em /CustomFiles/TitlePlayerFiles/\<TitlePlayerAccountId>/\*

<Note>
  Existe um subdiretório para cada entidade, com a ID da entidade title\_player\_account como nome do diretório.
</Note>

Os arquivos de entidade também podem ser baixados diretamente. Primeiro, chame a API [GetFiles](https://learn.microsoft.com/en-us/rest/api/playfab/data/file/get-files) para obter metadados sobre os arquivos da entidade. Cada documento de metadados de arquivo inclui uma propriedade DownloadUrl, que pode ser usada para baixar o arquivo diretamente.


## 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)
- [Exportar dados do jogador mestre](/pt-BR/services/playfab/api-references/rest/admin/account-management/export-master-player-data.md)
- [GDPR do PlayFab - Excluir dados do jogador](/pt-BR/services/playfab/data-analytics/privacy-compliance/gdpr-deleting-player-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)
