Programmatic

Dieser Leitfaden bietet einen allgemeinen Überblick Programmatic Direct über die API nutzen können. Es wird beschrieben, wie ein Angebot erstellt und Verhandlungsgeschick.

Primer

Ein programmatisches Angebot ähnelt einem Auftrag in Google Ad Manager. Programmatische Angebote umfassende Informationen zu einer vorgeschlagenen Transaktion zwischen Ihnen und einem Käufer enthalten. Ein Angebot stellt zusammen mit den zugehörigen Werbebuchungen ein Inventarangebot für einen Käufer.

Weitere Informationen finden Sie in der Hilfe.

Angebot über die API erstellen

Zum Erstellen eines Proposal-Objekts werden nur der Name und der programmatische Käufer verwendet erforderlich. Die programmatische Käufer-ID erhalten Sie über die Benutzeroberfläche oder Programmatic_Buyer PQL-Tabelle.

Java


Proposal proposal = new Proposal();

// Setting required Marketplace information.
ProposalMarketplaceInfo proposalMarketplaceInfo = new ProposalMarketplaceInfo();
proposalMarketplaceInfo.setBuyerAccountId(programmaticBuyerId);

// Set common required fields for a proposal.
proposal.setName("Proposal #" + new Random().nextInt(Integer.MAX_VALUE));
proposal.setPrimaryTraffickerId(primaryTraffickerId);
proposal.setMarketplaceInfo(proposalMarketplaceInfo);
    

Python


proposal = {
    # Setting required Marketplace information.
    'isProgrammatic': 'true',
    'marketplaceInfo': {
        'buyerAccountId': programmatic_buyer_id,
    },
    # Set common required fields for proposals.
    'name': 'Proposal #%s' % uuid.uuid4(),
    # ...
}
    

PHP


$proposal = new Proposal();
$proposal->setName('Proposal #' . uniqid());

// Set the required Marketplace information.
$proposalMarketplaceInfo = new ProposalMarketplaceInfo();
$proposalMarketplaceInfo->setBuyerAccountId($buyerId);
$proposal->setMarketplaceInfo($proposalMarketplaceInfo);
    

C#


// Create a proposal with the minimum required fields.
Proposal proposal = new Proposal()
{
    name = "Programmatic proposal #" + new Random().Next(int.MaxValue),
    // Set required Marketplace information
    marketplaceInfo = new ProposalMarketplaceInfo()
    {
        buyerAccountId = programmaticBuyerId
    }
};
    

Ruby


# Create proposal configuration object.
proposal = {
  :marketplace_info => {
    :buyer_account_id => buyer_id
  },
  :name => 'Proposal %s' % SecureRandom.uuid(),
  # ...
}
    

Bevor Sie sie zur Verhandlung an den Käufer senden, müssen zusätzliche Felder festgelegt werden. Das Angebot muss die Kontakte eines Werbetreibenden, Verkäufers, Traffickers und Verkäufers enthalten.

Java


SalespersonSplit primarySalesperson = new SalespersonSplit();
primarySalesperson.setUserId(primarySalespersonId);
proposal.setPrimarySalesperson(primarySalesperson);
    

Python


'primarySalesperson': {
    'userId': primary_salesperson_id,
},
'primaryTraffickerId': primary_trafficker_id,
'probabilityOfClose': '100000',
    

PHP


// Create salesperson splits for the primary salesperson.
$primarySalesperson = new SalespersonSplit();
$primarySalesperson->setUserId($primarySalespersonId);
$proposal->setPrimarySalesperson($primarySalesperson);

// Set the primary trafficker on the proposal for when it becomes an
// order.
$proposal->setPrimaryTraffickerId($primaryTraffickerId);

$advertiser = new ProposalCompanyAssociation();
$advertiser->setType(
    ProposalCompanyAssociationType::ADVERTISER
);
$advertiser->setCompanyId($advertiserId);
$proposal->setAdvertiser($advertiser);
    

C#


// Set fields that are required before sending the proposal to the buyer.
proposal.primaryTraffickerId = primaryTraffickerId;
proposal.sellerContactIds = new long[] { primarySalespersonId };
proposal.primarySalesperson = new SalespersonSplit()
{
    userId = primarySalespersonId,
};
proposal.advertiser = new ProposalCompanyAssociation()
{
    type = ProposalCompanyAssociationType.ADVERTISER,
    companyId = advertiserId
};
    

