TAŇBA-OOH Developers

Open data dictionary

GET /v1/open/dictionary.json

https://verify.tanba-ooh.kz/v1/open/dictionary.json

What the files hold - columns, tables, cell statuses, the codes of districts, formats and dayparts with their names in three languages, the thresholds of the disclosure rules and the licence note. No credentials. While publication is switched off it answers 404 with the code not_published.

Authentication

None. This call is public.

Responses

200 The dictionary.

application/json

OpenDataDictionary

NameTypeRequiredDescriptionExample
versionstringyesVersion of the dictionary."1.0"
licenceobjectyesThe licence note of the files. The terms of use are the city's decision; until it is made the note says so.
licence.statusstringyesdraft until the city decides. draft
licence.textobjectyesThe note in English, Russian and Kazakh.
licence.text.enstringyesEnglish text."Draft - pending the city's decision."
licence.text.rustringyesRussian text."Проект - ожидает решения города."
licence.text.kkstringyesKazakh text."Жоба - қаланың шешімін күтуде."
basisobjectyesOne documented item: a file, a table, a column, a status or the counting basis.
basis.namestringName of the item; files, tables, columns and the basis have one."plays"
basis.codestringCode of the item; statuses have one."published"
basis.descriptionobjectyesA text in English, Russian and Kazakh.
basis.description.enstringyesEnglish text."Plays in the month."
basis.description.rustringyesRussian text."Показы за месяц."
basis.description.kkstringyesKazakh text."Айдағы көрсетілімдер."
filesarray of OpenDataEntryyesThe two files of a release.
files[].namestringName of the item; files, tables, columns and the basis have one."plays"
files[].codestringCode of the item; statuses have one."published"
files[].descriptionobjectyesA text in English, Russian and Kazakh.
files[].description.enstringyesEnglish text."Plays in the month."
files[].description.rustringyesRussian text."Показы за месяц."
files[].description.kkstringyesKazakh text."Айдағы көрсетілімдер."
tablesarray of OpenDataEntryyesThe tables in the files.
tables[].namestringName of the item; files, tables, columns and the basis have one."plays"
tables[].codestringCode of the item; statuses have one."published"
tables[].descriptionobjectyesA text in English, Russian and Kazakh.
tables[].description.enstringyesEnglish text."Plays in the month."
tables[].description.rustringyesRussian text."Показы за месяц."
tables[].description.kkstringyesKazakh text."Айдағы көрсетілімдер."
columnsarray of OpenDataEntryyesThe columns of the CSV file.
columns[].namestringName of the item; files, tables, columns and the basis have one."plays"
columns[].codestringCode of the item; statuses have one."published"
columns[].descriptionobjectyesA text in English, Russian and Kazakh.
columns[].description.enstringyesEnglish text."Plays in the month."
columns[].description.rustringyesRussian text."Показы за месяц."
columns[].description.kkstringyesKazakh text."Айдағы көрсетілімдер."
statusesarray of OpenDataEntryyesThe statuses a cell can have.
statuses[].namestringName of the item; files, tables, columns and the basis have one."plays"
statuses[].codestringCode of the item; statuses have one."published"
statuses[].descriptionobjectyesA text in English, Russian and Kazakh.
statuses[].description.enstringyesEnglish text."Plays in the month."
statuses[].description.rustringyesRussian text."Показы за месяц."
statuses[].description.kkstringyesKazakh text."Айдағы көрсетілімдер."
codesobjectyesThe codes used in the row and col columns, with names in three languages.
codes.districtarray of OpenDataCodeyesDistricts.
codes.district[].codestringyesThe code used in the files."medeu"
codes.district[].nameobjectyesA text in English, Russian and Kazakh.
codes.district[].name.enstringyesEnglish text."Plays in the month."
codes.district[].name.rustringyesRussian text."Показы за месяц."
codes.district[].name.kkstringyesKazakh text."Айдағы көрсетілімдер."
codes.district[].start_hourintegerDayparts only: first hour of the daypart, Almaty time.6
codes.district[].end_hourintegerDayparts only: hour at which the daypart ends, not included.10
codes.formatarray of OpenDataCodeyesFormats.
codes.format[].codestringyesThe code used in the files."medeu"
codes.format[].nameobjectyesA text in English, Russian and Kazakh.
codes.format[].name.enstringyesEnglish text."Plays in the month."
codes.format[].name.rustringyesRussian text."Показы за месяц."
codes.format[].name.kkstringyesKazakh text."Айдағы көрсетілімдер."
codes.format[].start_hourintegerDayparts only: first hour of the daypart, Almaty time.6
codes.format[].end_hourintegerDayparts only: hour at which the daypart ends, not included.10
codes.daypartarray of OpenDataCodeyesDayparts of the Almaty day; start_hour is inclusive and end_hour exclusive.
codes.daypart[].codestringyesThe code used in the files."medeu"
codes.daypart[].nameobjectyesA text in English, Russian and Kazakh.
codes.daypart[].name.enstringyesEnglish text."Plays in the month."
codes.daypart[].name.rustringyesRussian text."Показы за месяц."
codes.daypart[].name.kkstringyesKazakh text."Айдағы көрсетілімдер."
codes.daypart[].start_hourintegerDayparts only: first hour of the daypart, Almaty time.6
codes.daypart[].end_hourintegerDayparts only: hour at which the daypart ends, not included.10
disclosureobjectyesThe disclosure rules in force.
disclosure.min_operatorsintegeryesOperators a published cell needs.3
disclosure.min_advertisersintegeryesAdvertisers a published cell needs.3
disclosure.max_party_share_pctintegeryesThe most percent of a cell's plays one operator or one advertiser may hold.70
disclosure.lag_monthsintegeryesFull months between the end of a month and its release.1
disclosure.descriptionobjectyesA text in English, Russian and Kazakh.
disclosure.description.enstringyesEnglish text."Plays in the month."
disclosure.description.rustringyesRussian text."Показы за месяц."
disclosure.description.kkstringyesKazakh text."Айдағы көрсетілімдер."

