Kundenkonten verwalten

In diesem Artikel erhalten Sie eine Übersicht über CustomerService und ManagedCustomerService. Mithilfe dieser Services werden Kontoinformationen von AdWords-Kunden abgerufen, Konten erstellt und Kontolinks verwaltet.

Seit Version 201302 können Sie Änderungen an Links in Ihrer Kontohierarchie vornehmen. So können Sie Ihre Kundencenterkonten sowie Kundenkonten (Konten, über die Anzeigen geschaltet werden) automatisiert verwalten.

So erstellen Sie einen Link zwischen einem Kundencenter und einem neuen Kundenkonto:

  1. Das Kundencenter muss einen ausstehenden Link hinzufügen.
  2. Der Kunde muss den Link aktivieren.

So kann das Kundencenter im Namen des Kundenkontos Anfragen stellen.

Manager sendet Einladung

Sie können über ein Kundencenterkonto eine Einladung an ein Kundenkonto oder ein Kundencenter senden, um dieses Konto bzw. Kundencenter zu verwalten. CLIENT_CID muss ein Kunden- oder Kundencenterkonto sein, das gegenwärtig nicht von einem Kundencenter in Ihrer Hierarchie verwaltet wird.

LinkOperation linkOp = new LinkOperation();
ManagedCustomerLink link = new ManagedCustomerLink();
link.setClientCustomerId(CLIENT_CID);
link.setLinkStatus(LinkStatus.PENDING);
link.setManagerCustomerId(MANAGER_CID);
linkOp.setOperand(link);
linkOp.setOperator(Operator.ADD);
managedCustomerService.mutateLink(new LinkOperation[]{linkOp});

Sie können Einladungen übermitteln, indem Sie einen Add-Vorgang mit dem Linkstatus "pending" senden.

getPendingInvitations

Mit "ManagedCustomerService.getPendingInvitations" können ausstehende Einladungen, auf die noch nicht reagiert wurde, von Kunden- oder Kundencenterseite widerrufen werden. Sobald der Kunde die Einladung akzeptiert bzw. ablehnt oder das Kundencenter die Einladung widerruft, ist diese nicht mehr ausstehend. Mit "ManagedCustomerService.get" werden nur Links mit dem Status "active" angezeigt. Links mit dem Status "cancelled", "refused" oder "inactive" werden nicht zurückgegeben.

PendingInvitationSelector selector = new PendingInvitationSelector();
PendingInvitation[] invitations = managedCustomerService.getPendingInvitations(selector);

Mit diesem Aufruf werden alle ausstehenden Einladungen für das aktive Konto zurückgegeben. Sie können in den Feldern managerCustomerIds und clientCustomerIds auch die Kundencenterkonto- und Kundenkonto-IDs eingeben, um ausstehende Einladungen für diese Konten zurückzugeben. Die clientCustomerIds müssen über die Hierarchie des aktiven Kontos verwaltet werden, um die zugehörigen Links anzuzeigen. Wenn der aktive Nutzer ein Kundenkonto ist, werden nur ausstehende Einladungen für dieses Konto angezeigt.

Diese Anfrage gibt ausstehende Einladungen mit ManagedCustomer-Datensätzen zurück. Die Felder "name", "login", "companyName", "customerId" und "canManageClients" werden sowohl für den Manager als auch für den Kunden ausgefüllt.

Manager widerruft Einladung

Sie können Einladungen zur Verwaltung eines Kundenkontos auch widerrufen. Setzen Sie dafür mit einem Kundencenter, das diesen Link verwalten kann, als aktivem Konto in einem SET-Vorgang den Linkstatus auf "cancelled".

LinkOperation linkOp = new LinkOperation();
ManagedCustomerLink link = new ManagedCustomerLink();
link.setClientCustomerId(CLIENT_CID);
link.setLinkStatus(LinkStatus.CANCELLED);
link.setManagerCustomerId(MANAGER_CID);
linkOp.setOperand(link);
linkOp.setOperator(Operator.SET);
managedCustomerService.mutateLink(new LinkOperation[]{linkOp});

Kunde lehnt ab

Der Kunde kann die Einladung ebenfalls ablehnen, indem er in einem SET-Vorgang den Linkstatus auf "refused" setzt. Der aktive Nutzer muss in dieser Anfrage entweder mit der CLIENT_CID übereinstimmen oder diese verwalten.

LinkOperation linkOp = new LinkOperation();
ManagedCustomerLink link = new ManagedCustomerLink();
link.setClientCustomerId(CLIENT_CID);
link.setLinkStatus(LinkStatus.REFUSED);
link.setManagerCustomerId(MANAGER_CID);
linkOp.setOperand(link);
linkOp.setOperator(Operator.SET);
managedCustomerService.mutateLink(new LinkOperation[]{linkOp});

Kunde akzeptiert

Der Kunde muss den Linkstatus auf "active" setzen, um den Vorgang für den Kontolink abzuschließen. Ebenso wie bei der Ablehnung muss der aktive Nutzer in dieser Anfrage entweder mit der CLIENT_CID übereinstimmen oder diese verwalten.

LinkOperation linkOp = new LinkOperation();
ManagedCustomerLink link = new ManagedCustomerLink();
link.setClientCustomerId(CLIENT_CID);
link.setLinkStatus(LinkStatus.ACTIVE);
link.setManagerCustomerId(MANAGER_CID);
linkOp.setOperand(link);
linkOp.setOperator(Operator.SET);
managedCustomerService.mutateLink(new LinkOperation[]{linkOp});

Wenn ein Kunde oder der Manager die Verbindung trennen möchte, kann der Linkstatus auf "inactive" gesetzt werden, um den Link aufzuheben.

