curl -X POST "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/apps/<app_id>/install" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}13 uç · /api/shop/v1/app-store
İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 13 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.
curl -X POST "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/apps/<app_id>/install" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}app_idçıktı (`result_ref`) ürün-medya galerisine bağlanır (storage-key = stub-ref; canlı obje-storage TF21 aynı sözleşme); discard → çıktı yayınlanmadan kapanır. Geri-al: bağlanan medya mevcut media-delete ucuyla kaldırılır (media_id yanıtta). done-olmayan job → 409.
curl -X POST "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/apps/<app_id>/reviews" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X POST "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/apps/<app_id>/uninstall" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}plan_idcurl -X GET "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/billing-plans/<plan_id>/usage" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}plan_idCap aşılırsa 409 + remaining_minor. Aynı idempotency_key tekrar → replay (çift-charge yok).
curl -X POST "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/billing-plans/<plan_id>/usage" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}koşar). Saat DAİMA gerçek-zaman — client `now` override YOK. Aksi hâlde STORE_MANAGE'li personel geleceğe `now` vererek recurring defter-charge'ı erkene çekebilir / cycle-cycle ileri sararak defter-kirliliği üretebilirdi (idempotency çift-charge'ı engeller ama zaman-yolculuğunu değil). Yalnız catch-up (BLE-8922 now-clamp sertleştirme).
curl -X POST "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/billing-plans/process-due" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X GET "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/catalog" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}curl -X PUT "https://{slug}.shop.blesyum.app/api/shop/v1/admin/app-store/settings" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}