REST Resource: exchanges.orders.products

Recurso: Product

Produto

Representação JSON
{
  "name": string,
  "displayName": string,
  "externalDealId": string,
  "transactionType": enum (TransactionType),
  "pricingType": enum (PricingType),
  "updateTime": string,
  "startTime": string,
  "endTime": string,
  "rateDetails": {
    object (RateDetails)
  },
  "creativeConfig": [
    {
      object (CreativeConfig)
    }
  ],
  "makegood": boolean,
  "makegoodDetails": {
    object (MakegoodDetails)
  },
  "creativeSource": enum (CreativeSource),
  "mediumType": enum (MediumType),
  "audienceTargetingConfig": {
    object (AudienceTargetingConfig)
  },
  "targetingCriteria": {
    object (TargetingCriteria)
  },
  "forecastResult": {
    object (ForecastResult)
  },
  "errorDetails": {
    object (ErrorDetails)
  },
  "frequencyCap": {
    object (FrequencyCap)
  },
  "program": string,
  "buyerCustomParameters": {
    string: string,
    ...
  },
  "etag": string
}
Campos
name

string

Nome do recurso relativo do produto. Gerado pelo servidor. Exemplo: "exchanges/1234/orders/5678/products/abc". Apenas saída.

displayName

string

O nome de exibição do produto.

Precisa ser codificado em UTF-8 com um tamanho máximo de 240 bytes. Obrigatório.

externalDealId

string

ID externo. É o ID da transação no sistema de troca. Máximo de 100 caracteres. Os caracteres permitidos são alfanuméricos, sublinhado, traço e ponto. Precisa ser exclusivo em todos os produtos. Obrigatório.

transactionType

enum (TransactionType)

Tipo de transação do produto. Obrigatório.

pricingType

enum (PricingType)

Tipo de preço do produto. Obrigatório.

updateTime
(deprecated)

string (Timestamp format)

O carimbo de data/hora da última atualização do produto.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

startTime

string (Timestamp format)

Horário em que o produto é ativado. Precisa ser anterior a endTime. O horário de início não pode ser mais de 1 ano no futuro. Obrigatório.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Horário em que o produto se torna inativo. Não pode ser posterior ao ano de 2036. Obrigatório.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

rateDetails

object (RateDetails)

Detalhes da tarifa. Obrigatório.

creativeConfig[]

object (CreativeConfig)

Os requisitos de criativo de um produto. Obrigatório para produtos com tipo de transação reservada.

makegood
(deprecated)

boolean

Indica se um produto é de compensação.

makegoodDetails
(deprecated)

object (MakegoodDetails)

Os detalhes de compensação de um produto. Obrigatório quando o produto é uma compensação.

creativeSource

enum (CreativeSource)

Origem do criativo de um produto. Opcional, o padrão é CREATIVE_SOURCE_ADVERTISER. Não é possível mudar depois da criação do produto.

mediumType

enum (MediumType)

Tipo de mídia de um produto. O padrão será DIGITAL se não for especificado para compatibilidade com versões anteriores. Não é possível mudar depois da criação do produto.

audienceTargetingConfig

object (AudienceTargetingConfig)

Opcional. Configuração de segmentação por público-alvo aplicada no nível da transação na troca.

targetingCriteria

object (TargetingCriteria)

Apenas saída. Referências de critérios de segmentação de produtos. Aplicável apenas a cenários de transação instantânea.

forecastResult

object (ForecastResult)

Resultados da previsão do produto. Obrigatório quando os critérios de segmentação não estão vazios e a previsão não é fornecida. Aplicável apenas a cenários de transação instantânea.

errorDetails

object (ErrorDetails)

Os detalhes do erro precisam ser especificados quando não é possível atualizar campos de produtos específicos. Obrigatório quando o resultado da estimativa não pode ser fornecido devido a um critério de segmentação ou quando não é possível atualizar o produto. Aplicável apenas a cenários de transação instantânea.

frequencyCap

object (FrequencyCap)

Apenas saída. Limite de frequência selecionado pelo comprador. Aplicável apenas a cenários de transação instantânea.

program

string

Apenas saída. O programa em que o comprador criou a transação instantânea. Vazio para o fluxo normal da troca. Aplicável apenas a cenários de transação instantânea.

buyerCustomParameters

map (key: string, value: string)

