TAŇBA-OOH Әзірлеушілерге

One screen of the market

GET /api/v1/market/inventory/{code}

https://app.tanba-ooh.kz/api/v1/market/inventory/{code}

Анықтамалықтың техникалық мәтіні ағылшын тілінде жазылған.

Scope read:inventory. The same item as in the list, for one structure code, whatever its status. Send the ETag back in If-None-Match to get 304.

Аутентификация

Authorization тақырыбындағы API кілті немесе консоль сеансы.

Рұқсат: read:inventory

Параметрлер

АтауыОрныТүріМіндеттіСипаттамаМысал
codeжолstringиәStructure code.ALM-0001
If-None-MatchтақырыпstringжоқThe ETag of a copy you already hold; the answer is then 304 without a body."6f1c0a7d5b2e49c8a3d1e7f0"

Жауаптар

200 The screen.

application/json

InventoryItem

АтауыТүріМіндеттіСипаттамаМысал
codestringиәStructure code; use it as dooh.id and imp.tagid."ALM-0001"
unos_idstring | nullиәIdentifier in the national outdoor advertising register, when the operator has recorded it."UNOS-4711"
statusstringиәdecommissioned appears only in answers with since. active, decommissioned
operatorobjectиәThe operator that runs the screen, the publisher in a bid request.
operator.idstring (uuid)иәId of the operator organisation."0b6f9d0e-6c1e-4a6a-9d55-0f8a6a6f3c11"
operator.namestringиәLegal name of the operator."Almaty Outdoor LLP"
operator.domainstring | nullиәDomain of the operator, when recorded."almaty-outdoor.example"
venue_typeobject | nullиәVenue type; null when neither the structure nor its format has one.
venue_type.v12integerиәId in the OpenOOH venue taxonomy 1.2.304
venue_type.v11integer | nullиәId of the official mapping to OpenOOH 1.1; send this one with venuetypetax 5.301
venue_type.codestringиәString code of the type in the 1.2 taxonomy."outdoor.spectacular"
latnumberиәLatitude in degrees.43.238
lngnumberиәLongitude in degrees.76.945
districtstringиәDistrict code from the reference list."medeu"
formatstringиәFormat code from the reference list."cityboard"
classstringиәClass of the screen. A, B, C
outdoorbooleanиәTrue for outdoor formats.true
screenobjectиәSize of the screen in pixels.
screen.winteger | nullиәWidth in pixels; null when unknown.1920
screen.hinteger | nullиәHeight in pixels; null when unknown.1080
slot_secondsinteger | nullиәLength of one spot in seconds.10
loop_secondsinteger | nullиәLength of the loop in seconds.120
complianceobjectиәWhat the platform knows about the screen's player.
compliance.connectedbooleanиәTrue when a player of the screen reported in the last 24 hours.true
authorised_sellersarray of objectиәSellers whose declaration is valid today, from the structure's own list and from the operator's list for all of its structures.
authorised_sellers[].seller_idstring (uuid)иәId of the seller organisation. The account to match with sellers.json is seller_account_id."5d3f3e0a-2a53-4b3c-8d0a-6f63b4d9a111"
authorised_sellers[].seller_account_idstringиәThe seller's account on its exchange, the value that appears in source.schain."pub-4711"
authorised_sellers[].valid_fromstring (date)иәFirst day of the authorisation."2026-10-01"
authorised_sellers[].valid_untilstring | null (date)иәLast day of the authorisation; null without an end."2026-12-31"
authorised_sellers[].scopestringиәstructure for a declaration on this screen, operator for one on all screens of the operator. structure, operator
ortbobjectиәFragments to copy into an OpenRTB 2.6 bid request.
ortb.doohobjectиәThe dooh object.
ortb.dooh.idstringиәStructure code."ALM-0001"
ortb.dooh.publisherobjectиәThe operator.
ortb.dooh.publisher.idstringиәId of the operator organisation."0b6f9d0e-6c1e-4a6a-9d55-0f8a6a6f3c11"
ortb.dooh.publisher.namestringиәLegal name of the operator."Almaty Outdoor LLP"
ortb.dooh.publisher.domainstringDomain of the operator; absent when not recorded."almaty-outdoor.example"
ortb.dooh.domainstringDomain of the operator; absent when not recorded."almaty-outdoor.example"
ortb.dooh.venuetypearray of stringOpenOOH 1.1 id of the venue type as a string; absent when the screen has none.["301"]
ortb.dooh.venuetypetaxintegerVenue taxonomy list value: 5 is OpenOOH 1.1. Absent when venuetype is.5
ortb.dooh.keywordsstringиәFormat code and outdoor or indoor, comma separated."cityboard,outdoor"
ortb.deviceobjectиәThe device object.
ortb.device.geoobjectиәThe location of the screen.
ortb.device.geo.latnumberиәLatitude in degrees.43.238
ortb.device.geo.lonnumberиәLongitude in degrees.76.945
ortb.device.geo.typeintegerиәSource of the location; 1 is a surveyed position.1
ortb.device.geo.countrystringиәISO 3166-1 alpha-3 country code."KAZ"
ortb.device.extobjectExtension with the OpenOOH 1.2 venue type id; absent when the screen has no venue type.
ortb.device.ext.doohobjectThe dooh extension.
ortb.device.ext.dooh.venuetypeidstringId in the OpenOOH 1.2 taxonomy as a string."304"
updated_atstring (date-time)иәWhen the screen or its sellers last changed."2026-10-14T09:30:00+05:00"

