Products dan prices
Membuat produk, tipe harga, interval berulang, dan benefit.
Produk adalah barang yang kamu jual. Satu produk punya satu atau lebih price. Harga sekali bayar dan langganan memakai objek yang sama.
Membuat produk
POST /v1/products
curl -X POST https://api.nyaur.id/v1/products \
-H "Authorization: Bearer $NYAUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Kelas Copywriting",
"description": "Akses seumur hidup",
"status": "active",
"prices": [
{ "type": "fixed", "amount": 250000, "recurring": "one_time" }
]
}'| Field | Keterangan |
|---|---|
name | 1 sampai 120 karakter. Wajib. |
description | Maksimal 2000 karakter. |
imageUrl | URL gambar. |
status | draft (default), active, atau archived. |
prices | Maksimal 10 harga. |
Produk archived tidak bisa dibuat checkout. DELETE /v1/products/{id} mengarsipkan produk, tidak menghapusnya.
Endpoint lain: GET /v1/products (dengan limit 1 sampai 100 dan offset), GET /v1/products/{id}, PATCH /v1/products/{id}. Update hanya mengubah name, description, imageUrl, dan status.
Tipe harga
type | Aturan |
|---|---|
fixed | amount wajib lebih dari 0. |
pwyw | Bayar sesukanya. minAmount wajib. Checkout memakai minAmount sebagai subtotal. |
free | amount harus 0. |
Tipe metered dan seat dicadangkan dan belum bisa dijual lewat API.
Semua amount adalah rupiah bulat, maksimal 2.000.000.000. Harga belum termasuk PPN.
Interval berulang
| Field | Nilai |
|---|---|
recurring | one_time (default), day, week, month, year |
intervalCount | 1 sampai 1000. Contoh month dengan 3 berarti tiap 3 bulan. |
isDefault | Harga default saat checkout tidak menyebut priceId. |
active | Harga nonaktif tidak bisa dipakai checkout. |
Harga berulang membuat subscription setelah pembayaran pertama.
Benefit
Benefit diberikan otomatis saat order lunas dan memicu event benefit.granted. Benefit dikelola dari dashboard pada halaman produk:
license: license key otomatis. Opsiprefix(maksimal 12 karakter) danactivationLimit(1 sampai 1000).file: unduhan dari file yang kamu unggah.custom: memanggilwebhookUrlmilikmu.