Migrer vers l'API Marketplace

Activer l'API

Comme pour les autres API Authorized Buyers, vous devez activer l'API Marketplace avant de pouvoir l'utiliser. Pour activer l'API Marketplace, procédez comme suit:

  1. Accédez à la page des API activées dans la console Google APIs. Sélectionnez le projet que vous utilisez pour accéder à d'autres API Authorized Buyers, comme Ad Exchange Buyer II ou API Real-time Bidding.
  2. Cliquez sur le lien + ACTIVER LES API ET LES SERVICES.
  3. Dans le champ de recherche, saisissez API Marketplace Authorized Buyers, puis appuyez sur Entrée.
  4. Dans les résultats de recherche, sélectionnez API Marketplace Authorized Buyers.
  5. Cliquez sur le bouton ACTIVER pour activer l'API Marketplace.
  6. Vous devriez maintenant pouvoir accéder à l'API Marketplace à l'aide des identifiants créés dans ce projet.

Mettre à jour vos identifiants OAuth 2.0

Les flux de travail OAuth 2.0 existants associés au champ d'application de l'API Ad Exchange pour acheteur II doivent être modifiés afin d'utiliser le champ d'application de l'API Marketplace:

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

Nous vous recommandons d'utiliser le flux Service Account OAuth 2.0 pour accéder à l'API. Tous les flux OAuth 2.0 compatibles doivent spécifier le nouveau champ d'application de l'API pour demander à Google un jeton pouvant accéder à l'API Marketplace.

Mise en correspondance des ressources de l'API Ad Exchange Buyer II avec l'API de la place de marché

Clients

Si vous utilisez la ressource accounts.clients de l'API Ad Exchange Buyer II, vous pouvez migrer vers la ressource buyers.clients de l'API Marketplace.

Méthodes de la ressource

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

Cette méthode est désormais compatible avec les filtres de liste.

accounts.clients.update buyers.clients.patch

Cette méthode accepte désormais les mises à jour partielles avec le paramètre updateMask.

Champs de ressource

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

clientAccountId est l'ID de ressource client.

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

Ce champ a été abandonné.

Client.entityId

Ce champ a été abandonné.

Client.entityName

Ce champ a été abandonné.

Client.partnerClientId Client.partnerClientId

Invitations et utilisateurs

L'API Marketplace combine les fonctionnalités des ressources accounts.clients.invitations et accounts.clients.users de l'API Ad Exchange pour acheteur II en une seule ressource buyers.clients.users.

Méthodes de la ressource

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

Seuls les utilisateurs dont l'attribut state est défini sur INVITED seront équivalents à ceux renvoyés par accounts.clients.invitations.list.

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

Vous ne pouvez plus appliquer des correctifs aux utilisateurs du client avec l'API. Nous vous recommandons d'utiliser buyers.clients.users.delete pour supprimer l'utilisateur du client et le recréer avec les modifications souhaitées.

Champs de ressource

API Ad Exchange Buyer II API Marketplace
ClientUserInvitation.invitationId

Ce champ a été abandonné.

ClientUserInvitation.email ClientUser.email
ClientUserInvitation.clientAccountId

Ce champ n'existe plus pour les utilisateurs du client. À la place, affichez le clientAccountId dans le nom du client parent.

ClientUser.userId ClientUser.name

userId est l'ID de ressource utilisateur.

ClientUser.clientAccountId

Ce champ n'existe plus pour les utilisateurs du client. À la place, affichez le clientAccountId dans le nom du client parent.

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

Produits

Cette ressource et ses fonctionnalités ne sont pas disponibles dans l'API Marketplace.

PublisherProfiles

Si vous utilisez la ressource accounts.publisherProfiles de l'API Ad Exchange Buyer II, vous pouvez migrer vers la ressource buyers.publisherProfiles de l'API Marketplace.

Méthodes de la ressource

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

Cette méthode est désormais compatible avec les filtres de liste.

Champs de ressource

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

publisherProfileId est l'ID de ressource du profil d'éditeur.

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

Ce champ a été abandonné.

PublisherProfile.googlePlusUrl

Ce champ a été abandonné.

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

Propositions et propositions finalisées

Si vous utilisez la ressource accounts.proposals de l'API Ad Exchange Buyer II, vous pouvez migrer vers la ressource buyers.proposals de l'API Marketplace. Les accords ont été séparés des propositions dans la sous-ressource buyers.proposals.deals. Les propositions finalisées ne sont plus représentées dans l'API, ce qui vous permet de contrôler plus précisément les accords finalisés avec la ressource buyers.finalizedDeals.

Méthodes de la ressource

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

N'appelez buyers.proposals.accept que lorsque l'état de la proposition est 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

Notez que la proposition ne contiendra plus d'informations sur les accords.

accounts.proposals.list buyers.proposals.list

Notez que les propositions renvoyées ne contiennent plus d'informations sur les accords. Si vous utilisez le filtrage de liste, notez que l'API Marketplace n'est compatible qu'avec la syntaxe des filtres de liste.

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