ManagedCustomerLink link = new ManagedCustomerLink();
link.setClientCustomerId(CLIENT_CID);
link.setLinkStatus(LinkStatus.INACTIVE);
link.setManagerCustomerId(MANAGER_CID);
linkOp.setOperand(link);
linkOp.setOperator(Operator.SET);
managedCustomerService.mutateLink(new LinkOperation[]{linkOp});

Das Kundencenter oder der Kunde kann den Link aufheben.

MutateManager

Mit ManagedCustomerService.mutateManager können Sie Kundenkonten einfach von einem Kundencenter in ein anderes verschieben.

MoveOperation op = new MoveOperation();
op.setOldManagerCustomerId(MANAGER_CID);
op.setOperator(Operator.SET);
ManagedCustomerLink link = new ManagedCustomerLink();
link.setClientCustomerId(CLIENT_CID);
link.setLinkStatus(LinkStatus.ACTIVE);
link.setManagerCustomerId(NEW_MANAGER_CID);
op.setOperand(link);
managedCustomerService.mutateManager(new MoveOperation[]{op});

Der bisherige und der neue Manager müssen vom aktiven Konto verwaltet werden. Der Linkstatus muss "active" sein. Verwenden Sie NEW_MANAGER_CID als "managerCustomerID" des Links und geben Sie beim Verschieben unter "oldManagerCustomerId" die bisherige MANAGER_CID ein.

Mit MutateManager können Sie kein Kundencenterkonto zu einem anderen Manager verschieben. Um ein Kundencenter innerhalb der Hierarchie zu verschieben, müssen Sie den bestehenden Link aufheben, das Kundencenter durch den neuen Manager einladen und diese Einladung annehmen.

Konten verwalten

CustomerService

Über Customerservice erhalten Sie Kundendaten zu einem einzelnen Kunden. Es gibt eine einzelne Methode (get) ohne Argumente, die einen Kundendatensatz mit Feldern wie "customerId", "currencyCode" oder "dateTimeZone" zurückgibt. Das aktive Konto wird immer zurückgegeben. Wenn Sie das Feld "clientCustomerId" leer lassen, wird der angemeldete Nutzer zur Bestimmung des Kontos verwendet. Wenn Sie sich als Kundencenter anmelden, können Sie eine "clientCustomerId" angeben, um Kontodaten für ein bestimmtes Konto abzurufen.

Beispielantwort:

<rval>
   <customerId>123456789</customerId>
   <currencyCode>USD</currencyCode>
   <dateTimeZone>America/New_York</dateTimeZone>
   <descriptiveName>myaccount</descriptiveName>
   <canManageClients>false</canManageClients>
</rval>

Die Dokumentation enthält eine Liste mit Werten für Währungen und Zeitzonen.

ManagedCustomerService

ManagedCustomerService verfügt ebenfalls über eine "get"-Methode, allerdings mit einem allgemeinen Selektor. Es gibt mehr Auswahlfelder als bei CustomerService. Weitere Details entnehmen Sie bitte der Dokumentation. Ebenso wie bei anderen Services und anders als bei CustomerService müssen Sie die gewünschten Felder angeben, die allgemeine Selektoren verwenden.

Neben einer Liste der Konten, die die Kriterien des Selektors erfüllen, erhalten Sie eine Liste der ManagedCustomerLink-Objekte, die die Beziehung zwischen Konten beschreiben.

<rval>
 <totalNumEntries>3</totalNumEntries>
 <Page.Type>ManagedCustomerPage</Page.Type>
 <entries>
    <name>Account Created with MCS</name>
    <login/>
    <companyName/>
    <customerId>789</customerId>
    <canManageClients>false</canManageClients>
    <currencyCode>ZAR</currencyCode>
    <dateTimeZone>Pacific/Pago_Pago</dateTimeZone>
 </entries>
 <entries>
    <name>Adwords Test MCC</name>
    <login>mymcc@gmail.com</login>
    <companyName/>
    <customerId>123</customerId>
    <canManageClients>true</canManageClients>
    <currencyCode>USD</currencyCode>
    <dateTimeZone>America/New_York</dateTimeZone>
 </entries>
 <entries>
    <name>myaccount</name>
    <login>myaccount@gmail.com</login>
    <companyName/>
    <customerId>456</customerId>
    <canManageClients>false</canManageClients>
    <currencyCode>USD</currencyCode>
    <dateTimeZone>America/New_York</dateTimeZone>
 </entries>
 <links>
    <managerCustomerId>123</managerCustomerId>
    <clientCustomerId>456</clientCustomerId>
 </links>
 <links>
    <managerCustomerId>123</managerCustomerId>
    <clientCustomerId>789</clientCustomerId>
 </links>
</rval>

ManagedCustomerService kann auch zum Erstellen neuer Konten verwendet werden. Diese neuen Konten gehören zum aktiven Nutzer. Dabei muss es sich um ein Kundencenterkonto handeln. Hier sehen Sie eine Beispielanfrage:

<operations>
  <operator>ADD</operator>
  <operand>
    <name>Foo</name>
    <currencyCode>USD</currencyCode>
    <dateTimeZone>America/New_York</dateTimeZone>
  </operand>
</operations>

Und die Antwort:

<rval>
  <value>
    <name>Foo</name>
    <customerId>9876543210</customerId>
    <canManageClients>false</canManageClients>
    <currencyCode>USD</currencyCode>
    <dateTimeZone>America/New_York</dateTimeZone>
  </value>
</rval>

Felder wie "companyName", "login" und "canManageClients" sind schreibgeschützt und werden beim Erstellen eines neuen Kundenkontos ignoriert. ManagedCustomerService kann nicht verwendet werden, um ein Kundenkonto zu aktualisieren.

Feedback geben zu...