Migracja do interfejsu Marketplace API

Włącz API

Podobnie jak w przypadku innych Authorized Buyers interfejsów API, musisz włączyć Marketplace API przed możesz go użyć. Aby włączyć interfejs Marketplace API, wykonaj te czynności:

  1. Otwórz stronę Interfejsy API włączone w Konsoli interfejsów API Google . Wybierz projektu, z którego korzystasz, aby uzyskać dostęp do innych interfejsów API Authorized Buyers, takich jak Ad Exchange dla kupujących II lub Interfejs API określania stawek w czasie rzeczywistym.
  2. Kliknij link + WŁĄCZ INTERFEJSY API I USŁUGI.
  3. W polu wyszukiwania wpisz „Authorized Buyers Marketplace API” i kliknij Enter.
  4. W wynikach wyszukiwania wybierz Authorized Buyers Marketplace API.
  5. Kliknij przycisk WŁĄCZ, aby włączyć interfejs Marketplace API.
  6. Teraz dostęp do interfejsu Marketplace API przy użyciu danych logowania powinien być możliwy utworzonych w ramach tego projektu.

Zaktualizuj swoje dane logowania OAuth 2.0

Istniejące przepływy pracy OAuth 2.0 z zakresem interfejsu API Ad Exchange Buyer II muszą być zmieniono na używanie zakresu interfejsu API Marketplace:

https://www.googleapis.com/auth/authorized-buyers-marketplace

Zalecamy korzystanie z protokołu OAuth 2.0 na koncie usługi jak uzyskać dostęp do interfejsu API. Wszystkie obsługiwane przepływy OAuth 2.0 muszą określać nowy interfejs API zakresu, aby zażądać od Google tokena umożliwiającego dostęp do interfejsu Marketplace API.

Mapowanie zasobów interfejsu Ad Exchange Buyer II API na interfejs Marketplace API

Klienty

Jeśli używasz interfejsu API Ad Exchange dla kupujących II accounts.clients możesz przenieść do interfejsu API Marketplace buyers.clients .

Metody zasobów

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
accounts.clients.create buyers.clients.create
accounts.clients.get buyers.clients.get
accounts.clients.list buyers.clients.list

Ta metoda obsługuje teraz filtry listy.

accounts.clients.update buyers.clients.patch

Ta metoda obsługuje teraz częściowe aktualizacje za pomocą metody updateMask.

Pola zasobów

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
Client.clientAccountId Client.name

clientAccountId to identyfikator zasobu klienta.

Client.role Client.role
Client.status Client.state
Client.clientName Client.displayName
Client.visibleToSeller Client.sellerVisible
Client.entityType

To pole zostało wycofane.

Client.entityId

To pole zostało wycofane.

Client.entityName

To pole zostało wycofane.

Client.partnerClientId Client.partnerClientId

Zaproszenia i Użytkownicy

Interfejs Marketplace API łączy funkcje interfejsu API Ad Exchange dla kupujących II accounts.clients.invitations i accounts.clients.users zasobów w jednym buyers.clients.users .

Metody zasobów

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
accounts.clients.invitations.create buyers.clients.users.create
accounts.clients.invitations.get buyers.clients.users.get
accounts.clients.invitations.list buyers.clients.users.list

Tylko użytkownicy, dla których state ma wartość INVITED będą takie same jak te zwrócone przez accounts.clients.invitations.list

accounts.clients.users.get buyers.clients.users.get
accounts.clients.users.list buyers.clients.users.list
accounts.clients.users.update

Nie możesz już instalować poprawek do użytkowników klienta za pomocą interfejsu API. Zalecamy używasz buyers.clients.users.delete, aby usunąć klienta i utwórz ją ponownie z preferowanymi zmianami.

Pola zasobów

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
ClientUserInvitation.invitationId

To pole zostało wycofane.

ClientUserInvitation.email ClientUser.email
ClientUserInvitation.clientAccountId

