Migracja do interfejsu Marketplace API

Włącz API

Podobnie jak w przypadku innych interfejsów API Authorized Buyers, przed użyciem interfejsu Marketplace API musisz go włączyć. 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 projekt, którego używasz do uzyskiwania dostępu do innych interfejsów API Authorized Buyers, np. Ad Exchange Buyer II lub interfejsu 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 naciśnij Enter.
  4. W wynikach wyszukiwania wybierz Authorized Buyers Marketplace API.
  5. Aby włączyć interfejs Marketplace API, kliknij przycisk WŁĄCZ.
  6. Teraz powinieneś mieć dostęp do interfejsu Marketplace API za pomocą danych logowania utworzonych w ramach tego projektu.

Aktualizowanie danych logowania OAuth 2.0

Istniejące przepływy pracy OAuth 2.0 z zakresem interfejsu Ad Exchange Buyer II API należy zmienić, aby używały zakresu interfejsu Marketplace API:

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

Zalecamy dostęp do interfejsu API za pomocą procesu OAuth 2.0 na koncie usługi. Wszystkie obsługiwane przepływy OAuth 2.0 muszą określać nowy zakres interfejsu API, aby zażądać od Google tokena umożliwiającego dostęp do interfejsu Marketplace API.

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

Klienty

Jeśli używasz zasobu accounts.clients interfejsu API Ad Exchange Buyer II, możesz przejść na zasób buyers.clients interfejsu Marketplace API.

Metody dotyczące zasobów

Interfejs Ad Exchange Buyer II API 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 list.

accounts.clients.update buyers.clients.patch

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

Pola zasobów

Interfejs Ad Exchange Buyer II API Marketplace API
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 interfejsów Ad Exchange Buyer II API accounts.clients.invitations i accounts.clients.users w jedną usługę buyers.clients.users.

Metody dotyczące zasobów

Interfejs Ad Exchange Buyer II API Marketplace API
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, którzy mają wartość parametru state równą INVITED, będą się równać z użytkownikami zwracanymi przez funkcję 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ż stosować poprawek dla użytkowników klienta za pomocą interfejsu API. Zalecamy użycie polecenia buyers.clients.users.delete, aby usunąć klienta użytkownika i utworzyć go ponownie z preferowanymi zmianami.

Pola zasobów

Interfejs Ad Exchange Buyer II API Marketplace API
ClientUserInvitation.invitationId

To pole zostało wycofane.

ClientUserInvitation.email ClientUser.email
ClientUserInvitation.clientAccountId

To pole nie jest już dostępne dla użytkowników klienta. Zamiast tego wyświetl clientAccountId w nazwie nadrzędnego klienta.

ClientUser.userId ClientUser.name

userId to identyfikator zasobu użytkownika.

ClientUser.clientAccountId

To pole nie jest już dostępne dla użytkowników klienta. Zamiast tego wyświetl clientAccountId w nazwie nadrzędnego klienta.

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 korzystasz z interfejsu API Ad Exchange Buyer II, możesz przejść na interfejs API Marketplace.accounts.publisherProfilesbuyers.publisherProfiles

Metody dotyczące zasobów

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

Ta metoda obsługuje teraz filtry list.

Pola zasobów

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

publisherProfileId to identyfikator zasobu profilu wydawcy.

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

Propozycje i sfinalizowane propozycje

Jeśli korzystasz z interfejsu API Ad Exchange Buyer II, możesz przejść na interfejs API Marketplace.accounts.proposalsbuyers.proposals Oferty zostały oddzielone od propozycji w subresourece buyers.proposals.deals. Sfinalizowane oferty pakietowe nie są już przedstawiane w interfejsie API, co zapewnia bardziej szczegółową kontrolę nad sfinalizowanymi umowami za pomocą zasobu buyers.finalizedDeals.

Metody zasobów

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

Wywołania buyers.proposals.accept należy wykonywać tylko wtedy, gdy stan oferty 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 pakietowa nie będzie już zawierać informacji o umowach.

accounts.proposals.list buyers.proposals.list