Example

{
  "version": "1.0",
  "licence": {
    "status": "draft",
    "text": {
      "en": "Draft - pending the city's decision.",
      "ru": "Проект - ожидает решения города.",
      "kk": "Жоба - қаланың шешімін күтуде."
    }
  },
  "basis": {
    "name": "plays",
    "code": "published",
    "description": {
      "en": "Plays in the month.",
      "ru": "Показы за месяц.",
      "kk": "Айдағы көрсетілімдер."
    }
  },
  "files": [
    {
      "name": "plays",
      "code": "published",
      "description": {
        "en": "Plays in the month.",
        "ru": "Показы за месяц.",
        "kk": "Айдағы көрсетілімдер."
      }
    }
  ],
  "tables": [
    {
      "name": "plays",
      "code": "published",
      "description": {
        "en": "Plays in the month.",
        "ru": "Показы за месяц.",
        "kk": "Айдағы көрсетілімдер."
      }
    }
  ],
  "columns": [
    {
      "name": "plays",
      "code": "published",
      "description": {
        "en": "Plays in the month.",
        "ru": "Показы за месяц.",
        "kk": "Айдағы көрсетілімдер."
      }
    }
  ],
  "statuses": [
    {
      "name": "plays",
      "code": "published",
      "description": {
        "en": "Plays in the month.",
        "ru": "Показы за месяц.",
        "kk": "Айдағы көрсетілімдер."
      }
    }
  ],
  "codes": {
    "district": [
      {
        "code": "medeu",
        "name": {
          "en": "Plays in the month.",
          "ru": "Показы за месяц.",
          "kk": "Айдағы көрсетілімдер."
        },
        "start_hour": 6,
        "end_hour": 10
      }
    ],
    "format": [
      {
        "code": "medeu",
        "name": {
          "en": "Plays in the month.",
          "ru": "Показы за месяц.",
          "kk": "Айдағы көрсетілімдер."
        },
        "start_hour": 6,
        "end_hour": 10
      }
    ],
    "daypart": [
      {
        "code": "medeu",
        "name": {
          "en": "Plays in the month.",
          "ru": "Показы за месяц.",
          "kk": "Айдағы көрсетілімдер."
        },
        "start_hour": 6,
        "end_hour": 10
      }
    ]
  },
  "disclosure": {
    "min_operators": 3,
    "min_advertisers": 3,
    "max_party_share_pct": 70,
    "lag_months": 1,
    "description": {
      "en": "Plays in the month.",
      "ru": "Показы за месяц.",
      "kk": "Айдағы көрсетілімдер."
    }
  }
}

Errors

Errors are problem documents (application/problem+json) with a stable code.

StatusMeaning
404Open data is switched off (not_published), or the month or file is not published or does not exist (not_found).
429Rate limit; see Retry-After.

Code samples

curl

curl 'https://verify.tanba-ooh.kz/v1/open/dictionary.json'
Python
import requests

response = requests.get(
    "https://verify.tanba-ooh.kz/v1/open/dictionary.json",
)
print(response.status_code, response.text)
Go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, err := http.NewRequest("GET", "https://verify.tanba-ooh.kz/v1/open/dictionary.json", nil)
	if err != nil {
		panic(err)
	}
	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()
	data, _ := io.ReadAll(resp.Body)
	fmt.Println(resp.Status, string(data))
}