To pole nie istnieje już w przypadku użytkowników klienta. Zamiast tego wyświetl clientAccountId w nazwie klienta nadrzędnego.

ClientUser.userId ClientUser.name

userId to identyfikator zasobu użytkownika.

ClientUser.clientAccountId

To pole nie istnieje już w przypadku użytkowników klienta. Zamiast tego wyświetl clientAccountId w nazwie klienta nadrzędnego.

ClientUser.status ClientUser.state
ClientUser.email ClientUser.email

Produkty

Ten zasób i jego funkcje nie są dostępne w interfejsie Marketplace API.

PublisherProfiles

Jeśli używasz interfejsu API Ad Exchange dla kupujących II accounts.publisherProfiles możesz przenieść do interfejsu API Marketplace buyers.publisherProfiles .

Metody zasobów

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
accounts.publisherProfiles.get buyers.publisherProfiles.get
accounts.publisherProfiles.list buyers.publisherProfiles.list

Ta metoda obsługuje teraz filtry listy.

Pola zasobów

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
PublisherProfile.publisherProfileId PublisherProfile.name

publisherProfileId to zasób profilu wydawcy. ID.

PublisherProfile.seller.accountId PublisherProfile.seller.accountId
PublisherProfile.seller.subAccountId PublisherProfile.seller.subAccountId
PublisherProfile.displayName PublisherProfile.displayName
PublisherProfile.domains PublisherProfile.domains
PublisherProfile.mobileApps PublisherProfile.mobileApps
PublisherProfile.logoUrl PublisherProfile.logoUrl
PublisherProfile.directDealsContact PublisherProfile.directDealsContact
PublisherProfile.programmaticDealsContact PublisherProfile.programmaticDealsContact
PublisherProfile.mediaKitUrl PublisherProfile.mediaKitUrl
PublisherProfile.samplePageUrl PublisherProfile.samplePageUrl
PublisherProfile.rateCardUrl

To pole zostało wycofane.

PublisherProfile.googlePlusUrl

To pole zostało wycofane.

PublisherProfile.overview PublisherProfile.overview
PublisherProfile.buyerPitchStatement PublisherProfile.pitchStatement
PublisherProfile.topHeadlines PublisherProfile.topHeadlines
PublisherProfile.audienceDescription PublisherProfile.audienceDescription
PublisherProfile.isParent PublisherProfile.isParent

Oferty pakietowe i FinalizedProposals

Jeśli używasz interfejsu API Ad Exchange dla kupujących II accounts.proposals możesz przenieść do interfejsu API Marketplace buyers.proposals . Umowy zostały oddzielone od ofert pakietowych do buyers.proposals.deals . Sfinalizowane oferty pakietowe nie są już widoczne w interfejsie API, bardziej szczegółową kontrolę nad sfinalizowanymi umowami buyers.finalizedDeals .

Metody zasobów

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
accounts.proposals.accept buyers.proposals.accept

Wywołuj funkcję buyers.proposals.accept tylko wtedy, gdy stan oferty pakietowej to BUYER_ACCEPTANCE_REQUESTED.

accounts.proposals.addNote buyers.proposals.addNote
accounts.proposals.cancelNegotiation buyers.proposals.cancelNegotiation
accounts.proposals.completeSetup buyers.finalizedDeals.setReadyToServe
accounts.proposals.create buyers.proposals.sendRfp
accounts.proposals.get buyers.proposals.get

Pamiętaj, że oferta nie będzie już zawierać informacji o umowach.

accounts.proposals.list buyers.proposals.list

Zwracane oferty pakietowe nie będą już zawierać informacji o okazjach. Jeśli korzystasz z filtrowania list, pamiętaj, że tylko interfejs Marketplace API obsługuje składnię filtra listy.

accounts.proposals.pause buyers.finalizedDeals.pause
accounts.proposals.resume buyers.finalizedDeals.resume
accounts.proposals.update buyers.proposals.patch