Pamiętaj, że zwrócone propozycje nie będą już zawierać informacji o umowach. Jeśli używasz filtrowania list, pamiętaj, że interfejs API Marketplace obsługuje tylko 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ą parametru updateMask.

accounts.finalizedProposals.list

Aby wyświetlić zakończone transakcje na danym koncie kupującego, kliknij buyers.finalizedDeals.list. Ostateczne umowy można teraz pobierać na poziomie licytującego za pomocą usługi bidders.finalizedDeals.list.

accounts.finalizedProposals.pause

Użyj opcji buyers.finalizedDeals.pause, aby wstrzymać pojedyncze umowy zawarte przez dane konto kupującego.

accounts.finalizedProposals.resume

Użyj opcji buyers.finalizedDeals.resume, aby wznowić poszczególne zakończone umowy na danym koncie kupującego.

Pola zasobów

Zasoby proposals i finalizedProposals mają ten sam format Proposal i podobne kroki migracji.

Interfejs API Ad Exchange Buyer II Marketplace API
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 oferty nadrzędnej.

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 wycofane. Jest teraz dostępne tylko na poziomie oferty.

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 jest polem powtarzanym, nigdy nie zostało wypełnione więcej niż 1 wpisem. W rezultacie programmaticGuaranteedTerms.fixedPrice w interfejsie API Marketplace ma ten sam sens.

Proposal.deals.dealTerms.nonGuaranteedFixedPriceTerms

Deal.preferredDealTerms

Pamiętaj, że chociaż pole nonGuaranteedFixedPriceTerms.fixedPrices jest powtarzalnym polem, nigdy nie zostało wypełnione więcej niż 1 wartością. W rezultacie wartość preferredDealTerms.fixedPrice w interfejsie Marketplace API jest taka sama.

Proposal.deals.dealTerms.NonGuaranteedAuctionTerms

Deal.privateAuctionTerms

Pamiętaj, że chociaż pole nonGuaranteedAuctionTerms.reservePricesPerBuyer jest polem powtarzalnym, nigdy nie zostało wypełnione więcej niż 1 wartością. W rezultacie privateAuctionTerms.floorPrice w interfejsie API Marketplace ma ten sam sens.

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, aby określić kategorię kierowania. Kategorie, na które można kierować reklamy, można jednak znaleźć w sekcji Deal.targeting. Na przykład klucz GOOG_CREATIVE_SIZE z Ad Exchange Buyer II odnosi się do klucza Deal.targeting.inventorySizeTargeting interfejsu API platformy handlowej.

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 polu FinalizedDeal.dealPausingInfo.

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

Dodaliśmy dodatkowe informacje o tym, jak będą działać oferty.

Proposal.deals.isSetupComplete FinalizedDeal.readyToServe

Teraz możesz sygnalizować, że oferta jest gotowa do wyświetlania, tylko wtedy, gdy jest sfinalizowana. Użyj metody buyers.finalizedDeals.setReadyToServe, aby wskazać, że Twoja ostateczna umowa automatyzacji gwarantowanej jest gotowa do wyświetlania.

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

Aby zidentyfikować sprzedawcę, użyj nazwy profilu wydawcy. Profile wydawców możesz wyświetlić za pomocą zasobu buyers.publisherProfiles.

Proposal.seller.subAccountId Proposal.publisherProfile

Aby zidentyfikować sprzedawcę, użyj nazwy profilu wydawcy. Profile wydawców możesz wyświetlić za pomocą zasobu buyers.publisherProfiles.

Proposal.buyer.accountId

Proposal.buyer lub Proposal.client.

Użyte pole będzie zależeć od typu konta negocjowanego kupującego. Są to nazwy zasobów interfejsu API określania stawek w czasie rzeczywistym (buyers) lub interfejsu API Marketplace (buyers.clients).

Proposal.billedBuyer.accountId Proposal.billedBuyer

Jest to teraz nazwa zasobu odnosząca się do konta kupującego przedstawiona w zasobie buyers interfejsu API określania stawek w czasie rzeczywistym.

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 możesz uzyskać dostęp do bardziej szczegółowych informacji za pomocą 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