Deals API 1.0 JSON Schema Unofficial

Decision records ·

D-024 What does an empty or missing list mean in adtypes, countries, inclinventory, sellerids, sitedomains, and appbundles?

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

What the schemas do

An empty list is valid, as a missing one is, and means what its row says: all values, all sellers, or many unspecified domains or bundles; the schema sets no minimum, and each description says what it means.

Options

  • all Chosen

    An empty list is valid, as a missing one is, and means what its row says: all values, all sellers, or many unspecified domains or bundles; the schema sets no minimum, and each description says what it means.

  • non-empty

    A list holds at least one value; a missing list means all.

Why

Every row says what an empty list means: adtypes, countries, and inclinventory say an empty or missing list applies to all; sellerids says an empty one runs across all sellers; sitedomains and appbundles say an empty one may run across many unspecified domains or bundles. So an empty list is valid on each, and the schema sets no minimum. The sentences that say so are informative; the descriptions carry them.

What we ask the specification to state

None needed: the rows say it. The phrasing differs, "all" for some and "many unspecified" for others, which could be made one.

The specification lines it rests on

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

main

  • Object: Inventory, a requirement L128 at 3028ddc
    An empty list implies the deal may runs across all sellers.
  • Object: Inventory, a requirement L129 at 3028ddc
    An empty list implies the deal may run across many unspecified site domain(s).
  • Object: Inventory, a requirement L130 at 3028ddc
    An empty list implies the deal may run across many unspecified bundles/package(s)
  • Object: Deal, the adtypes row L94 at 3028ddc
    adtypes | int array | The format of the ad creative(s) supported by the inventory in the deal: 1 = Banner 2 = Video 3 = Audio 4 = Native If this is empty or missing, the deal is assumed to apply to all types of ad creative.
  • Object: Terms, the countries row L110 at 3028ddc
    countries | string array | An array of country codes in which the deal is available, where country code is a string using ISO-3166-3. If this is empty or missing, the deal is assumed to apply to all countries.
  • Object: Inventory, the inclinventory row L126 at 3028ddc
    inclinventory | integer array | High-level information about the kind of inventory included in the deal: 1 = site 2 = app 3 = dooh 4 = audio 5 = endemic 6 = other If this is empty or missing, the deal is assumed to apply to all types of inventory

Tag 1.0-202602

  • Object: Inventory, a requirement L128 at 938a5d1
    An empty list implies the deal may runs across all sellers.
  • Object: Inventory, a requirement L129 at 938a5d1
    An empty list implies the deal may run across many unspecified site domain(s).
  • Object: Inventory, a requirement L130 at 938a5d1
    An empty list implies the deal may run across many unspecified bundles/package(s)
  • Object: Deal, the adtypes row L94 at 938a5d1
    adtypes | int array | The format of the ad creative(s) supported by the inventory in the deal: 1 = Banner 2 = Video 3 = Audio 4 = Native If this is empty or missing, the deal is assumed to apply to all types of ad creative.
  • Object: Terms, the countries row L110 at 938a5d1
    countries | string array | An array of country codes in which the deal is available, where country code is a string using ISO-3166-3. If this is empty or missing, the deal is assumed to apply to all countries.
  • Object: Inventory, the inclinventory row L126 at 938a5d1
    inclinventory | integer array | High-level information about the kind of inventory included in the deal: 1 = site 2 = app 3 = dooh 4 = audio 5 = endemic 6 = other If this is empty or missing, the deal is assumed to apply to all types of inventory

What it shapes

main: Deal.adtypes, Inventory.inclinventory, Terms.countries

Tag 1.0-202602: Deal.adtypes, Inventory.inclinventory, Terms.countries

The record's YAML file