Caution: You are viewing documentation for the API's REST interface. Most of our official client libraries use gRPC. See the REST Introduction for details.

Zmień

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Większość zasobów jest zmodyfikowana (utworzona, zaktualizowana lub usunięta) za pomocą metody Mutate. Metoda Mutate jest wywoływana jako HTTP POST dla adresu URL zasobu, który jest zgodny ze wzorcem nazwy zasobu bez identyfikatora końcowego. Zamiast tego w treści żądania JSON wysyłane są identyfikatory zasobów do mutacji. To pozwala wysłać pojedyncze wywołanie interfejsu API, które zawiera wiele operacji obejmujących różne zasoby.

Na przykład nazwa zasobu kampanii ma taki format:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

Aby uzyskać adres URL używany do mutacji kampanii, pomiń identyfikator zasobu końcowego i dołącz :mutate:

https://googleads.googleapis.com/v11/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 to z kolei wartość create, update lub remove. To jedyna możliwa operacja mutacji.

POST /v11/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 jednym wywołaniu interfejsu API. Przewodnik po limitach systemu dokumentuje ograniczenia związane z rozmiarami żądań.

Operacje w pojedynczym żądaniu interfejsu API są domyślnie wykonywane jako jeden zestaw czynności, co oznacza, że wszystkie są udane albo cała grupa kończy się niepowodzeniem, jeśli któraś z nich się nie powiedzie. Niektóre usługi obsługują atrybut partialFailure. Szczegółowe informacje o semantyce operacji mutacji są dostępne w tym artykule.

Utwórz

Operacje tworzenia powodują utworzenie nowych encji i muszą zawierać pełny format JSON dla zasobu, który chcesz utworzyć.

POST /v11/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": {}
      }
    }
  ]
}

Zaktualizuj

Operacje aktualizacji wykonują niewielkie aktualizacje istniejącego zasobu. Musisz określić tylko te pola, które chcesz zmienić.

Aby określić pola, które chcesz zaktualizować, ustaw wartość atrybutu updateMask na listę nazw pól oddzielonych przecinkami. Jest to szczególnie przydatne, gdy masz już w pełni sformatowany obiekt JSON (na przykład zwrócony w poprzednim wywołaniu interfejsu API), ale chcesz zmienić tylko niektóre pola. Zamiast przycinać obiekt JSON, możesz podać listę nazw pól, które chcesz zmodyfikować w updateMask i wysłać cały obiekt JSON.

Przykład poniżej zmienia name i status istniejącej kampanii o podanym resourceName.

POST /v11/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 usuwają obiekt, ustawiając jego stan Google Ads na REMOVED. Wymagany jest tylko tekst resourceName do usunięcia.

POST /v11/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"
    }
  ]
}