Zmień

Większość zasobów jest modyfikowana (utworzona, aktualizowana lub usuwana) za pomocą Mutate . Metoda Mutate jest wywoływana jako POST dla określonego zasobu Adres URL zgodny ze wzorcem nazwy zasobu, bez końcowego identyfikatora zasobu. Identyfikatory zasobów, których dotyczą mutacje, są wysyłane w żądaniu JSON . Pozwala to wysłać pojedyncze wywołanie interfejsu API, które zawiera wiele operacji na za pomocą różnych zasobów.

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ń końcowy identyfikator zasobu i dołącz :mutate:

https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/campaigns:mutate

Komunikat Mutate zawiera obiekt JSON najwyższego poziomu z tablicą operations który może zawierać wiele obiektów operation. Każda operacja może być natomiast z: create, update lub remove. To są jedyne możliwe mutacje operacji.

POST /v17/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. Narzędzie System Limity ograniczeń rozmiaru żądań.

Operacje w ramach pojedynczego żądania do interfejsu API są wykonywane jako jeden zbiór działań przez domyślnie, co oznacza, że udają się wszystkie razem lub cała grupa kończy się niepowodzeniem, jeśli każda pojedyncza operacja zakończy się niepowodzeniem. Niektóre usługi obsługują Atrybut partialFailure żeby to zmienić. Zobacz Zasoby dotyczące ignorowania zmian .

Utwórz

Operacje tworzenia tworzą nowe encje i muszą zawierać pełny plik JSON reprezentujący zasób, który chcesz utworzyć.

POST /v17/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ą rozproszone aktualizacje istniejącego zasobu. Potrzebujesz tylko aby wskazać pola, które chcesz zmienić.

Aby określić pola, które chcesz zaktualizować, ustaw wartość atrybutu updateMask na rozdzielaną przecinkami listę nazw pól. Jest to szczególnie przydatne, jeśli mają już w pełni uformowaną reprezentację obiektu JSON (na przykład jako zwrócone przez poprzednie wywołanie interfejsu API), ale chcesz zmienić tylko niektóre pola. Zamiast przycinać obiekt JSON, możesz wymienić nazwy pól zmodyfikowany w updateMask i wyślij cały obiekt JSON.

W przykładzie poniżej zmieniamy wartości name i status istniejącej kampanii mającej podany resourceName.

POST /v17/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ń

Usuwanie operacji skutecznie usuwa obiekt, zmieniając jego stan w Google Ads na REMOVED Wymagany jest tylko resourceName do usunięcia.

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