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:
- ProposalMarketplaceInfo.hasLocalVersionEdits
- ProposalMarketplaceInfo.negotiationStatus
- Proposal.status
Weitere Informationen finden Sie in der Ad Manager-Hilfe.
<ph type="x-smartling-placeholder">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 AktionUpdateOrderWithSellerData
aus.