Fluxos de trabalho de API

Criar uma transação

  1. Verifique se um produto já foi criado usando LIST produtos com o filtro external_deal_id. O external_deal_id precisa ser exclusivo em todos os produtos.

    GET https://dv360seller.googleapis.com/v1beta1/{parent=exchanges/*/orders/*}/products?filter=externalDealId="{external_deal_id}"
    
  2. Criar pedido. O nome é gerado pela DV3, e recomendamos que você armazene esse ID em algum lugar do seu sistema para recuperação futura.

  3. Criar produto em pedido. O nome do produto é gerado pela DV3, e recomendamos que você armazene esse ID em algum lugar do seu sistema para recuperação futura.

    Como alternativa, você sempre pode usar LIST com external_deal_id. O campo "Nome" contém o ID do pedido e o ID do produto, assim você pode identificar o item principal com facilidade.

Cancelar uma oferta

  1. Atualizar o status do pedido para "Cancelado" Só é possível cancelar se o pedido não tiver sido aceito. "Cancelado" é um estado final. Não é possível reativar o pedido depois de cancelado.

Receber detalhes de uma transação

  1. Receber detalhes de um pedido. O status é atualizado quando o usuário aceita, arquiva ou cancela o pedido.
  2. Receber detalhes do produto.

Receber uma lista de ofertas

  1. LIST pedidos com um filtro de status para receber todos os pedidos aceitos/pendentes de aceitação.
  2. LIST produtos com o filtro external_deal_id.
  3. LIST todos os produtos em um pedido.

Atualizar uma transação

  1. Atualiza as informações de contato do editor do pedido.
    1. name, não permite atualização(não pode ser definido na field_mask). O status só pode ser definido como "Cancelado" pela API.
    2. partner_id não permite atualização.
  2. Atualize o produto para uma atualização específica do prazo da oferta.
    1. name, externalDealId, transactionType, pricingType, updateTime não podem ser atualizados.
    2. A atualização de "displayName" não exige aceitação do usuário.
    3. Atualiza rateDetails, creativeConfig e muda o status do pedido principal para "Aceitação pendente". Os anunciantes da DV360 vão precisar aceitar o novo termo na página de negociação, independente de o pedido anterior ter sido aceito ou não.

Verificar se o usuário aceitou a transação

  1. Get Order se você souber o ID do pedido correspondente. Verifique o campo "Status".
  2. Se o ID do pedido não foi rastreado: Listar produtos com filtro external_deal_id, descobrir o nome do pedido com base no nome do produto e, em seguida, Get Order. Verifique o campo "Status".

Verificar se o usuário configurou a oferta(somente para PG)

  1. Receber origem de inventário. O nome é "exchanges/{exchangeId}/inventorysources/{external_deal_id}". Verifique o Status do comprador.
    1. Ofertas de reserva
      1. BUYER_STATUS_ACTIVE significa que uma transação foi aceita e configurada. Espera-se que a transação esteja gastando nesse estado quando o DV360 receber uma solicitação de lance que corresponda aos termos da transação. Um item de linha é gerado automaticamente durante a etapa de configuração do negócio. Consulte Configuração de negociação para mais detalhes.
      2. BUYER_STATUS_PENDINGsignifica que o pedido foi aceito, mas a transação ainda não foi configurada. Nenhum gasto será feito nesse estado.
      3. BUYER_STATUS_PAUSEDsignifica que a transação foi pausada explicitamente pelos anunciantes. Nenhum gasto será feito nesse estado.
    2. Ofertas sem reserva
      1. BUYER_STATUS_ACTIVE significa que uma transação foi aceita. Espera-se que a transação esteja gastando nesse estado quando a DV360 receber uma solicitação de lance que corresponda aos termos da transação E houver um item de linha ativo segmentando essa transação E a solicitação de lance corresponder aos critérios de segmentação do item de linha. Consulte item de linha para mais detalhes.** Não há uma API do vendedor para consultar se uma transação foi segmentada por itens de linha. **
      2. BUYER_STATUS_PENDINGnão relevante.
      3. BUYER_STATUS_PAUSEDsignifica que a transação foi pausada explicitamente pelos anunciantes. Nenhum gasto será feito nesse estado.

Pausar/retomar uma transação após a aceitação

  1. Atualize o status do vendedor da origem de inventário.
    1. Pausar/retomar não afeta a veiculação de negócios. Quando um vendedor pausa uma transação, os anunciantes recebem uma mensagem de string apenas para informação. Isso ajuda o anunciante a resolver problemas com uma transação sem gastos.

Renegociação (atualizar a transação após a aceitação)

A renegociação se refere às atualizações feitas em uma transação depois que ela é aceita pelo comprador. Isso pode ser muito útil para as exchanges e os compradores enviarem novas mudanças aos contratos aceitos. Por exemplo, a troca pode descobrir que o horário de término de uma transação aceita não está correto e usar o produto Update do DV3 para enviar atualizações aos compradores do DV3 se a transação ainda não tiver começado.

Quais mudanças são permitidas e proibidas.

Permitimos mudanças em todos os campos, exceto alguns campos críticos de veiculação, como: startTime, endTime, rateDetails, creativeConfig etc. Temos validações nesses campos críticos de veiculação. Em geral, as atualizações nesses campos, exceto creativeConfig, são permitidas se o horário de início da oferta for pelo menos um dia depois no futuro. Somente atualizações incrementais são permitidas para ofertas em andamento, cujo horário de início é no passado, mas o horário de término é no futuro. Não é possível fazer mudanças em transações concluídas, cujo horário de término já passou. Por exemplo, não é permitido atualizar o rateDetails de uma transação concluída há um ano. Nesses casos, a DV3 Atualizar produto vai gerar um erro de validação.