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 API activées dans la console Google APIs. Sélectionnez le projet que vous utilisez pour accéder aux 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 Authorized Buyers Marketplace, 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 avec les identifiants créés dans ce projet.

Mettre à jour vos identifiants OAuth 2.0

Les flux de travail OAuth 2.0 existants avec le champ d'application de l'API Ad Exchange pour acheteur II doivent être modifiés de façon à utiliser le champ d'application de l'API Marketplace:

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

Nous vous recommandons d'utiliser le flux OAuth 2.0 du compte de service 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.

Mappage des ressources de l'API Ad Exchange Buyer II sur l'API Marketplace

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 ressources

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 ressources

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

clientAccountId est l'ID de la 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 Buyer II dans une seule ressource buyers.clients.users.

Méthodes de ressources

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 le 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 corriger les 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 ressources

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. Affichez plutôt clientAccountId au nom du client parent.

ClientUser.userId ClientUser.name

userId est l'ID de la ressource utilisateur.

ClientUser.clientAccountId

Ce champ n'existe plus pour les utilisateurs du client. Affichez plutôt clientAccountId au 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 ressources

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 ressources

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

publisherProfileId correspond à l'ID de la ressource de profil de l'é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 offres ont été séparées 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 ressources

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 de filtrage de liste.

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

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

accounts.finalizedProposals.list

Utilisez buyers.finalizedDeals.list pour afficher les accords finalisés pour un compte acheteur donné. Il est désormais 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 pour suspendre des accords finalisés individuels pour un compte acheteur donné.

accounts.finalizedProposals.resume

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

Champs de ressources

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

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

proposalId correspond à l'ID de la ressource de proposition.

Proposal.updateTime Proposal.updateTime
Proposal.proposalRevision

Proposal.proposalRevision et Deal.proposalRevision

Proposal.deals.dealId Deal.name

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

Proposal.deals.proposalId Deal.name

proposalId correspond à l'ID de la ressource de 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 exposé 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, bien que guaranteedFixedPriceTerms.fixedPrices soit un champ répété, il n'a jamais été renseigné avec plus d'une seule entrée. Par conséquent, le programmaticGuaranteedTerms.fixedPrice de l'API Marketplace est équivalent.

Proposal.deals.dealTerms.nonGuaranteedFixedPriceTerms

Deal.preferredDealTerms

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

Proposal.deals.dealTerms.NonGuaranteedAuctionTerms

Deal.privateAuctionTerms

Notez que, bien que nonGuaranteedAuctionTerms.reservePricesPerBuyer soit un champ répété, il n'a jamais été renseigné avec plus d'une seule 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 pouvant être ciblées se trouvent dans Deal.targeting. Par exemple, la clé GOOG_CREATIVE_SIZE de l'acheteur Ad Exchange 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

Vous trouverez des informations similaires 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 diffusées ont été ajoutées.

Proposal.deals.isSetupComplete FinalizedDeal.readyToServe

Vous ne pouvez désormais signaler qu'un accord est prêt à être diffusé 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 du profil de l'éditeur pour identifier le vendeur. Vous pouvez afficher les profils d'éditeurs à l'aide de la ressource buyers.publisherProfiles.

Proposal.seller.subAccountId Proposal.publisherProfile

Utilisez le nom du profil de l'éditeur pour identifier le vendeur. Vous pouvez afficher les profils des éditeurs 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 en négociation. 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, respectivement.

Proposal.billedBuyer.accountId Proposal.billedBuyer

Il s'agit désormais d'un nom de ressource faisant référence à un compte acheteur tel qu'il est 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

Désormais accessible de manière plus précise 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