Deals API 1.0 JSON Schema Unofficial

Decision records ·

D-026 Which ID must match which, when a deal's id must match the bid request's deal.id and a status response's id "should always be the same id as deal.id"?

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

What the schemas do

A status's id equals the pushed deal's id, a rule read with the deal as its context; that both systems and the bid request use the origin's id binds the parties, as obligations.

Options

  • rule-and-obligations Chosen

    A status's id equals the pushed deal's id, a rule read with the deal as its context; that both systems and the bid request use the origin's id binds the parties, as obligations.

  • informative

    All three are informative.

Why

A status refers to one pushed deal, so its id is that deal's, which a rule checks given the deal; one payload can't show it, so its vectors carry the deal's id as context. That the bid request carries the same deal ID is what the systems do, so it is an obligation of each.

What we ask the specification to state

Say "must" where an ID must match: a status that names another deal's ID is useless, and the sentence says "should".

The specification lines it rests on

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

main

  • Object: BuyerSeat, a requirement L162 at 3028ddc
    This should always be the same id as deal.id
  • Matching Bid Requests to Deals, a requirement L189 at 3028ddc
    The deal.id from both the sender and receiver should match the deal.id in the OpenRTB request when bidding.
  • Matching Bid Requests to Deals, a requirement L189 at 3028ddc
    Implementers should use the Deal ID from the Origin system that did the PUSH.
  • Object: BuyerSeat, the id row L162 at 3028ddc
    id | string, required | A unique identifier for the deal as passed in the initial push that this response is referring to. This should always be the same id as deal.id
  • Object: Deal, the id row L85 at 3028ddc
    id | string; required | A unique identifier for the direct deal in origin's namespace.

Tag 1.0-202602

  • Object: BuyerSeat, a requirement L162 at 938a5d1
    This should always be the same id as deal.id
  • Matching Bid Requests to Deals, a requirement L189 at 938a5d1
    The deal.id from both the sender and receiver should match the deal.id in the OpenRTB request when bidding.
  • Matching Bid Requests to Deals, a requirement L189 at 938a5d1
    Implementers should use the Deal ID from the Origin system that did the PUSH.
  • Object: BuyerSeat, the id row L162 at 938a5d1
    id | string, required | A unique identifier for the deal as passed in the initial push that this response is referring to. This should always be the same id as deal.id
  • Object: Deal, the id row L85 at 938a5d1
    id | string; required | A unique identifier for the direct deal in origin's namespace.

What it shapes

main: BuyerSeat.id, Deal.id

Tag 1.0-202602: BuyerSeat.id, Deal.id

The record's YAML file