Kyiv Digital 数据 API:乘车卡、二维码与罚单
Kyiv Digital(Київ Цифровий)是基辅市市政主信息计算中心(Municipal Main Information and Computing Center)的官方 Android 客户端——首都居民超级应用背后的城市 IT 机构。通过手机 OTP(以及可选的 BankID 或 Diia 核验)后,居民可保管 Kyiv Card 乘车钱包、生成乘车二维码票、开始按时停车、缴纳停车与交通罚单、跟踪 DTEK 停电窗口,并在警报状态翻转的瞬间收到空袭通知;同一主页还列出活动、请愿、CNAP 预约、公用账单与实时交通地图。上架下载量 100 万+,约 11.02 万条评价给出 4.5 分;开发者栏为 Municipal Main Information and Computing Center,地址利斯基夫斯卡 2/71,基辅 02163,支持邮箱 [email protected]。它是市政服务钱包而不是商业银行应用,旁边是作为国家身份轨道的 Diia。
乘车二维码票记下 code 对 expireAt。Kyiv Card 行钉住 balance、balanceWallet 与 qrsCount。罚单行带有 pendingPenalties 与 sum,外加可选 discount;空袭芯片标出 state 与 lastCause;停电窗口按已保存 addressId 列出 dtekScheduleList。停车区在 places 旁报出 priceInfo,公交站发布 name 与 lat、lon,公用账单对象给出 account 与 amountDue。登录居民名片是 firstName 加 bankidConnected,凭 accessToken 签发。
票务台对账乘车卡界面已经展示的同一 balance;路缘服务亭先按 priceInfo 给区域计价,再开始计时器已经在走的同一停车会话;大堂屏幕把实时警报旗与下一档 DTEK 窗口并排;房管终端把一笔公用费用记到已命名、已关联 BankID 的居民名下——openData Studio 把这份市政台账变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
发起手机 OTP
POST
/v1/kyivdigital/otposint为 Kyiv Digital 账户发起手机 OTP 登录。
认证方式: 无需登录。请求体为 phone 加设备 uuid。访客请求的 User-Agent 带 User/guest。
- phone
- uuid
- platform
- app_ver
- status
POST /v1/kyivdigital/otp HTTP/1.1 Content-Type: application/json X-Client-Version: 3.21.4 X-Client-Platform: 0 X-Device-UUID: 8f3a1c2e-9b44-4d21-a7e0-11c0b2d4e5f6 User-Agent: KD/3.21.4 Android/14 User/guest { "phone": "+380671234567", "device": { "uuid": "8f3a1c2e-9b44-4d21-a7e0-11c0b2d4e5f6", "platform": "android", "app_ver": "3.21.4" } }{ "status": "OTP_SENT", "phone": "+380671234567" }兑换 OTP 会话
POST
/v1/kyivdigital/sessionosint用短信验证码换成 accessToken 与登录 firstName 名片。
认证方式: 短信码之后无需额外登录。响应 accessToken 在之后请求中作为 Authorization Bearer 发送,并带 X-Client-Version 与 X-Device-UUID。
- phone
- code
- accessToken
- tokenType
- expiresIn
- id
- firstName
- lastName
- bankidConnected
POST /v1/kyivdigital/session HTTP/1.1 Content-Type: application/json X-Client-Version: 3.21.4 X-Device-UUID: 8f3a1c2e-9b44-4d21-a7e0-11c0b2d4e5f6 { "phone": "+380671234567", "code": "482911" }{ "token": { "accessToken": "eyJhbGciOiJIUzI1NiJ9...", "tokenType": "Bearer", "expiresIn": 2592000 }, "profile": { "id": 44102, "firstName": "Olena", "lastName": "Kovalenko", "bankidConnected": true } }登录居民资料
GET
/v1/kyivdigital/meosint返回登录居民名片:姓名、id 与 bankidConnected。
认证方式: POST /v1/kyivdigital/session 签发的 Bearer accessToken。
- id
- firstName
- middleName
- lastName
- bankidConnected
- phone
GET /v1/kyivdigital/me HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Accept: application/json X-Client-Version: 3.21.4{ "id": 44102, "firstName": "Olena", "middleName": "Ivanivna", "lastName": "Kovalenko", "bankidConnected": true, "phones": [{ "phone": "+380671234567" }] }乘车卡
GET
/v1/kyivdigital/cardsopendata列出已绑定乘车卡,含 balance、balanceWallet 与 qrsCount。
认证方式: POST /v1/kyivdigital/session 签发的 Bearer accessToken。
- id
- name
- code
- balance
- balanceWallet
- qrsCount
- monthlyTicketsBalance
GET /v1/kyivdigital/cards HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Accept: application/json{ "cards": [{ "id": 8821, "name": "Kyiv Card", "code": "3084123456789012", "balance": 4200, "balanceWallet": 1500, "qrsCount": 4, "monthlyTicketsBalance": 1 }] }乘车二维码票
GET
/v1/kyivdigital/qrsopendata返回带 code 与 expireAt 的乘车二维码票,供验票机扫描。
认证方式: Bearer accessToken。按乘车卡 id 限定。
- id
- code
- expireAt
- usedAt
- shared
- cardId
GET /v1/kyivdigital/qrs?cardId=8821 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Accept: application/json{ "tickets": [{ "id": 91002, "code": "KD-QR-91002", "expireAt": 1727902800, "usedAt": null, "shared": false, "cardId": 8821 }] }待缴罚单
GET
/v1/kyivdigital/finesopenfinance列出 pendingPenalties,含 sum、type 与可选 discount。
认证方式: POST /v1/kyivdigital/session 签发的 Bearer accessToken。
- pendingPenalties
- id
- name
- type
- sum
- discount
- receipt
GET /v1/kyivdigital/fines HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Accept: application/json{ "pendingPenalties": [{ "id": "P-20411", "name": "Parking overtime", "type": "PARKING", "sum": 34000, "discount": "50%", "receipt": "RCP-20411" }] }按时停车区
GET
/v1/kyivdigital/parkingopendata返回停车区,含 title、priceInfo 与 places。
认证方式: Bearer accessToken。访客地图视图仍发送 X-Device-UUID。
- listHash
- type
- title
- priceInfo
- places
GET /v1/kyivdigital/parking HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Accept: application/json{ "listHash": "h-9c21", "list": [{ "type": "ZONE", "title": "Khreshchatyk", "priceInfo": "40 UAH / hour", "places": [{ "id": 12, "title": "P-12" }] }] }开始停车会话
POST
/v1/kyivdigital/parking/startopendata开始付费停车会话,返回 sessionId 与 priceInfo。
认证方式: POST /v1/kyivdigital/session 签发的 Bearer accessToken。
- placeId
- carId
- sessionId
- status
- title
- priceInfo
POST /v1/kyivdigital/parking/start HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Content-Type: application/json { "placeId": 12, "carId": 55 }{ "sessionId": 7001, "status": "ACTIVE", "title": "Khreshchatyk", "priceInfo": "40 UAH / hour" }停电时刻表
GET
/v1/kyivdigital/outagesopendata按已保存 addressId 返回 DTEK 停电窗口 dtekScheduleList。
认证方式: Bearer accessToken。按地址限定。
- addressId
- dtekScheduleList
- pdfSchedule
- faqLink
GET /v1/kyivdigital/outages?addressId=331 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Accept: application/json{ "addressId": 331, "dtekScheduleList": [{ "day": "2026-10-03", "hours": "09:00-13:00" }], "pdfSchedule": "https://cdn.example/outage.pdf", "faqLink": "https://cdn.example/faq" }空袭警报状态
GET
/v1/kyivdigital/alertopendata返回实时空袭警报旗:state、lastCause 与 createdAt。
认证方式: 可作为访客调用。登录后请求仍发送 Bearer accessToken。
- state
- lastCause
- createdAt
GET /v1/kyivdigital/alert HTTP/1.1 Accept: application/json X-Client-Version: 3.21.4 User-Agent: KD/3.21.4 Android/14 User/guest{ "state": true, "lastCause": "AIR_RAID", "createdAt": 1727900100 }公交站点
GET
/v1/kyivdigital/stopsopendata列出城市公交站点,含 name 与坐标。
认证方式: 访客或 Bearer accessToken。
- id
- name
- lat
- lon
GET /v1/kyivdigital/stops HTTP/1.1 Accept: application/json X-Client-Version: 3.21.4{ "stops": [{ "id": 421, "name": "Khreshchatyk", "lat": 50.447, "lon": 30.522 }] }公用事业对象
GET
/v1/kyivdigital/billsopenfinance列出已绑定公用事业对象,含 account 与 amountDue。
认证方式: POST /v1/kyivdigital/session 签发的 Bearer accessToken。
- id
- name
- account
- amountDue
GET /v1/kyivdigital/bills HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9... Accept: application/json{ "objects": [{ "id": 77, "name": "Kyivvodokanal", "account": "12345678", "amountDue": "350.00" }] }
数据类别
- 身份
- 乘车卡
- 二维码票
- 罚单
- 停车
- 停电
- 空袭警报
- 公交站点
- 公用账单
- 登录会话
数据使用场景与案例
对照 Kyiv Card 台账的验票对账
票务台读取 GET /v1/kyivdigital/cards(balance、balanceWallet、qrsCount)并旁置 GET /v1/kyivdigital/qrs(code、expireAt),让扫描票在闸机前与实时卡片一致。
停车与罚单服务亭
路缘服务亭读取 GET /v1/kyivdigital/parking(priceInfo)再 POST /v1/kyivdigital/parking/start,并列出 GET /v1/kyivdigital/fines(pendingPenalties 的 sum),让超时与区域价格落在同一张收据上。
停电与警报横幅
楼宇大堂屏幕把 GET /v1/kyivdigital/outages(dtekScheduleList)与 GET /v1/kyivdigital/alert(state、lastCause)并在一起,让居民在实时空袭旗旁边看到下一档 DTEK 窗口。
公用账单台
房管终端在 GET /v1/kyivdigital/me(firstName、bankidConnected)之后读取 GET /v1/kyivdigital/bills(account、amountDue),让公用费用记在已命名、已关联 BankID 的居民名下。
常见问题
Kyiv Digital 如何认证 API 调用?
POST /v1/kyivdigital/otp 发起手机 OTP。POST /v1/kyivdigital/session 用短信码换成 accessToken。之后的请求发送 Authorization Bearer accessToken,以及 X-Client-Version 与 X-Device-UUID。
哪些端点暴露乘车卡与二维码票?
GET /v1/kyivdigital/cards 返回 balance、balanceWallet 与 qrsCount。GET /v1/kyivdigital/qrs 返回带 code 与 expireAt 的乘车票。GET /v1/kyivdigital/me 返回 firstName 与 bankidConnected。
返回哪些停车、罚单与停电字段?
GET /v1/kyivdigital/parking 列出 title 与 priceInfo。POST /v1/kyivdigital/parking/start 打开会话。GET /v1/kyivdigital/fines 返回 pendingPenalties 的 sum。GET /v1/kyivdigital/outages 返回 dtekScheduleList。GET /v1/kyivdigital/alert 返回 state 与 lastCause。
API 是否覆盖站点与公用账单?
覆盖。GET /v1/kyivdigital/stops 列出站点 name 与坐标。GET /v1/kyivdigital/bills 返回公用事业 account 与 amountDue。
与 Kyiv Digital 相似的应用
- Enel São Paulo — Enel São Paulo 是配电公司的账单与停电自助客户端;Kyiv Digital 在公用账单之上还加了乘车卡、乘车二维码与空袭警报。
- Azercell — Azercell 是运营商自助钱包;Kyiv Digital 是基辅市政超级应用,而不是移动网络柜。
- UPS — UPS 追踪包裹;Kyiv Digital 则以城市乘车卡、停车会话与 DTEK 停电窗口为中心。
- Почта России — Почта России 是俄罗斯邮政追踪客户端;Kyiv Digital 是基辅居民服务钱包,而不是国家邮政应用。
- Налоги ФЛ — Налоги ФЛ 是俄罗斯联邦税务局自助客户端;Kyiv Digital 是覆盖车费、罚单与停电的城市超级应用,而不是税务柜。
- Diia — Diia(Дія)是乌克兰国家数字服务应用,也是 Kyiv Digital 可关联的身份轨道;Kyiv Digital 本身是城市乘车、停车与警报钱包。
- Asiacell — Asiacell 是伊拉克运营商自助客户端;Kyiv Digital 是市政而非电信,带 Kyiv Card 余额与 DTEK 时刻表。
相关主题
- kyiv digital api
- 基辅 数字 应用 api
- kyiv card api
- pendingPenalties
- balanceWallet
- dtekScheduleList
- 空袭警报 api
- 基辅 停车 api
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业