Daftar Produk
Mengambil daftar produk aktif beserta kode, harga, dan aturan input tujuan.
POST
https://api.zevaldigital.com/v1/productsMengambil daftar produk yang bisa Anda beli lewat API. Harga yang tampil adalah harga untuk akun Anda (sudah termasuk potongan level membership). Simpan code produk, karena dipakai saat membuat transaksi.
Yang perlu dikirim
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
secret_id | string | Ya | Secret ID Anda. |
signature | string | Ya | Hasil md5(secret_id:secret_key). Lihat halaman Autentikasi. |
category | string | Tidak | Hanya tampilkan satu kategori, mis. pulsa, paket-data, e-wallet. Kosongkan untuk semua kategori. |
brand | string | Tidak | Hanya satu brand (merek/operator). Isi dengan kode dari Kategori & Brand, mis. ewallet-dana. |
group_id | integer | Tidak | Hanya satu grup/varian. Isi dengan id dari endpoint grup. |
code | string | Tidak | Ambil satu produk berdasarkan kodenya (harus persis). Mis. OKD10 hanya menampilkan OKD10, bukan OKD100. |
Cara memakai daftar produk
- Ambil daftar ini sekali saja, lalu simpan di server Anda. Perbarui setiap 5–30 menit.
- Jangan memanggilnya setiap ada pembelian atau setiap pelanggan membuka halaman.
- Batas: 6 panggilan per menit per akun. Lebih dari itu ditolak (error 429).
- Perubahan harga atau status produk di kami bisa baru terlihat sampai 1 menit kemudian. Saat membeli, harga yang dipakai selalu yang terbaru, dan produk yang sedang gangguan langsung ditolak.
Contoh kode
Memakai fungsi zeval() dari halaman Autentikasi.
PHP
<?php
// Semua produk milik brand DANA
$result = zeval('/v1/products', [
'brand' => 'ewallet-dana',
]);
foreach ($result['data'] as $product) {
echo $product['code'] . ' - ' . $product['name'] . ' - Rp ' . $product['price'] . "\n";
}Node.js
// Semua produk milik brand DANA
const result = await zeval('/v1/products', {
brand: 'ewallet-dana',
});
for (const product of result.data) {
console.log(product.code, product.name, product.price);
}Python
# Semua produk milik brand DANA
result = zeval("/v1/products", {"brand": "ewallet-dana"})
for product in result["data"]:
print(product["code"], product["name"], product["price"])Contoh respons
Berhasil
HTTP 200
{
"code": 200,
"status": "success",
"message": "Berhasil.",
"data": [
{
"code": "OKD1",
"name": "DANA 1.000",
"category": "E-Wallet",
"category_code": "e-wallet",
"brand": "DANA",
"brand_code": "ewallet-dana",
"group": "Top Up",
"group_id": 14,
"type": "prepaid",
"price": 1400,
"available": true
}
]
}Isi data (setiap produk)
| Parameter | Tipe | Keterangan |
|---|---|---|
code | string | Kode produk. Dipakai sebagai product_code saat membuat transaksi. |
name | string | Nama produk. |
category | string | Nama kategori, mis. E-Wallet. |
category_code | string | Kode kategori, bisa dipakai untuk filter category. |
brand | string | Merek atau operator, mis. DANA, Telkomsel. |
brand_code | string | Kode brand, bisa dipakai untuk filter brand. |
group | string | Varian produk, mis. Reguler, Transfer, Diamond. |
group_id | integer | Id grup, bisa dipakai untuk filter group_id. |
type | string | prepaid = harga tetap, dibeli lewat Buat Transaksi. bill = tagihan pascabayar (PLN, PDAM, BPJS, dst.): tanpa harga tetap, dicek lewat Cek Tagihan lalu dibayar lewat Bayar Tagihan. |
price | integer | null | Harga untuk akun Anda dalam rupiah. null untuk produk bertipe bill (totalnya baru diketahui saat cek tagihan). |
available | boolean | true = bisa dibeli, false = sedang gangguan (tidak bisa dibeli). |