API de Migrate to Marketplace

Habilita la API

Al igual que con otras APIs de Authorized Buyers, debes habilitar la API de Marketplace para poder usarla. Puedes habilitar la API de Marketplace siguiendo estos pasos:

  1. Ve a la página APIs habilitadas de la Consola de API de Google. Selecciona el proyecto que usas para acceder a otras APIs de Authorized Buyers, como Ad Exchange Buyer II o la API de Real-time Bidding.
  2. Haz clic en el vínculo + HABILITAR LAS APIS Y LOS SERVICIOS.
  3. En el cuadro de búsqueda, escribe "Authorized Buyers Marketplace API" y presiona Intro.
  4. En los resultados de la búsqueda, selecciona API de Authorized Buyers Marketplace.
  5. Haz clic en el botón HABILITAR para habilitar la API de Marketplace.
  6. Ahora deberías poder acceder a la API de Marketplace con las credenciales que creaste en este proyecto.

Actualiza tus credenciales de OAuth 2.0

Los flujos de trabajo de OAuth 2.0 existentes con el alcance de la API de Ad Exchange Buyer II deben cambiarse para usar el alcance de la API de Marketplace:

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

Te recomendamos usar el flujo de OAuth 2.0 de la cuenta de servicio para acceder a la API. Todos los flujos de OAuth 2.0 compatibles deben especificar el nuevo permiso de la API para solicitar un token de Google que pueda acceder a la API de Marketplace.

Cómo asignar recursos de la API de Ad Exchange Buyer II a la API de Marketplace

Clientes

Si usas el recurso accounts.clients de la API de Ad Exchange Buyer II, puedes migrar al recurso buyers.clients de la API de Marketplace.

Métodos de recursos

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

Este método ahora admite filtros de lista.

accounts.clients.update buyers.clients.patch

Este método ahora admite actualizaciones parciales con el parámetro updateMask.

Campos de recursos

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

clientAccountId es el ID del recurso del cliente.

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

Este campo dejó de estar disponible.

Client.entityId

Este campo dejó de estar disponible.

Client.entityName

Se desactivó este campo.

Client.partnerClientId Client.partnerClientId

Invitaciones y usuarios

La API de Marketplace combina la funcionalidad de los recursos accounts.clients.invitations y accounts.clients.users de la API de Ad Exchange Buyer II en un solo recurso buyers.clients.users.

Métodos de recursos

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

Solo los usuarios con su state configurado en INVITED serán equivalentes a los que muestra accounts.clients.invitations.list.

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

Ya no puedes aplicar parches a los usuarios de clientes con la API. Te recomendamos que uses buyers.clients.users.delete para borrar el usuario cliente y volver a crearlo con los cambios preferidos.

Campos de recursos

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

Este campo dejó de estar disponible.

ClientUserInvitation.email ClientUser.email
ClientUserInvitation.clientAccountId

Este campo ya no existe para los usuarios del cliente. En su lugar, consulta el clientAccountId en el nombre del cliente superior.

ClientUser.userId ClientUser.name

userId es el ID del recurso del usuario.

ClientUser.clientAccountId

Este campo ya no existe para los usuarios del cliente. En su lugar, consulta el clientAccountId en el nombre del cliente superior.

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

Productos

Este recurso y su funcionalidad no están disponibles en la API de Marketplace.

PublisherProfiles

Si usas el recurso accounts.publisherProfiles de la API de Ad Exchange Buyer II, puedes migrar al recurso buyers.publisherProfiles de la API de Marketplace.

Métodos de recursos

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

Este método ahora admite filtros de lista.

Campos de recursos

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

publisherProfileId es el ID del recurso del perfil del publicador.

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

Este campo dejó de estar disponible.

PublisherProfile.googlePlusUrl

Este campo dejó de estar disponible.

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

Proposals y FinalizedProposals

Si usas el recurso accounts.proposals de la API de Ad Exchange Buyer II, puedes migrar al recurso buyers.proposals de la API de Marketplace. Las ofertas se separaron de las propuestas en el subrecurso buyers.proposals.deals. Las propuestas finalizadas ya no se representan en la API, lo que te brinda un control más detallado de los acuerdos finalizados con el recurso buyers.finalizedDeals.

Métodos de recursos

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

Llama a buyers.proposals.accept solo cuando el estado de la propuesta sea 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

Ten en cuenta que la propuesta ya no contendrá información sobre las ofertas.

accounts.proposals.list buyers.proposals.list

Ten en cuenta que las propuestas que se muestran ya no contendrán información sobre las ofertas. Si usas el filtrado de listas, ten en cuenta que la API de Marketplace solo admite la sintaxis de filtros de listas.

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

Este método ahora admite actualizaciones parciales con el parámetro updateMask.

accounts.finalizedProposals.list

