Deals API 1.0 JSON Schema Unofficial

Decision records ·

D-007 Which field must a fixed-price deal provide, when the text says "Price attribute must be provided if the deal is a fixed price deal"?

Gap Cited on main and at the tag 1.0-202602.

What the schemas do

dealfloor, the only price the terms carry: a deal whose pricetype is 3, Fixed Price, must send it; elsewhere it is guidance.

Options

  • dealfloor Chosen

    dealfloor, the only price the terms carry: a deal whose pricetype is 3, Fixed Price, must send it; elsewhere it is guidance.

  • unread

    No field: the sentence names none, so it states no requirement a payload can be checked against.

Why

The terms carry one price, dealfloor, and its row says it is guidance "unless pricetype is Fixed", so a fixed-price deal's price is its dealfloor. The sentence's "must" makes the rule an error: a deal with pricetype 3 and no dealfloor breaks it. It is a sentence of the Implementation Guidance, not a row's stated presence, from which alone the schema's conditions come, so it is a rule with valid and invalid vectors. The row's own "should be used as guidance to buyers" says what the value means where the price isn't fixed, which the field's description carries, so it is informative.

What we ask the specification to state

Name the field: "dealfloor must be provided if pricetype is 3 (Fixed Price)". The sentence says "Price attribute", which no table names.

The specification lines it rests on

Each line is quoted as the record pins it. Expand an item to read the quote.

main

  • Terms Object, a requirement L232 at 3028ddc
    Price attribute must be provided if the deal is a fixed price deal, especially if it's a programmatic guaranteed deal, but otherwise can be used as pricing guidance or not provided at all if there is no pricing guidance (for example, for a Run-of-Exchange deal where there is no pricing guidance)
  • Object: Terms, a requirement L111 at 3028ddc
    Unless pricetype is Fixed, this should be used as guidance to buyers.
  • Object: Terms, the dealfloor row L111 at 3028ddc
    dealfloor | float | Minimum bid for impressions for this deal expressed in CPM. Unless pricetype is Fixed, this should be used as guidance to buyers. See Implementation Guidance for additional detail
  • Object: Terms, the pricetype row L114 at 3028ddc
    pricetype | int, default 2 | Deal Price Type where: 0 = Dynamic (ie. auction type will be provided by request.at attribute in OpenRTB Bid Request) 1 = First Price 2 = Second Price Plus 3 = Fixed Price Exchange-specific auction types can be defined using values 500 and greater.

Tag 1.0-202602

  • Terms Object, a requirement L232 at 938a5d1
    Price attribute must be provided if the deal is a fixed price deal, especially if it's a programmatic guaranteed deal, but otherwise can be used as pricing guidance or not provided at all if there is no pricing guidance (for example, for a Run-of-Exchange deal where there is no pricing guidance)
  • Object: Terms, a requirement L111 at 938a5d1
    Unless pricetype is Fixed, this should be used as guidance to buyers.
  • Object: Terms, the dealfloor row L111 at 938a5d1
    dealfloor | float | Minimum bid for impressions for this deal expressed in CPM. Unless pricetype is Fixed, this should be used as guidance to buyers. See Implementation Guidance for additional detail
  • Object: Terms, the pricetype row L114 at 938a5d1
    pricetype | int, default 2 | Deal Price Type where: 0 = Dynamic (ie. auction type will be provided by request.at attribute in OpenRTB Bid Request) 1 = First Price 2 = Second Price Plus 3 = Fixed Price Exchange-specific auction types can be defined using values 500 and greater.

What it shapes

main: Terms.dealfloor, Terms.pricetype

Tag 1.0-202602: Terms.dealfloor, Terms.pricetype

The record's YAML file