Todo lo que tocó un cambio aplicado se leyó de la cuenta y se anotó antes de que se ejecutara. Devolverlo lo repite, así que es algo registrado y no una reconstrucción.
Mira antes de pulsar
curl -s https://top-rated.team/google-ads/v1/changes/chg_abc123 \ -H "X-API-KEY: $MAKEHYBRID_KEY"
La respuesta lleva revertable, y not_revertable_because cuando es false. Léelo primero: un cambio que creó algo nuevo no se puede deshacer así, y tampoco lo que Google no nos dejó leer de vuelta antes de hacer el cambio.
Devuélvelo a como estaba
curl -sX POST https://top-rated.team/google-ads/v1/changes/chg_abc123/revert \ -H "X-API-KEY: $MAKEHYBRID_KEY"
Entra como un cambio propio, con su propio registro y su propio deshacer — así que devolver algo puede a su vez devolverse. El original queda marcado como revertido y nombra el cambio que lo hizo.
Si Google rechaza la reversión, no pasó nada: un mutate se ejecuta entero o no se ejecuta, así que el original sigue aplicado y exactamente como era. El rechazo lo dice, en vez de dejarlo marcado como deshecho.
Qué se anotó, y cuándo
El deshacer se lee de la cuenta en el momento justo antes de que el cambio se ejecute, no después. Ese orden es toda la razón por la que esto funciona: una vez que una puja se ha movido, el número del que partió ya no está en la cuenta, y nada podría reconstruirlo salvo una copia hecha antes. Así que se hace una.
Lo que se anota es el estado exacto de las cosas que toca el cambio — los campos nombrados en sus máscaras de actualización (update masks), leídos de los recursos que nombra. Un cambio que pausa una campaña registra el estado de esa campaña, no una instantánea de la cuenta, y por eso devolverlo no puede pisar un cambio que otra persona hizo entretanto.
Preguntas frecuentes
¿Qué cambios no se pueden devolver?
Todo lo que creó algo nuevo — una campaña, un anuncio, un recurso — porque no había un estado previo que anotar. El cambio lo dice en not_revertable_because antes de que pulses, en vez de fallar cuando lo intentas.
¿Puedo deshacer el deshacer?
Sí. Devolver un cambio entra como un cambio propio, con su propio registro y su propio deshacer anotado de la misma manera, así que se puede devolver a su vez.
¿Y si alguien cambió lo mismo en Google Ads mientras tanto?
Devolver el cambio escribe los valores registrados encima de lo que haya ahora. Es el comportamiento honesto para un deshacer, y es la razón para leer la cuenta antes de pulsar y no después.