Większość zasobów jest modyfikowana (tworzona, aktualizowana lub usuwana) za pomocą Mutate
metody. Metoda Mutate
jest wywoływana jako żądanie HTTP POST
do adresu URL konkretnego zasobu, który pasuje do wzorca nazwy zasobu, ale 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 znak :mutate
:
https://googleads.googleapis.com/v21/customers/CUSTOMER_ID/campaigns:mutate
Wiadomość 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 wartości: create
, update
lub remove
. Są to jedyne możliwe operacje mutate.
POST /v21/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. W przewodniku Limity systemu znajdziesz informacje o ograniczeniach rozmiarów żądań.
Operacje w ramach jednego żądania do interfejsu API są domyślnie wykonywane jako jeden zestaw działań, co oznacza, że wszystkie kończą się powodzeniem lub cała partia kończy się niepowodzeniem, jeśli nie powiedzie się choćby jedna operacja. Niektóre usługi obsługują atrybut
partialFailure
, aby zmienić to zachowanie. Więcej informacji o semantyce operacji modyfikowania znajdziesz w artykule Modyfikowanie zasobów.
Utwórz
Operacje tworzenia generują nowe elementy i muszą zawierać pełną reprezentację JSON zasobu, który chcesz utworzyć.
POST /v21/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 sformatowaną reprezentację JSON obiektu (np. 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 parametrze updateMask
i wysłać cały obiekt JSON.
W przykładzie poniżej zmieniamy name
i status
istniejącej kampanii o podanym resourceName
.
POST /v21/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 skutecznie usuwają obiekt, ustawiając jego stan w Google Ads na REMOVED
. Wymagany jest tylko adres resourceName
, który ma zostać usunięty.
POST /v21/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" } ] }