Większość zasobów jest modyfikowana (tworzona, aktualizowana lub usuwana) za pomocą metody Mutate. Metoda Mutate jest wywoływana jako żądanie HTTP POST do adresu URL specyficznego dla zasobu, który pasuje do wzorca nazwy zasobu, bez końcowego identyfikatora zasobu.
Identyfikatory zasobów, które mają zostać zmienione, są wysyłane w treści żądania JSON. Dzięki temu możesz wysłać jedno wywołanie interfejsu API, które zawiera wiele operacji na różnych zasobach.
Nazwa zasobu kampanii ma na przykład ten format:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
Aby uzyskać adres URL używany do modyfikowania kampanii, pomiń końcowy identyfikator zasobu i dodaj :mutate:
https://googleads.googleapis.com/v25/customers/CUSTOMER_ID/campaigns:mutate
Komunikat Mutate zawiera obiekt JSON najwyższego poziomu z tablicą operations, która
może zawierać wiele obiektów operation. Każda operacja może być jedną z tych operacji: create, update lub remove. Są to jedyne możliwe operacje mutacji.
POST /v25/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ ... ] }
Większość usług obsługuje tysiące operacji w ramach jednego wywołania interfejsu API. Ograniczenia dotyczące rozmiarów żądań znajdziesz w przewodniku System Limits.
Operacje w ramach jednego żądania do interfejsu API są domyślnie wykonywane jako jeden zestaw działań, co oznacza, że wszystkie operacje kończą się powodzeniem lub cała partia nie powiedzie się, jeśli nie powiedzie się jakakolwiek operacja. Niektóre usługi obsługują atrybut
partialFailure
umożliwiający zmianę tego zachowania. Więcej informacji o semantyce operacji mutacji znajdziesz w artykule Modyfikowanie zasobów.
Utwórz
Operacje tworzenia powodują utworzenie nowych jednostek i muszą zawierać pełną reprezentację JSON zasobu, który chcesz utworzyć.
POST /v25/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "create": { "name": "An example campaign", "status": "PAUSED", "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID", "advertisingChannelType": "SEARCH", "networkSettings": { "targetGoogleSearch": true, "targetSearchNetwork": true, "targetContentNetwork": true, "targetPartnerSearchNetwork": false }, "target_spend": {} } } ] }
Aktualizuj
Operacje aktualizacji wykonują rzadkie aktualizacje istniejącego zasobu. Musisz tylko określić pola, które chcesz zmodyfikować.
Aby określić pola, które chcesz zaktualizować, ustaw atrybut updateMask na listę nazw pól rozdzielonych przecinkami. Jest to szczególnie przydatne, jeśli masz już w pełni uformowaną reprezentację JSON obiektu (na przykład zwróconą przez poprzednie wywołanie interfejsu API), ale chcesz zmienić tylko niektóre pola.
Zamiast przycinać obiekt JSON, możesz po prostu wymienić nazwy pól, które mają zostać zmodyfikowane, w updateMask i wysłać cały obiekt JSON.
Poniższy przykład zmienia name i status istniejącej kampanii o podanej wartości resourceName.
POST /v25/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID", "name": "My renamed campaign", "status": "PAUSED", } } ] }
Usuń
Operacje usuwania powodują usunięcie obiektu i ustawienie jego stanu w Google Ads na REMOVED. Wymagane jest tylko resourceName do usunięcia.
POST /v25/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID" } ] }