Мысал

{
  "code": "ALM-0001",
  "unos_id": "UNOS-4711",
  "status": "active",
  "operator": {
    "id": "0b6f9d0e-6c1e-4a6a-9d55-0f8a6a6f3c11",
    "name": "Almaty Outdoor LLP",
    "domain": "almaty-outdoor.example"
  },
  "venue_type": {
    "v12": 304,
    "v11": 301,
    "code": "outdoor.spectacular"
  },
  "lat": 43.238,
  "lng": 76.945,
  "district": "medeu",
  "format": "cityboard",
  "class": "B",
  "outdoor": true,
  "screen": {
    "w": 1920,
    "h": 1080
  },
  "slot_seconds": 10,
  "loop_seconds": 120,
  "compliance": {
    "connected": true
  },
  "authorised_sellers": [
    {
      "seller_id": "5d3f3e0a-2a53-4b3c-8d0a-6f63b4d9a111",
      "seller_account_id": "pub-4711",
      "valid_from": "2026-10-01",
      "valid_until": "2026-12-31",
      "scope": "structure"
    }
  ],
  "ortb": {
    "dooh": {
      "id": "ALM-0001",
      "publisher": {
        "id": "0b6f9d0e-6c1e-4a6a-9d55-0f8a6a6f3c11",
        "name": "Almaty Outdoor LLP",
        "domain": "almaty-outdoor.example"
      },
      "domain": "almaty-outdoor.example",
      "venuetype": [
        "301"
      ],
      "venuetypetax": 5,
      "keywords": "cityboard,outdoor"
    },
    "device": {
      "geo": {
        "lat": 43.238,
        "lon": 76.945,
        "type": 1,
        "country": "KAZ"
      },
      "ext": {
        "dooh": {
          "venuetypeid": "304"
        }
      }
    }
  },
  "updated_at": "2026-10-14T09:30:00+05:00"
}

304 The copy you hold is current.

Денесі жоқ.

Қателер

Қателер problem құжаты (application/problem+json) түрінде, тұрақты code өрісімен келеді.

МәртебесіМағынасы
401No valid session or API key (unauthenticated, session_expired, invalid_api_key).
403The role or the key's scope does not allow this (forbidden, key_scope_denied, key_route_denied).
404Nothing there, or not visible to the caller.
defaultAn error as a problem document.

Код мысалдары

curl

curl 'https://app.tanba-ooh.kz/api/v1/market/inventory/ALM-0001' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Python
import requests

response = requests.get(
    "https://app.tanba-ooh.kz/api/v1/market/inventory/ALM-0001",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
    },
)
print(response.status_code, response.text)
Go
package main

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

func main() {
	req, err := http.NewRequest("GET", "https://app.tanba-ooh.kz/api/v1/market/inventory/ALM-0001", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
	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))
}