Usa buyers.finalizedDeals.list para ver los acuerdos finalizados de una cuenta de comprador determinada. Ahora es posible recuperar los acuerdos finalizados a nivel del ofertante con bidders.finalizedDeals.list.

accounts.finalizedProposals.pause

Usa buyers.finalizedDeals.pause para pausar acuerdos individuales finalizados de una cuenta de comprador determinada.

accounts.finalizedProposals.resume

Usa buyers.finalizedDeals.resume para reanudar los acuerdos finalizados individuales para una cuenta de comprador determinada.

Campos de recursos

Los recursos proposals y finalizedProposals comparten la misma representación de Proposal y tienen pasos de migración similares.

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

proposalId es el ID del recurso de propuesta.

Proposal.updateTime Proposal.updateTime
Proposal.proposalRevision

Proposal.proposalRevision y Deal.proposalRevision

Proposal.deals.dealId Deal.name

dealId es el ID del recurso de la oferta.

Proposal.deals.proposalId Deal.name

proposalId es el ID del recurso de propuesta superior.

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

Este campo dejó de estar disponible.

Proposal.deals.createProductRevision

Este campo dejó de estar disponible.

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

Este campo dejó de estar disponible y ahora solo se expone a nivel de la propuesta.

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

Este campo dejó de estar disponible.

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

Este campo dejó de estar disponible.

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

Deal.programmaticGuaranteedTerms

Ten en cuenta que, si bien guaranteedFixedPriceTerms.fixedPrices es un campo repetido, nunca se propagó con más de una entrada. Como resultado, el programmaticGuaranteedTerms.fixedPrice de la API de Marketplace es equivalente.

Proposal.deals.dealTerms.nonGuaranteedFixedPriceTerms

Deal.preferredDealTerms

Ten en cuenta que, si bien nonGuaranteedFixedPriceTerms.fixedPrices es un campo repetido, nunca se propagó con más de una entrada. Como resultado, el preferredDealTerms.fixedPrice de la API de Marketplace es equivalente.

Proposal.deals.dealTerms.NonGuaranteedAuctionTerms

Deal.privateAuctionTerms

Ten en cuenta que, si bien nonGuaranteedAuctionTerms.reservePricesPerBuyer es un campo repetido, nunca se propagó con más de una entrada. Como resultado, el privateAuctionTerms.floorPrice de la API de Marketplace es equivalente.

Proposal.deals.webPropertyCode

Este campo dejó de estar disponible.

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

Ya no es posible configurar la segmentación con una clave para determinar la categoría de segmentación. Sin embargo, las categorías a las que se podría segmentar se pueden encontrar en Deal.targeting. Por ejemplo, la clave GOOG_CREATIVE_SIZE del comprador de Ad Exchange II hace referencia a Deal.targeting.inventorySizeTargeting de la API de Marketplace.

Proposal.deals.targeting Deal.targeting

Se agregaron categorías adicionales de criterios de segmentación.

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

Este campo dejó de estar disponible.

Proposal.deals.syndicationProduct

Este campo dejó de estar disponible.

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

Puedes encontrar información similar en el campo FinalizedDeal.dealPausingInfo.

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

Se agregaron detalles adicionales sobre cómo se publicarán las ofertas.

Proposal.deals.isSetupComplete FinalizedDeal.readyToServe

Ahora solo puedes indicar que una oferta está lista para publicarse si está finalizada. Usa el método buyers.finalizedDeals.setReadyToServe para indicar que tu acuerdo de Programática garantizada finalizado está listo para publicarse.

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

Usa el nombre del perfil del publicador para identificar al vendedor. Puedes ver los perfiles de los publicadores con el recurso buyers.publisherProfiles.

Proposal.seller.subAccountId Proposal.publisherProfile

Usa el nombre de perfil del publicador para identificar al vendedor. Puedes ver los perfiles de los publicadores con el recurso buyers.publisherProfiles.

Proposal.buyer.accountId

Proposal.buyer o Proposal.client.

El campo que se use dependerá del tipo de cuenta del comprador que negocia. Estos son nombres de recursos de un recurso buyers de la API de ofertas en tiempo real o de un recurso buyers.clients de la API de mercado, respectivamente.

Proposal.billedBuyer.accountId Proposal.billedBuyer

Ahora es un nombre de recurso que hace referencia a una cuenta de comprador como se representa en el recurso buyers de la API de 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

Se desactivó este campo.

Proposal.isSetupComplete FinalizedDeal.readyToServe

Ahora se puede acceder a ellos de forma más detallada con buyers.finalizedDeals.

Proposal.lastUpdaterOrCommentorRole Proposal.lastUpdaterOrCommentorRole
Proposal.notes.proposalRevision

Este campo dejó de estar disponible.

Proposal.notes.noteId

Se desactivó este campo.

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