Google Ads API cung cấp nhiều cách để thay đổi tài nguyên, tuỳ thuộc vào trường hợp sử dụng của bạn:
- Thay đổi dịch vụ tài nguyên: Mỗi tài nguyên có thể thay đổi đều có một dịch vụ chuyên biệt để thực thi các thao tác cho loại tài nguyên cụ thể đó. Ví dụ: tài nguyên
Campaignsử dụng điểm cuốiCampaignService.MutateCampaignsđể tạo, cập nhật hoặc xoá chiến dịch. - Thay đổi hàng loạt: Điểm cuối
GoogleAdsService.Mutategói một chuỗi các thao tác thay đổi trên nhiều loại tài nguyên (và các thao tác hành động được hỗ trợ như đặt trước hoặc báo giá chiến dịch) trong một yêu cầu đồng bộ duy nhất. - Công việc theo lô không đồng bộ: Đối với các đột biến quy mô lớn hoặc khối lượng công việc chạy trong thời gian dài,
BatchJobServicesẽ thực thi các thao tác không đồng bộ mà không có nguy cơ hết thời gian chờ yêu cầu đồng bộ. Không giống nhưGoogleAdsService.Mutate,BatchJobServiceluôn thực thi theo ngữ nghĩa lỗi một phần và không hỗ trợ chế độvalidate_onlyhoặc thao tác hành động (book_campaigns_operation,quote_campaigns_operation). Vì lỗi một phần luôn hoạt động, nênBatchJobServicesẽ từ chối các thao tác tài nguyên có dịch vụ cơ bản không hỗ trợ lỗi một phần (chẳng hạn nhưCustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperationvàCustomerConversionGoalOperation) bằngMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.
Lợi ích của việc thay đổi hàng loạt
Việc sử dụng GoogleAdsService.Mutate mang lại những lợi ích sau đây (xem phần Các phương pháp hay nhất về Mutate để biết hướng dẫn triển khai):
- Nhóm các hành động trên nhiều dịch vụ tài nguyên: Trong khi các lệnh gọi dịch vụ tài nguyên riêng lẻ chỉ chấp nhận các thao tác cho một loại tài nguyên, thì
GoogleAdsService.Mutatecho phép bạn thay đổi nhiều loại tài nguyên trong một lệnh gọi. - Tên tài nguyên tạm thời: Bạn có thể chỉ định mã nhận dạng số nguyên âm (chẳng hạn như
customers/CUSTOMER_ID/campaigns/-1) cho các thực thể mẹ mới tạo và tham chiếu các mã nhận dạng tạm thời đó trong các thao tác con trong cùng một yêu cầu.
Với những tính năng này, bạn có thể sử dụng GoogleAdsService.Mutate để tạo toàn bộ hệ phân cấp chiến dịch theo cách nguyên tử để tất cả các thao tác đều thành công hoặc không thành công cùng nhau, hoặc đặt partial_failure thành true để thực hiện các thao tác hợp lệ một cách độc lập.