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

One daily audit anchor

GET /v1/audit-anchors/{day}

https://verify.tanba-ooh.kz/v1/audit-anchors/{day}

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

A CMS signature (PKCS#7 with the body attached) by default; ?format=json returns the body and the signature as JSON. The day is the Asia/Almaty calendar day, YYYY-MM-DD. Verify offline with tanba-verify anchor FILE.p7s --ca root.pem.

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

Қажет емес. Шақыру ашық.

Параметрлер

АтауыОрныТүріМіндеттіСипаттамаМысал
dayжолstringиәThe Asia/Almaty day, YYYY-MM-DD.2026-10-05
formatсұрауstringжоқSet to json to get JSON instead of the page or the signed file. jsonjson

Жауаптар

200 The anchor.

application/pkcs7-signature

application/json

АтауыТүріМіндеттіСипаттамаМысал
daystring (date)иәThe Asia/Almaty day of the anchor."2026-10-05"
signed_atstringиәWhen the anchor was signed."2026-10-06T00:05:12+05:00"
bodyobjectиәThe anchor body: the head of the audit chain of that day.
signaturestringиәBase64 of the signature over the body."MIIBpQYJKoZIhvcNAQcCoIIBljCCAZICAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwE="

Мысал

{
  "day": "2026-10-05",
  "signed_at": "2026-10-06T00:05:12+05:00",
  "body": {},
  "signature": "MIIBpQYJKoZIhvcNAQcCoIIBljCCAZICAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwE="
}

Қателер

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

МәртебесіМағынасы
404Nothing there, or not visible to the caller.
429Rate limit; see Retry-After.

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

curl

curl 'https://verify.tanba-ooh.kz/v1/audit-anchors/2026-10-05'
Python
import requests

response = requests.get(
    "https://verify.tanba-ooh.kz/v1/audit-anchors/2026-10-05",
)
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/audit-anchors/2026-10-05", 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))
}