Хувилбар ба нийцэл¶
API хэрхэн өөрчлөгдөх, таны интеграци юуг ЗААВАЛ тэсвэрлэх, юу хэзээ ч гэнэт өөрчлөгдөхгүй.
1. Дүрэм¶
- Major нь замд:
/api/v1/miniapp, bridge-дbridge_version(одоо1). Эвдэх өөрчлөлт = шинэ major (/v2) — хуучин нь зэрэгцэн ажилласаар. - Minor зөвхөн нэмнэ: шинэ талбар, шинэ event type, шинэ төлөв, шинэ алдааны
code, шинэ bridge method, шинэ route. Байгаа талбарын нэр, төрөл, утга өөрчлөгдөхгүй, хасагдахгүй. - Серверийн хувилбар нь модулийн хувилбар (одоо
modules/miniapp1.9.0) — App Store-ын «Mini апп-ууд»-ын түүхэнд (chronicle) mn/en тэмдэглэлтэй.
2. Таны интеграци ЗААВАЛ¶
- Мэдэхгүй талбарыг үл тоох — JSON-оо strict schema-аар (
additionalProperties: false) бүү задал. - Мэдэхгүй event type-д 2xx хариулна (хүлээн авч, юу ч хийхгүй) —
5xxбол retry-ийн хуваарь дуустал дахин ирнэ. - Мэдэхгүй
status/failure_code-ийг «дууссан биш, тодорхойгүй» гэж үзээдGET-ээр дахин уншина. - Мэдэхгүй алдааны
code— HTTP статусаар нь шийднэ (4xxдавтахгүй,5xxдавтана). - Объектын id-г (
pi_…,evt_…) opaque мөр гэж үзнэ — урт, бүтцэд нь бүү найд.
3. OMAS-тай нийцэл¶
Gerege mini app нь OMAS 1.0 (openpay-ийн mini app стандарт)-ын хэрэгжилт — OMAS-д бичсэн backend зөвхөн утгаа сольж ажиллана:
- manifest
openpay-miniapp.jsonнэрээр ч уншигдана; - webhook
OpenPay-Signature,OpenPay-Event-Idтолгойтой давхар ирнэ; - token endpoint
grant_type=launch_codeба JSON body-г ч хүлээн авна; appintent-ийн хугацаа дуусахадpayment_intent.canceled+status: "expired"(шинэpayment_intent.expired-ийг зөвхөн claimless intent авна).
4. Хуучрах (deprecation)¶
Хасах зүйлийг дор хаяж 6 сарын өмнө зарлаж, хариунд Deprecation ба Sunset толгой (RFC 8594) нэмнэ — «удахгүй»
(одоогоор хуучирсан зүйл байхгүй). Одоогийн жишээ: анхдагч mapp_… / gma_cs_… хос (бүх scope) нь scope-той
gk_… түлхүүр гарсны дараа ч ажилласаар байна; зогсоох огноог тусад нь зарлана.
5. Өөрчлөлтийн түүх¶
Хувилбар бүрийн өөрчлөлт (mn/en) — Өөрчлөлтийн түүх (App Store-ын «Mini апп-ууд»-ын түүхтэй ижил эхээс үүсгэгддэг).