Purchase History.json do Google Play explicado
O Purchase History.json é o coração de uma exportação do Takeout do Google Play: a lista legível por máquina do que você adquiriu, e quando. Esta página explica seu papel e sua estrutura geral — com uma ressalva importante sobre garantias.
Primeiro, a ressalva: não há esquema publicado
O Google não publica um esquema formal e versionado para os arquivos do Takeout da Play. Tudo o que segue descreve a estrutura conforme observada em exportações reais — as nossas e as documentadas pela comunidade. Os campos podem diferir conforme as contas, os tipos de conteúdo e os períodos, e o Google pode alterá-los sem aviso. Toda afirmação aqui é «geralmente presente», nunca «contratualmente garantida».
Para que serve o arquivo
Na pasta Google Play Store da sua exportação, o Purchase History.json registra as aquisições: apps e jogos obtidos, compras no app realizadas, assinaturas contratadas. Veja-o como o o quê e quando. O quanto costuma estar no arquivo vizinho, Order History.json, que mantém o registro das transações — valores, moeda, campos ligados ao pagamento e a reembolsos.
Estrutura geral
O arquivo é um array JSON de registros. Cada registro descreve uma aquisição e costuma trazer:
- Uma descrição do documento — o título do item e, muitas vezes, um tipo que distingue um app Android de outro conteúdo.
- Um carimbo de data/hora da compra — quando a aquisição aconteceu.
- Um tipo de compra — que distingue, por exemplo, uma compra de app de uma compra no app ou de uma assinatura.
O preço e os detalhes de pagamento, em geral, não estão neste arquivo — esse é o papel do Order History. Cruzar os dois é o jeito de obter «nome + data + preço» de uma compra.
Um exemplo fictício
O trecho abaixo foi inventado para ilustrar — não são dados reais, e é um esboço simplificado, não uma promessa sobre nomes de campos. Uma exportação real pode aninhar ou nomear as coisas de outro jeito:
[
{
"purchase": {
"document": {
"type": "Android App",
"title": "Example Launcher (fictício)"
},
"purchaseTime": "2019-04-12T14:23:00Z",
"purchaseType": "App"
}
},
{
"purchase": {
"document": {
"type": "In-app item",
"title": "Example Game - Coin Pack (fictício)"
},
"purchaseTime": "2021-11-02T09:05:00Z",
"purchaseType": "In-app purchase"
}
}
]
Apps, compras no app, assinaturas
Nas exportações observadas, a informação de tipo de compra é o que permite separar as três grandes categorias que interessam aos usuários:
| Categoria | O que um registro representa | Ponto de atenção |
|---|---|---|
| Apps e jogos | Aquisição única de um app ou jogo (pago ou gratuito) | Apps gratuitos também podem aparecer — aquisição ≠ pagamento |
| Compras no app | Conteúdos comprados dentro de um app | O registro nomeia o item; o app pai pode precisar ser deduzido do título |
| Assinaturas | Eventos ligados a assinaturas | Renovações e assinatura inicial podem ser registradas de forma diferente; veja o Order History para os valores |
Os campos que um leitor deveria ignorar
O Order History.json pode conter campos ligados ao meio de pagamento. Um leitor ou analisador bem construído deveria descartá-los durante a análise — nunca exibi-los, nunca armazená-los. O histórico útil é «o quê, quando, quanto». Dados de cartão não acrescentam nada a isso, e sim todo o risco.
A mesma disciplina vale para o compartilhamento: um histórico de compras é um dado pessoal. Guarde suas exportações localmente e desconfie de qualquer ferramenta que queira enviá-las online.
Pule o JSON.
O App Purchase Vault está em pré-lançamento: escolha o ZIP, ganhe um arquivo pesquisável. Só no aparelho.