Lewati ke konten

API lisensi kustom

Launch mendukung Licentivo dan layanan lisensi kustom. Pilih satu penyedia untuk seluruh toko di Pengaturan sistem → Sistem lisensi.

Produk berlisensi kustom menggunakan layanan lisensi dan SDK milik pedagang. Launch mengelola penjualan, konfirmasi pembayaran, sinkronisasi status pembelian, dan kueri penyerahan.

  1. Konfigurasikan koneksi, kunci tanda tangan, serta pemetaan produk dan paket secara terpisah untuk sandbox dan live. Periksa koneksi sebelum menerbitkan paket.
  2. Koneksi yang memiliki pesanan tidak dapat langsung diganti. Migrasikan pesanan sebelum mengganti penyedia, lalu terbitkan ulang paket.
  3. Uji pembelian, perpanjangan, peningkatan, pengembalian dana, dan pemulihan kegagalan di lingkungan pengujian sebelum menerbitkan konfigurasi produksi.

Antarmuka layanan lisensi pedagang

Keempat antarmuka ini diterapkan oleh layanan lisensi pedagang dan dipanggil oleh server Launch. Jangan kirim permintaan ini ke www.licentivo.com.

APITujuan
GET /launch/v1/capabilitiesNyatakan protokol, koneksi, lingkungan, serta jenis pembelian dan penyerahan yang didukung.
POST /launch/v1/eventsTerima snapshot pembelian lengkap dan kembalikan tanda terima setelah peristiwa disimpan secara persisten.
GET /launch/v1/events/{event_id}Kueri tanda terima peristiwa asli. Hanya applied yang mengonfirmasi bahwa perubahan lisensi selesai.
GET /launch/v1/entitlements/{entitlement_ref}/deliveryBaca penyerahan yang sudah ada untuk versi pembelian saat ini tanpa menerbitkan lisensi lagi.

Snapshot berisi versi pembelian, status saat ini, dan tanggal berlaku absolut; valid_until=null berarti pembelian permanen. Pembelian dasar mungkin tetap ada setelah pengembalian dana, sehingga penerima harus menghitung ulang hak akses dari snapshot lengkap.

POST /launch/v1/events · JSON
{
  "schema": "launch-external-licensing-v1",
  "event_id": "7bf84b91-2749-4b01-a6a7-bd527c488ee8",
  "connection_ref": "merchant-01-sandbox",
  "environment": "sandbox",
  "type": "entitlement.snapshot",
  "change_reason": "purchase",
  "account_ref": "customer_opaque_001",
  "entitlement_ref": "purchase_opaque_001",
  "launch_product_id": "c6dd463e-50f7-4b76-8239-0a8ec6fc304b",
  "launch_plan_version_id": "5459a073-9362-4b46-949d-9b0c5d84421a",
  "product_ref": "desktop-editor",
  "plan_ref": "professional-yearly-v1",
  "version": 1,
  "desired_state": "active",
  "valid_from": "2026-10-26T00:00:00Z",
  "valid_until": "2027-10-26T00:00:00Z"
}

Tanda tangan dan percobaan ulang

Gunakan kunci HMAC-SHA256 terpisah dengan sedikitnya 32 byte acak untuk setiap koneksi. Permintaan berisi ID kunci, waktu Unix dalam detik, nonce acak, dan tanda tangan. Verifikasi tanda tangan, jendela waktu 300 detik, serta perlindungan pemakaian ulang nonce.

HMAC-SHA256 · UTF-8 canonical request
v1
<key_id>
<timestamp>
<nonce>
<UPPERCASE HTTP METHOD>
<encoded full path and raw query>
<lowercase SHA-256 of the exact request body>

Jangan tambahkan baris baru di akhir masukan tanda tangan. X-Launch-Signature berisi v1= diikuti tanda tangan base64url tanpa padding. Isi GET kosong.

Percobaan ulang mempertahankan ID peristiwa dan isi persisnya, dengan nonce baru setiap kali. Setelah timeout, kueri peristiwa asli. Versi lama tidak boleh menimpa versi baru; 202 tidak mengonfirmasi bahwa lisensi sudah diterapkan.

Antarmuka administrasi dan pelanggan Launch

Antarmuka ini berada di situs Launch milik pedagang. Administrator memakai sesi web dan X-CSRF-Token. Pelanggan hanya dapat membaca pembelian mereka sendiri yang masih berlaku.

PUT /api/v1/admin/licensing/provider{"provider":"custom_http"}
GET/POST /api/v1/admin/licensing/connectionsGET/POST
PUT /api/v1/admin/licensing/connections/{id}POST /api/v1/admin/licensing/connections/{id}/check
PUT /api/v1/admin/products/{id}/licensingenvironment + connection_id + mappings
GET /api/v1/me/products/{id}/delivery?environment=sandboxpending / ready / unavailable

Penyerahan dapat berupa kunci lisensi, tautan aktivasi HTTPS, atau petunjuk teks biasa. Sinkronisasi yang berhasil tidak menggantikan pemeriksaan otorisasi saat klien dijalankan.

Protokol lengkap dan contoh · Unduh OpenAPI · Contoh penerima Python

OpenAPI administrasi dan pelanggan Launch