Thay đổi đối tượng

Như đã thảo luận trong hướng dẫn về cấu trúc API, mỗi tài nguyên cấp cao nhất trong API Google Ads đều có một dịch vụ tương ứng dành riêng cho loại tài nguyên, hỗ trợ việc sửa đổi các thực thể của tài nguyên.

Hướng dẫn này sẽ sử dụng CampaignService để minh hoạ cách sửa đổi các đối tượng Campaign, nhưng các khái niệm tương tự cũng áp dụng cho tất cả các dịch vụ khác dành riêng cho loại tài nguyên.

Thay đổi đối tượng

Mỗi dịch vụ dành riêng cho loại tài nguyên sẽ có một phương thức mutate chấp nhận yêu cầu mutate. Yêu cầu này bao gồm:

  • customerId
  • Một tập hợp các thao tác
  • Một chế độ cài đặt content-type của phản hồi xác định xem tài nguyên có thể thay đổi hay chỉ tên tài nguyên sẽ được trả về sau khi thay đổi.

Ví dụ: phương thức MutateCampaigns của CampaignService chấp nhận một MutateCampaignsRequest bao gồm:

  • customerId
  • Một tập hợp các đối tượng CampaignOperation
  • Trường response_content_type cho biết loại câu trả lời ưu tiên.

Hoạt động tính toán

Một đối tượng thao tác như CampaignOperation cho phép bạn chỉ định hành động mà bạn muốn thực hiện trên một tài nguyên duy nhất bằng cách đặt trường operation của tài nguyên đó. Trường này là một trường oneof bao gồm các thuộc tính sau có loại là loại tài nguyên:

create
Tạo một phiên bản mới của tài nguyên.
update
Cập nhật tài nguyên để khớp với các thuộc tính của tài nguyên update. Khi đặt trường này, bạn cũng phải đặt update_mask của thao tác. Trường này cho biết API Google Ads cần sửa đổi những thuộc tính nào trong quá trình thực hiện thao tác cập nhật. Mỗi thư viện ứng dụng đều có một phương thức tiện ích hoặc phương thức trợ giúp sẽ tạo update_mask cho bạn, như minh hoạ trong thư viện ứng dụng của chúng tôi.
remove
Xoá tài nguyên.

Vì trường operation là trường oneof, bạn không thể dùng một thao tác duy nhất để sửa đổi nhiều đối tượng. Ví dụ: nếu bạn muốn tạo một chiến dịch và xoá một chiến dịch khác, hãy thêm hai phiên bản của CampaignOperation vào yêu cầu của bạn: một phiên bản có create được đặt và một phiên bản khác có remove được đặt.

Thao tác theo đợt

Mặc dù một thao tác chỉ có thể tạo, cập nhật hoặc xoá một tài nguyên duy nhất, nhưng một yêu cầu biến đổi duy nhất có thể chứa nhiều thao tác. Bạn nên kết hợp các thao tác thành một yêu cầu biến đổi duy nhất thay vì gửi nhiều yêu cầu biến đổi, mỗi yêu cầu chứa một thao tác duy nhất.

Ví dụ: nếu muốn tạo 10 chiến dịch, bạn nên gửi một MutateCampaignsRequest có 10 đối tượng CampaignOperation.

Thay đổi phản hồi

Nội dung được trả về trong phản hồi phụ thuộc vào nội dung đã được gửi trong response_content_type của yêu cầu biến đổi. Ví dụ: nếu bạn chỉ định MUTABLE_RESOURCE, thì phản hồi sẽ chỉ chứa các trường có thể thay đổi trong chiến dịch. Sau đó, bạn có thể thực hiện các thao tác thay đổi tiếp theo trên đối tượng tài nguyên đó mà không cần phải tạo lại.

Lỗi thay đổi

Các thao tác trong một yêu cầu biến đổi nhất định sẽ chỉ được áp dụng cho tài khoản Google Ads của bạn nếu mọi thao tác trong yêu cầu đều thành công. Hãy xem hướng dẫn về các lỗi thường gặp để biết danh sách các lỗi thường gặp và cách giải quyết.