Purchase History.json de Google Play explicado
Purchase History.json es el corazón de una exportación Takeout de Google Play: la lista legible por máquina de lo que adquiriste, y cuándo. Esta página explica su papel y su estructura general — con una advertencia importante sobre las garantías.
Primero, la advertencia: no hay esquema publicado
Google no publica un esquema formal y versionado para los archivos Takeout de Play. Todo lo que sigue describe la estructura tal como se ha observado en exportaciones reales — las nuestras y las documentadas por la comunidad. Los campos pueden diferir según las cuentas, los tipos de contenido y los periodos, y Google puede modificarlos sin previo aviso. Toda afirmación aquí es «normalmente presente», nunca «contractualmente garantizada».
Para qué sirve el archivo
En la carpeta Google Play Store de tu exportación, Purchase History.json registra las adquisiciones: apps y juegos obtenidos, compras integradas realizadas, suscripciones contratadas. Míralo como el qué y cuándo. El cuánto suele estar en el archivo vecino, Order History.json, que lleva el registro de transacciones — importes, divisa, campos ligados al pago y a los reembolsos.
Estructura general
El archivo es un array JSON de registros. Cada registro describe una adquisición y suele llevar:
- Una descripción del documento — el título del artículo, y a menudo un tipo que distingue una app de Android de otro contenido.
- Una marca de tiempo de compra — cuándo tuvo lugar la adquisición.
- Un tipo de compra — que distingue por ejemplo una compra de app de una compra integrada o de una suscripción.
El precio y los detalles de pago, por lo general, no están en este archivo — ese es el papel de Order History. Cruzar ambos es la forma de obtener «nombre + fecha + precio» para una compra.
Un ejemplo ficticio
El extracto siguiente está inventado a modo de ilustración — no son datos reales, y es un esbozo simplificado, no una promesa sobre los nombres de los campos. Una exportación real puede anidar o nombrar las cosas de otra manera:
[
{
"purchase": {
"document": {
"type": "Android App",
"title": "Example Launcher (ficticio)"
},
"purchaseTime": "2019-04-12T14:23:00Z",
"purchaseType": "App"
}
},
{
"purchase": {
"document": {
"type": "In-app item",
"title": "Example Game - Coin Pack (ficticio)"
},
"purchaseTime": "2021-11-02T09:05:00Z",
"purchaseType": "In-app purchase"
}
}
]
Apps, compras integradas, suscripciones
En las exportaciones observadas, la información de tipo de compra es lo que permite separar las tres grandes categorías que interesan a los usuarios:
| Categoría | Lo que representa un registro | Punto de atención |
|---|---|---|
| Apps y juegos | Adquisición única de una app o un juego (de pago o gratuita) | Las apps gratuitas también pueden aparecer — adquisición ≠ pago |
| Compras integradas | Contenidos comprados dentro de una app | El registro nombra el artículo; la app madre puede tener que deducirse del título |
| Suscripciones | Eventos ligados a suscripciones | Renovaciones y suscripción inicial pueden registrarse de forma distinta; consulta Order History para los importes |
Los campos que un lector debería ignorar
Order History.json puede contener campos ligados al método de pago. Un lector o analizador bien diseñado debería descartarlos durante el análisis — nunca mostrarlos, nunca almacenarlos. El historial útil es «qué, cuándo, cuánto». Los datos de tarjeta no aportan nada a eso, y sí todo el riesgo.
La misma disciplina se aplica al compartir: un historial de compras es un dato personal. Guarda tus exportaciones en local, y mira con recelo cualquier herramienta que quiera enviarlas en línea.
Olvídate del JSON.
App Purchase Vault está en prelanzamiento: eliges el ZIP, obtienes un archivo consultable. Solo en el dispositivo.