Apenas saída. Parâmetros de chave-valor personalizados definidos pelo comprador na solicitação de transação instantânea. Aplicável apenas a cenários de transação instantânea.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string

Uma tag de entidade que precisa ser especificada ao atualizar um produto. Ele só precisa ser especificado para uma atualização se o campo etag não estiver vazio. Aplicável apenas a cenários de transação instantânea.

CreativeConfig

Configuração dos requisitos de criativo para um produto.

Representação JSON
{
  "creativeType": enum (CreativeType),
  "dimensionCreativeConfig": {
    object (DimensionCreativeConfig)
  },
  "durationCreativeConfig": {
    object (DurationCreativeConfig)
  }
}
Campos
creativeType

enum (CreativeType)

Tipo de criativo. Obrigatório.

dimensionCreativeConfig

object (DimensionCreativeConfig)

A configuração dos criativos de display. Este campo não é compatível com criativos nativos (CREATIVE_TYPE_NATIVE).

durationCreativeConfig

object (DurationCreativeConfig)

A configuração dos criativos de vídeo.

CreativeType

Tipos de criativo possíveis.

Tipos enumerados
CREATIVE_TYPE_UNSPECIFIED Tipo de criativo não especificado. O valor de entrada não é válido.
CREATIVE_TYPE_DISPLAY Tipo de criativo de display.
CREATIVE_TYPE_VIDEO Tipo de criativo de vídeo.
CREATIVE_TYPE_AUDIO Tipo de criativo de áudio.
CREATIVE_TYPE_NATIVE Tipo de criativo nativo. Isso não é compatível com produtos do tipo de transação RESERVED.

DimensionCreativeConfig

Dimensão do criativo de display em pixels.

Representação JSON
{
  "width": integer,
  "height": integer
}
Campos
width

integer

Largura do criativo de display. Obrigatório.

height

integer

Altura do criativo de display. Obrigatório.

DurationCreativeConfig

A configuração da duração do criativo.

Representação JSON
{
  "duration": string,
  "durationMatchType": enum (DurationMatchType),
  "skippableMatchType": enum (SkippableMatchType)
}
Campos
duration

string (Duration format)

A duração do criativo de vídeo em segundos. Obrigatório

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

durationMatchType

enum (DurationMatchType)

Os critérios de correspondência de duração.

skippableMatchType

enum (SkippableMatchType)

O tipo pulável de um criativo de vídeo.

DurationMatchType

Critérios de correspondência para a duração do criativo de vídeo.

Tipos enumerados
DURATION_MATCH_TYPE_UNSPECIFIED O critério de correspondência de duração não foi especificado ou é desconhecido nesta versão. O valor de entrada não é válido.
DURATION_MATCH_TYPE_EQUAL_TO A duração do criativo precisa ser igual à duração necessária.
DURATION_MATCH_TYPE_LESS_THAN_OR_EQUAL_TO A duração do criativo precisa ser igual ou menor que a duração necessária.

SkippableMatchType

Critérios de correspondência para determinar se um criativo de vídeo pode ser pulado.

Tipos enumerados
SKIPPABLE_MATCH_TYPE_UNSPECIFIED O tipo pulável não foi especificado ou é desconhecido nesta versão. O valor de entrada não é válido.
SKIPPABLE_MATCH_TYPE_SKIPPABLE O criativo precisa ser pulável.
SKIPPABLE_MATCH_TYPE_NOT_SKIPPABLE O criativo não pode ser pulável.
SKIPPABLE_MATCH_TYPE_ANY O criativo pode ser pulável ou não pulável.

MakegoodDetails

A configuração dos detalhes da compensação.

Representação JSON
{
  "originalExternalDealId": string,
  "reason": string
}
Campos
originalExternalDealId

string

O ID original da transação externa que solicita a compensação. Máximo de 100 caracteres. Os caracteres permitidos são alfanuméricos, sublinhado, traço e ponto. Obrigatório.

reason

string

Motivo da compensação iniciada pelo vendedor. Máximo de 250 caracteres. Obrigatório.

CreativeSource

Origem do criativo: de onde os criativos serão veiculados.