Cette méthode accepte désormais les mises à jour partielles avec le paramètre updateMask.

accounts.finalizedProposals.list

Utilisez buyers.finalizedDeals.list afin d'afficher les accords finalisés pour un compte acheteur donné. Il est maintenant possible de récupérer les accords finalisés au niveau de l'enchérisseur avec bidders.finalizedDeals.list.

accounts.finalizedProposals.pause

Utilisez buyers.finalizedDeals.pause afin de mettre en veille des accords finalisés spécifiques pour un compte acheteur donné.

accounts.finalizedProposals.resume

Utilisez buyers.finalizedDeals.resume afin de réactiver des accords finalisés spécifiques pour un compte acheteur donné.

Champs de ressource

Les ressources proposals et finalizedProposals partagent la même représentation Proposal et suivent des étapes de migration similaires.

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

proposalId est l'ID de ressource de la proposition.

Proposal.updateTime Proposal.updateTime
Proposal.proposalRevision

Proposal.proposalRevision et Deal.proposalRevision

Proposal.deals.dealId Deal.name

dealId est l'ID de ressource de l'accord.

Proposal.deals.proposalId Deal.name

proposalId est l'ID de ressource de la proposition parente.

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

Ce champ a été abandonné.

Proposal.deals.createProductRevision

Ce champ a été abandonné.

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

Ce champ a été abandonné. Il n'est désormais visible qu'au niveau de la proposition.

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

Ce champ a été abandonné.

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

Ce champ a été abandonné.

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

Deal.programmaticGuaranteedTerms

Notez que même si guaranteedFixedPriceTerms.fixedPrices est un champ répété, il n'a jamais été renseigné avec plus d'une entrée. Par conséquent, le programmaticGuaranteedTerms.fixedPrice de l'API Marketplace est équivalent.

Proposal.deals.dealTerms.nonGuaranteedFixedPriceTerms

Deal.preferredDealTerms

Notez que même si nonGuaranteedFixedPriceTerms.fixedPrices est un champ répété, il n'a jamais été renseigné avec plus d'une entrée. Par conséquent, le preferredDealTerms.fixedPrice de l'API Marketplace est équivalent.

Proposal.deals.dealTerms.NonGuaranteedAuctionTerms

Deal.privateAuctionTerms

Notez que même si nonGuaranteedAuctionTerms.reservePricesPerBuyer est un champ répété, il n'a jamais été renseigné avec plus d'une entrée. Par conséquent, le privateAuctionTerms.floorPrice de l'API Marketplace est équivalent.

Proposal.deals.webPropertyCode

Ce champ a été abandonné.

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

Il n'est plus possible de configurer le ciblage à l'aide d'une clé pour déterminer la catégorie de ciblage. Toutefois, les catégories qui pourraient être ciblées se trouvent dans Deal.targeting. Par exemple, la clé GOOG_CREATIVE_SIZE d'Ad Exchange Buyer II fait référence au Deal.targeting.inventorySizeTargeting de l'API Marketplace.

Proposal.deals.targeting Deal.targeting

Des catégories de critères de ciblage supplémentaires ont été ajoutées.

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

Ce champ a été abandonné.

Proposal.deals.syndicationProduct

Ce champ a été abandonné.

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

Des informations similaires sont disponibles dans le champ FinalizedDeal.dealPausingInfo.

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

Des informations supplémentaires sur la façon dont les offres seront placées ont été ajoutées.

Proposal.deals.isSetupComplete FinalizedDeal.readyToServe

Désormais, vous ne pouvez signaler qu'un accord est prêt pour la diffusion que s'il est finalisé. Utilisez la méthode buyers.finalizedDeals.setReadyToServe pour indiquer que votre accord de programmatique garanti finalisé est prêt à être diffusé.

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

Utilisez le nom de profil de l'éditeur pour identifier le vendeur. Vous pouvez afficher les profils d'éditeur avec la ressource buyers.publisherProfiles.

Proposal.seller.subAccountId Proposal.publisherProfile

Utilisez le nom de profil de l'éditeur pour identifier le vendeur. Vous pouvez afficher les profils d'éditeur avec la ressource buyers.publisherProfiles.

Proposal.buyer.accountId

Proposal.buyer ou Proposal.client.

Le champ utilisé dépend du type de compte de l'acheteur qui négocie. Il s'agit des noms de ressources d'une ressource buyers de l'API Real-time Bidding ou d'une ressource buyers.clients de l'API Marketplace.

Proposal.billedBuyer.accountId Proposal.billedBuyer

Il s'agit désormais d'un nom de ressource faisant référence à un compte acheteur, tel que représenté dans la ressource buyers de l'API Real-time Bidding.

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

Ce champ a été abandonné.

Proposal.isSetupComplete FinalizedDeal.readyToServe

Accès désormais plus précis avec buyers.finalizedDeals.

Proposal.lastUpdaterOrCommentorRole Proposal.lastUpdaterOrCommentorRole
Proposal.notes.proposalRevision

Ce champ a été abandonné.

Proposal.notes.noteId

Ce champ a été abandonné.

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