Ta metoda obsługuje teraz częściowe aktualizacje za pomocą metody updateMask.

accounts.finalizedProposals.list

Użyj formatu buyers.finalizedDeals.list, aby zobaczyć sfinalizowane umowy dla danego konta kupującego. Można teraz pobrać sfinalizowane umowy na poziomie licytującego za pomocą bidders.finalizedDeals.list

accounts.finalizedProposals.pause

Użyj formatu buyers.finalizedDeals.pause, aby wstrzymać odtwarzanie indywidualne dla danego konta kupującego.

accounts.finalizedProposals.resume

Użyj formatu buyers.finalizedDeals.resume, aby wznowić indywidualne dla danego konta kupującego.

Pola zasobów

Zasoby proposals i finalizedProposals współdzielą te same zasoby (Proposal) i mają podobne kroki migracji.

Interfejs API Ad Exchange Buyer II Interfejs API Marketplace
Proposal.proposalId Proposal.name

proposalId to identyfikator zasobu oferty pakietowej.

Proposal.updateTime Proposal.updateTime
Proposal.proposalRevision

Proposal.proposalRevision i Deal.proposalRevision

Proposal.deals.dealId Deal.name

dealId to identyfikator zasobu umowy.

Proposal.deals.proposalId Deal.name

proposalId to identyfikator zasobu nadrzędnej oferty pakietowej.

Proposal.deals.createTime Deal.createTime
Proposal.deals.updateTime Deal.updateTime
Proposal.deals.createProductId

To pole zostało wycofane.

Proposal.deals.createProductRevision

To pole zostało wycofane.

Proposal.deals.displayName Deal.displayName
Proposal.deals.buyerPrivateData.referenceId

To pole zostało wyłączone, jest teraz widoczna tylko w ofercie pakietowej na poziomie 300%.

Proposal.deals.dealTerms.description Deal.description
Proposal.deals.dealTerms.brandingType

To pole zostało wycofane.

Proposal.deals.dealTerms.estimatedGrossSpend Deal.estimatedGrossSpend
Proposal.deals.dealTerms.estimatedImpressionsPerDay

To pole zostało wycofane.

Proposal.deals.dealTerms.sellerTimeZone Deal.sellerTimeZone
Proposal.deals.dealTerms.guaranteedFixedPriceTerms

Deal.programmaticGuaranteedTerms

Pamiętaj, że chociaż guaranteedFixedPriceTerms.fixedPrices to pole powtarzane, nigdy nie zostało wypełnione więcej niż jednym wpisem. Jako w rezultacie interfejs API Marketplace programmaticGuaranteedTerms.fixedPrice jest odpowiednikiem.

Proposal.deals.dealTerms.nonGuaranteedFixedPriceTerms

Deal.preferredDealTerms

Pamiętaj, że chociaż nonGuaranteedFixedPriceTerms.fixedPrices to pole powtarzane, nigdy nie zostało wypełnione więcej niż jednym wpisem. W rezultacie interfejs API Marketplace preferredDealTerms.fixedPrice jest odpowiednikiem.

Proposal.deals.dealTerms.NonGuaranteedAuctionTerms

Deal.privateAuctionTerms

Pamiętaj, że choć nonGuaranteedAuctionTerms.reservePricesPerBuyer to pole powtarzane, nigdy nie zostało wypełnione więcej niż jednym wpisem. Jako w rezultacie interfejs API Marketplace privateAuctionTerms.floorPrice jest odpowiednikiem.

Proposal.deals.webPropertyCode

To pole zostało wycofane.

Proposal.deals.sellerContacts Proposal.sellerContacts
Proposal.deals.availableStartTime Proposal.flightStartTime
Proposal.deals.availableEndTime Proposal.flightEndTime
Proposal.deals.description Proposal.description
Proposal.deals.targetingCriterion Deal.targeting