Tipos enumerados
CREATIVE_SOURCE_UNSPECIFIED A origem do criativo não foi especificada ou é desconhecida nesta versão. O valor de entrada não é válido.
CREATIVE_SOURCE_ADVERTISER Os criativos serão veiculados pelo DV3.
CREATIVE_SOURCE_PUBLISHER Os criativos serão veiculados pelo publisher. No momento, não há suporte para criativos hospedados pelo publisher. Qualquer solicitação que tente definir a origem do criativo como CREATIVE_SOURCE_PUBLISHER vai falhar.

AudienceTargetingConfig

A configuração da segmentação por público-alvo.

Representação JSON
{
  "audienceType": enum (AudienceType)
}
Campos
audienceType

enum (AudienceType)

O tipo de público-alvo. Obrigatório.

AudienceType

Tipo de público-alvo.

Tipos enumerados
AUDIENCE_TYPE_UNSPECIFIED Tipo de público-alvo não especificado. Não é válido para entrada.
AUDIENCE_TYPE_COMMERCE Tipo de público-alvo de comércio.

TargetingCriteria

Critérios de segmentação especificados.

Representação JSON
{
  "selectedTargetingOptions": [
    {
      object (SelectedTargetingOption)
    }
  ]
}
Campos
selectedTargetingOptions[]

object (SelectedTargetingOption)

Opções selecionadas.

SelectedTargetingOption

As opções de segmentação selecionadas para um único tipo de segmentação.

Representação JSON
{
  "type": enum (TargetingType),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "audienceSelection": {
    object (AudienceSelection)
  },
  "targetingSelection": {
    object (TargetingSelection)
  }
  // End of mutually exclusive fields.
}
Campos
type

enum (TargetingType)

Tipo de segmentação associado às opções selecionadas.

Só é possível incluir um tipo de seleção. A seleção escolhida precisa corresponder ao TargetingType escolhido para o campo type. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
audienceSelection

object (AudienceSelection)

Público-alvo selecionado.

targetingSelection

object (TargetingSelection)

Conjunto genérico de IDs de opções selecionadas.

Fim dos campos mutuamente exclusivos.

TargetingType

Tipos de segmentação.

Tipos enumerados
TARGETING_TYPE_UNSPECIFIED Tipo de segmentação não especificado, inválido para entrada.
TARGETING_TYPE_AUDIENCE Público-alvo do tipo de segmentação.
TARGETING_TYPE_COUNTRY Tipo de segmentação por país.
TARGETING_TYPE_DMA Tipo de segmentação dma.
TARGETING_TYPE_PROGRAMMER Programador de tipo de segmentação.
TARGETING_TYPE_BRAND Marca do tipo de segmentação.
TARGETING_TYPE_CONTENT_GENRE Tipos de segmentação por gênero de conteúdo.
TARGETING_TYPE_DEVICE Tipo de segmentação: dispositivo.
TARGETING_TYPE_OPERATING_SYSTEM Tipos de segmentação por sistema operacional.
TARGETING_TYPE_RATING Classificação do tipo de segmentação.
TARGETING_TYPE_ENVIRONMENT Tipo de segmentação por ambiente.
TARGETING_TYPE_LANGUAGE Idioma do tipo de segmentação.
TARGETING_TYPE_GEO Tipo de segmentação geográfica.
TARGETING_TYPE_AGE Tipo de segmentação por idade.
TARGETING_TYPE_GENDER Tipo de segmentação: gênero.
TARGETING_TYPE_CONTEXTUAL_SEGMENT Segmento contextual do tipo de segmentação.
TARGETING_TYPE_REQUEST_FORMAT Formato de solicitação do tipo de segmentação.
TARGETING_TYPE_PUBLISHER Tipos de segmentação por publisher.
TARGETING_TYPE_INVENTORY_SIZE Tamanho do tipo de segmentação.
TARGETING_TYPE_NETWORK Rede do tipo de segmentação.
TARGETING_TYPE_PLATFORM Plataforma do tipo de segmentação.
TARGETING_TYPE_VIDEO_DELIVERY_TYPE Tipo de segmentação: tipo de exibição do vídeo.
TARGETING_TYPE_VIDEO_MINIMUM_PLAYER_SIZE Tipo de segmentação: tamanho mínimo do player de vídeo.
TARGETING_TYPE_VIDEO_COMPLETION Tipos de segmentação: posição de vídeo.
TARGETING_TYPE_VIEWABILITY Visibilidade do tipo de segmentação.
TARGETING_TYPE_REWARDED Tipo de segmentação: premiado.
TARGETING_TYPE_VIDEO_AD_DURATION_THRESHOLD_SEC Limite de duração do anúncio em vídeo do tipo de segmentação em segundos.
TARGETING_TYPE_VIDEO_PLACEMENT Tipos de segmentação: posição de vídeo.
TARGETING_TYPE_VIDEO_PLAYBACK_METHOD Método de reprodução de vídeo do tipo de segmentação.
TARGETING_TYPE_APP_ID ID do app do tipo de segmentação.
TARGETING_TYPE_DOMAIN_URL URL do domínio do tipo de segmentação.
TARGETING_TYPE_CTR Taxa de cliques do tipo de segmentação.
TARGETING_TYPE_DEMOGRAPHICS Informações demográficas do tipo de segmentação.
TARGETING_TYPE_RESTRICTED_CATEGORY Categoria restrita do tipo de segmentação.
TARGETING_TYPE_AD_POSITION Posição do anúncio do tipo de segmentação.
TARGETING_TYPE_DAY_AND_TIME Tipos de segmentação por dia e hora.
TARGETING_TYPE_RETAIL_MEDIA_AUDIENCE Tipo de segmentação: público-alvo de mídia de varejo.