Ruby


:primary_salesperson => {
  :user_id => primary_salesperson_id
},
:primary_trafficker_id => primary_trafficker_id
    

Da Angebote im Allgemeinen aus ProposalLineItem -Objekten enthält, werden im nächsten Schritt Angebotswerbebuchungen unter den neuen erstelltes Angebot.

Status eines programmatischen Angebots

Die folgende Abbildung zeigt ein programmatisches Angebot an verschiedenen Stellen während den Verhandlungsprozess aus Sicht der API. Jeder Bundesstaat wird durch verschiedene Kombinationen der folgenden Felder:

Weitere Informationen finden Sie in der Ad Manager-Hilfe.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"></ph> Die möglichen Status eines programmatischen Angebots
           mit dem Marktplatz interagieren. <ph type="x-smartling-placeholder">
</ph> Abbildung 1: Status eines programmatischen Angebots

Schritt-für-Schritt-Anleitung für Verhandlungen

Hier zeigen wir Ihnen Schritt für Schritt, wie Sie mit dem API eine Verhandlung für ein programmatisches Angebot mit einem Käufer. Wir verweisen auf die Stadien im Diagramm, oben.

Überprüfung oder Annahme durch den Käufer vorbereiten

Zunächst erstellen Sie ein programmatisches Angebot mit Angebotswerbebuchungen, die Sie an einen Käufer senden möchten. In der Abbildung oben ist dies state C.

Überprüfung oder Annahme durch den Käufer anfordern

Sobald der Käufer das programmatische Angebot prüfen kann, haben Sie folgende Möglichkeiten: RequestBuyerReview oder RequestBuyerAcceptance mithilfe des ProposalService.performProposalAction. Dadurch gelangen Sie in die Verhandlungsphase.

Verhandlung

In dieser Phase kann eine Reihe von Situationen eintreten.

  • Der Käufer kann Ihr programmatisches Angebot unverändert annehmen.
  • Der Käufer kann Änderungen vorschlagen. In diesem Fall wird das Angebot in einen Entwurfsstatus (state B in Abbildung 1). Anschließend müssen Sie das Angebot zur Bearbeitung öffnen, die vorgeschlagenen Änderungen vornehmen und es zur Überprüfung an den Käufer zurücksenden.
  • Sie können Änderungen auch vornehmen, noch bevor der Käufer geantwortet hat. Sie können Öffnen Sie dazu das Angebot zur Bearbeitung von state D in Abbildung 1.

Diese Verhandlungen werden fortgesetzt, bis Sie eine Einigung mit dem Käufer erzielt haben. Kommentare zwischen Ihnen und dem Käufer abgerufen werden, getMarketplaceCommentsByStatement. In state A können Sie dem Käufer einen Kommentar senden. Aufgabe müssen Sie die marketplaceComment im Angebot ein, indem Sie updateProposals. Der Kommentar wird gesendet, wenn Sie die Annahme durch den Käufer anfordern.

Abgeschlossen

Wenn Sie und der Käufer das programmatische Angebot angenommen haben, wird es in einen abgeschlossenen Zustand versetzt wird (state F in Abbildung 1). In Ad Manager werden dann automatisch Werbebuchungen aus diesem programmatischen Angebot erstellt.

In den meisten Fällen sind Sie nun mit dem programmatischen Angebot fertig. Es gibt jedoch sind zwei Aktionen, die Sie in diesem Status ausführen können:

  • Sie können das programmatische Angebot wieder zur erneuten Verhandlung öffnen, indem Sie Auslieferungsbezogene Felder im Angebot. Öffnen Sie dazu das Änderungsvorschlag (state E to A in Abbildung 1), Änderungen vornehmen um die Annahme durch den Käufer anzufordern.
  • Sie können Änderungen vornehmen, die sich nicht auf die Auslieferung beziehen, z. B. und auf die Änderung für den Ad Manager-Auftrag und die Werbebuchungen aktualisiert. aus diesem Deal. Dazu bearbeiten Sie den aus state E in Abbildung 1 und führen dann die Aktion UpdateOrderWithSellerData aus.