Nie można już konfigurować kierowania za pomocą klucza do określić kategorię kierowania; kategorie, które mogłyby być kierowane można znaleźć w Deal.targeting. Na przykład parametr Klucz GOOG_CREATIVE_SIZE z Ad Exchange Buyer II dotyczy Interfejsy API Marketplace Deal.targeting.inventorySizeTargeting

Proposal.deals.targeting Deal.targeting

Dodano dodatkowe kategorie kryteriów kierowania.

Proposal.deals.creativeRestrictions.creativeFormat Deal.creativeRequirements.creativeFormat
Proposal.deals.creativeRestrictions.skippableAdType Deal.creativeRequirements.skippableAdType
Proposal.deals.creativeRestrictions.creativeSpecifications.creativeSize Deal.targeting.inventorySizeTargeting
Proposal.deals.externalDealId

To pole zostało wycofane.

Proposal.deals.syndicationProduct

To pole zostało wycofane.

Proposal.deals.creativePreApprovalPolicy Deal.creativeRequirements.creativePreApprovalPolicy
Proposal.deals.creativeSafeFrameCompatibility Deal.creativeRequirements.creativeSafeFrameCompatibility
Proposal.deals.dealServingMetadata

Podobne informacje znajdziesz w FinalizedDeal.dealPausingInfo.

Proposal.deals.programmaticCreativeSource Deal.creativeRequirements.programmaticCreativeSource
Proposal.deals.deliveryControl Deal.deliveryControl

Dodaliśmy więcej informacji na temat sposobu zawierania umów.

Proposal.deals.isSetupComplete FinalizedDeal.readyToServe

Teraz możesz zasygnalizować, że umowa jest gotowa do wyświetlania tylko wtedy, gdy jest sfinalizowana. Użyj funkcji buyers.finalizedDeals.setReadyToServe , aby wskazać, że sfinalizowana umowa automatyzacji gwarantowanej to gotowe do wyświetlenia.

Proposal.originatorRole Proposal.originatorRole
Proposal.seller.accountId Proposal.publisherProfile

Użyj nazwy profilu wydawcy, aby zidentyfikować sprzedawcę. Możesz zobaczyć profile wydawcy w systemie buyers.publisherProfiles .

Proposal.seller.subAccountId Proposal.publisherProfile

Użyj nazwy profilu wydawcy, aby zidentyfikować sprzedawcę. Możesz zobaczyć profile wydawcy w systemie buyers.publisherProfiles .

Proposal.buyer.accountId

Proposal.buyer lub Proposal.client.

Użyte pole będzie zależeć od typu konta negocjacji kupującego. To są nazwy zasobów interfejsu API określania stawek w czasie rzeczywistym Zasób buyers lub interfejs API Marketplace buyers.clients odpowiednio.

Proposal.billedBuyer.accountId Proposal.billedBuyer

To jest teraz nazwa zasobu odnosząca się do konta kupującego jako widoczne w buyers interfejsu Real-time Billing API .

Proposal.displayName Proposal.displayName
Proposal.proposalState Proposal.state
Proposal.isRenegotiating Proposal.isRenegotiating
Proposal.buyerPrivateData Proposal.buyerPrivateData
Proposal.sellerContacts Proposal.sellerContacts
Proposal.buyerContacts Proposal.buyerContacts
Proposal.privateAuctionId

To pole zostało wycofane.

Proposal.isSetupComplete FinalizedDeal.readyToServe

Teraz dostępny w bardziej szczegółowy sposób dzięki funkcji buyers.finalizedDeals.

Proposal.lastUpdaterOrCommentorRole Proposal.lastUpdaterOrCommentorRole
Proposal.notes.proposalRevision

To pole zostało wycofane.

Proposal.notes.noteId

To pole zostało wycofane.

Proposal.notes.createTime Proposal.notes.createTime
Proposal.notes.creatorRole Proposal.notes.creatorRole
Proposal.notes.note Proposal.notes.note
Proposal.termsAndConditions Proposal.termsAndConditions