AudienceSelection

Opções de segmentação por público-alvo selecionadas.

Representação JSON
{
  "includedOrGroups": [
    {
      object (OrGroup)
    }
  ],
  "excludedOptionIds": [
    string
  ]
}
Campos
includedOrGroups[]

object (OrGroup)

As opções incluídas são combinadas com AND, e cada uma delas pode ser uma opção individual ou um grupo de opções combinadas com OR.

excludedOptionIds[]

string (int64 format)

As opções excluídas são combinadas com OR.

OrGroup

Um grupo de opções selecionadas unidas por OR.

Representação JSON
{
  "optionIds": [
    string
  ]
}
Campos
optionIds[]

string (int64 format)

IDs das opções selecionadas.

TargetingSelection

Opções de segmentação selecionadas e segmentação por exclusão, aplicáveis à maioria dos tipos de segmentação.

Representação JSON
{
  "optionIds": [
    string
  ],
  "externalIds": [
    string
  ],
  "excludedOptionIds": [
    string
  ],
  "excludedExternalIds": [
    string
  ]
}
Campos
optionIds[]

string (int64 format)

Apenas saída. IDs das opções de segmentação do DV3 selecionadas que foram compartilhados com a troca. Pode ser retornado com excludedOptionIds, desde que as duas listas não se sobreponham.

externalIds[]

string

Apenas saída. IDs das opções de segmentação selecionadas fornecidos pela troca. Pode ser retornado com excludedExternalIds, desde que as duas listas não se sobreponham.

excludedOptionIds[]

string (int64 format)

Apenas saída. IDs de opções de segmentação do DV3 excluídas compartilhadas com a troca. Pode ser retornado com optionIds, desde que as duas listas não se sobreponham.

excludedExternalIds[]

string

Apenas saída. IDs de opções de segmentação por exclusão fornecidos pela troca. Pode ser retornado com externalIds, desde que as duas listas não se sobreponham.

ForecastResult

Resultado da previsão especificado.

Representação JSON
{
  "forecasts": [
    {
      object (Forecast)
    }
  ]
}
Campos
forecasts[]

object (Forecast)

Previsão. forecastCategory precisa ser exclusivo para cada elemento especificado.

Previsão

Previsão da categoria especificada.

Representação JSON
{
  "forecastCategory": enum (ForecastCategory),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "number": string,
  "percentage": integer,
  "cpmPrice": {
    object (Money)
  },
  "cpmRange": {
    object (CpmRange)
  },
  "forecastBreakdownData": {
    object (ForecastBreakdownData)
  }
  // End of mutually exclusive fields.
}
Campos
forecastCategory

enum (ForecastCategory)

A categoria de previsão especificada que a estatística de previsão representava.

Só é possível incluir um tipo de dados de estatísticas. Os dados preenchidos precisam corresponder ao campo forecastCategory. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
number

string (int64 format)

Dados numéricos.

percentage

integer

Dados de porcentagem.

cpmPrice

object (Money)

Dados de preço de CPM.

cpmRange

object (CpmRange)

Dados de faixa de preço de CPM.

forecastBreakdownData

object (ForecastBreakdownData)

Dados de detalhamento da previsão.

