La API de Google Ads proporciona varias formas de mutar recursos según tu caso de uso:
- Mutaciones del servicio de recursos: Cada recurso mutable tiene un servicio dedicado que ejecuta operaciones para ese tipo de recurso específico. Por ejemplo, el recurso
Campaignusa el extremoCampaignService.MutateCampaignspara crear, actualizar o quitar campañas. - Mutaciones masivas: El extremo
GoogleAdsService.Mutateune una secuencia de operaciones de mutación en varios tipos de recursos (y operaciones de acción admitidas, como reservar o cotizar campañas) en una sola solicitud síncrona. - Trabajos por lotes asíncronos: Para
mutaciones a gran escala o cargas de trabajo de larga duración,
BatchJobServiceejecuta operaciones de forma asíncrona sin arriesgarse a que se agote el tiempo de espera de las solicitudes síncronas. A diferencia deGoogleAdsService.Mutate,BatchJobServicesiempre se ejecuta con la semántica de falla parcial y no admite el modovalidate_onlyni las operaciones de acción (book_campaigns_operation,quote_campaigns_operation). Debido a que la falla parcial siempre está activa,BatchJobServicerechaza las operaciones de recursos cuyos servicios subyacentes no admiten la falla parcial (comoCustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperationyCustomerConversionGoalOperation) conMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.
Beneficios de las mutaciones masivas
El uso de GoogleAdsService.Mutate proporciona los siguientes beneficios (consulta las prácticas recomendadas para Mutate para obtener orientación sobre la implementación):
- Acciones agrupadas en diferentes servicios de recursos: Mientras que las llamadas individuales a servicios de recursos solo aceptan operaciones para un único tipo de recurso,
GoogleAdsService.Mutatete permite mutar varios tipos de recursos en una sola llamada. - Nombres de recursos temporales: Puedes asignar IDs de números enteros negativos (como
customers/CUSTOMER_ID/campaigns/-1) a las entidades principales recién creadas y hacer referencia a esos IDs temporales en las operaciones secundarias dentro de la misma solicitud.
Con estas funciones, puedes usar GoogleAdsService.Mutate para
crear una jerarquía de campaña completa de forma atómica, de modo que todas las operaciones se realicen correctamente o
fallen juntas, o bien establecer partial_failure en true para confirmar las operaciones válidas
de forma independiente.