Fim dos campos mutuamente exclusivos.

ForecastCategory

Categoria de previsão.

Tipos enumerados
FORECAST_CATEGORY_UNSPECIFIED Categoria não especificada. Não é válido para entrada.
FORECAST_CATEGORY_TOTAL_OPPORTUNITIES Total de oportunidades. Dados numéricos.
FORECAST_CATEGORY_TOTAL_AUDIENCE Público total. Dados numéricos.
FORECAST_CATEGORY_DIGITAL_TRP Pontos de audiência no público-alvo digital. Dados de porcentagem.
FORECAST_CATEGORY_SUGGESTED_CPM Preço de CPM sugerido. Dados de intervalo ou preço de CPM.
FORECAST_CATEGORY_UNIQUE_REACH Prever o Unique Reach. Dados numéricos.
FORECAST_CATEGORY_FORECAST_BREAKDOWN Detalhamento da estimativa. Dados de detalhamento da previsão.

CpmRange

O intervalo de CPM contém o valor mínimo e máximo do CPM.

Representação JSON
{
  "minCpm": {
    object (Money)
  },
  "maxCpm": {
    object (Money)
  }
}
Campos
minCpm

object (Money)

Limite inferior do intervalo de CPM.

maxCpm

object (Money)

Limite superior da faixa de CPM.

ForecastBreakdownData

Os dados de detalhamento da estimativa contêm uma lista de detalhamentos.

Representação JSON
{
  "forecastBreakdowns": [
    {
      object (ForecastBreakdown)
    }
  ]
}
Campos
forecastBreakdowns[]

object (ForecastBreakdown)

Uma lista de detalhamentos de estimativa.

ForecastBreakdown

Detalhamento da previsão da opção de segmentação selecionada.

Representação JSON
{
  "selectedTargetingOption": {
    object (SelectedTargetingOption)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "impressions": string
  // End of mutually exclusive fields.
}
Campos
selectedTargetingOption

object (SelectedTargetingOption)

As opções de segmentação selecionadas para um único tipo de segmentação.

Só é possível incluir um tipo de dados de detalhamento. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
impressions

string (int64 format)

Prever impressões.

Fim dos campos mutuamente exclusivos.

ErrorDetails

Detalhes do erro especificados quando a atualização tem erros.

Representação JSON
{
  "message": string,
  "instantDealErrorStatus": enum (InstantDealErrorStatus)
}
Campos
message

string

A mensagem especificada quando a atualização tem erros.

instantDealErrorStatus

enum (InstantDealErrorStatus)

O status de erro especificado quando a atualização tem erros para as transações instantâneas.

InstantDealErrorStatus

Status de erro especificado quando a atualização instantânea da transação tem erros.

Tipos enumerados
INSTANT_DEAL_ERROR_STATUS_UNSPECIFIED Status de erro não especificado.
INSTANT_DEAL_ERROR_STATUS_INVENTORY_UNAVAILABLE O status de erro indica que o inventário está indisponível.
INSTANT_DEAL_ERROR_STATUS_FORECAST_UNAVAILABLE O status de erro indica que a previsão está indisponível.
INSTANT_DEAL_ERROR_STATUS_INVALID_INPUT O status de erro indica que há campos de entrada inválidos.

FrequencyCap

O número de vezes que um usuário pode ver o mesmo anúncio durante um determinado período.

Representação JSON
{
  "timeUnit": enum (TimeUnit),
  "maxImpressions": string
}
Campos
timeUnit

enum (TimeUnit)

É a unidade de tempo em que o limite de frequência será aplicado.

maxImpressions

string (int64 format)

É o número máximo de vezes que um usuário pode ver o mesmo anúncio durante esse período.

TimeUnit

É a unidade de tempo em que o limite de frequência será aplicado.

Tipos enumerados
TIME_UNIT_UNSPECIFIED Unidade de tempo não especificada.
TIME_UNIT_LIFETIME O limite de frequência será aplicado a todo o período.
TIME_UNIT_MONTHS O limite de frequência será aplicado a um número de meses.
TIME_UNIT_WEEKS O limite de frequência será aplicado a um número de semanas.
TIME_UNIT_DAYS O limite de frequência será aplicado a um número de dias.

Métodos

create

Cria um produto.

get

Recebe um produto.

list

Lista produtos.

patch

Atualiza um produto.