Docs
Pusat PengembangDasboresimoa.com
    • Pengantar
    • Mulai cepat
    • Autentikasi
    • Overview
    • Daftar eSIM
    • Dapatkan eSIM
    • Negara
    • OpenAPI
    • Pelacakan & komisi
    • Batas laju & kesalahan
    • Overview
    • Claude
    • ChatGPT
    • Gemini
    • Klien MCP lainnya
    • Overview
    • Autentikasi
    • Produk
    • Detail produk
    • Negara
    • Errors & rate limits
  1. Docs
  2. API mitra (B2B)
  3. Produk

API mitra (B2B)

Produk

GET /b2b/v1/products — search esimoa products by country, keyword, duration, data and more.

On this page
  • Request
  • Query parameters
  • Sorting
  • Paginasi
  • Respons
  • The PartnerProduct object

Request#

GET/b2b/v1/products
curl "https://api.esimoa.com/b2b/v1/products?country=JP&isUnlimited=true&minDays=5&sortBy=price&limit=20" \
  -H "X-API-Key: $ESIMOA_PARTNER_KEY"
const params = new URLSearchParams({
  country: 'JP',
  isUnlimited: 'true',
  minDays: '5',
  sortBy: 'price',
  limit: '20',
  page: '1',
});
const res = await fetch(`https://api.esimoa.com/b2b/v1/products?${params}`, {
  headers: { 'X-API-Key': process.env.ESIMOA_PARTNER_KEY },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.code}: ${body.message}`);

const { data: products, total, page, limit } = body;
import os
import requests

res = requests.get(
    "https://api.esimoa.com/b2b/v1/products",
    params={"country": "JP", "isUnlimited": "true", "minDays": 5, "sortBy": "price", "limit": 20, "page": 1},
    headers={"X-API-Key": os.environ["ESIMOA_PARTNER_KEY"]},
    timeout=10,
)
body = res.json()
if not res.ok:
    raise RuntimeError(f"{body['code']}: {body['message']}")

products = body["data"]

Query parameters#

Semua parameter bersifat opsional. Nilai di luar rentang mengembalikan 400; parameter yang tidak dikenal diabaikan.

ParameterJenisDeskripsi
countrystringKode negara ISO 3166-1 alpha-2 (mis. JP). Format lain menghasilkan 400
qstringKata kunci (maks. 60 karakter)
isUnlimitedbooleantrue = hanya tanpa batas, false = kecualikan tanpa batas — true | false (1 | 0 juga diterima)
minDays · maxDaysintegerRentang masa berlaku dalam hari, 1–365
minDataGBnumberData minimum dalam GB, 0–1000
hasLocalNumberbooleanTermasuk nomor telepon lokal — true | false (1 | 0 juga diterima)
isMultiCountrybooleanProduk multinegara — true | false (1 | 0 juga diterima)
sortBystringrecommended (default) | price | validity | data
sortOrderstringasc | desc — jika dikosongkan, memakai default per sortBy
pageintegerMulai dari 1, default 1
limitinteger1–50, default 20

Sorting#

sortBysortOrder defaultArti
recommendeddescPeringkat rekomendasi esimoa (termasuk penjualan) — urutan sama dengan situs web
priceascHarga terendah dulu
validityascMasa berlaku terpendek dulu
datadescData terbanyak dulu

Paginasi#

page dimulai dari 1. Respons mengembalikan page dan limit beserta total, sehingga halaman terakhir adalah ceil(total / limit).

Respons#

200 OKjson
{
  "success": true,
  "data": [
    {
      "id": "partner_9VKPYQ3JRYVK5797",
      "name": "Japan Unlimited 5일",
      "country": "Japan",
      "countryCode": "JP",
      "coverageCountries": ["JP"],
      "isMultiCountry": false,
      "dataAmount": "Unlimited",
      "isUnlimited": true,
      "validityDays": 5,
      "priceKRW": 12000,
      "currency": "KRW",
      "networkType": "5G",
      "localNetworks": ["SoftBank"],
      "isLocalNetwork": true,
      "fupPolicy": null,
      "hotspotEnabled": true,
      "hasLocalNumber": false,
      "voiceMinutes": null,
      "smsCount": null,
      "supportTopUp": false,
      "supportsUsim": false,
      "activationType": "instant"
    }
  ],
  "total": 128,
  "page": 1,
  "limit": 20
}

The PartnerProduct object#

FieldJenisDeskripsi
idstring'partner_<packageCode>' — id produk yang sama dengan yang digunakan di esimoa.com
namestringNama tampilan dalam format "<area> <data> <N>일" (akhiran hari bahasa Korea). Untuk bahasa lain, buat label sendiri dari kolom terstruktur
countrystringLabel area cakupan (produk multinegara mencantumkan negaranya)
countryCodestring?Kode negara ISO — dihilangkan jika tidak tersedia
coverageCountriesstring[]Kode negara tempat produk berfungsi
regionstring?Wilayah — dihilangkan jika tidak tersedia
isMultiCountrybooleanProduk multinegara
dataAmountstringLabel katalog ('10GB', 'Unlimited', '1GB/Day + Unlimited' …)
dataAmountGBnumber?Data dalam GB — dihilangkan untuk produk tanpa batas penuh
isUnlimitedbooleanPaket tanpa batas
validityDaysintegerMasa berlaku dalam hari
priceKRW / currencyinteger / 'KRW'Harga eceran esimoa dalam KRW — tidak ada harga mitra di v1
networkTypestringJaringan (mis. 5G) — '' jika tidak diketahui
localNetworksstring[]Operator lokal
isLocalNetworkbooleanMenggunakan jaringan lokal, bukan roaming
fupPolicystring | nullTeks kebijakan penggunaan wajar (FUP)
hotspotEnabledboolean | nullTethering diizinkan — null = tidak diketahui
hasLocalNumberbooleanTermasuk nomor telepon lokal
voiceMinutesinteger | nullMenit suara — -1 = tanpa batas, null = tidak tersedia
smsCountinteger | nullJumlah SMS — null = tidak tersedia
supportTopUpboolean | nullDapat diisi ulang — null = tidak diketahui
supportsUsimbooleanJuga dijual sebagai USIM fisik
activationTypestringJenis aktivasi (mis. 'instant')

Catatan

Kolom pemasok dan biaya tidak pernah disertakan dalam respons. Kolom hanya akan ditambahkan dan nama serta artinya tidak berubah — urai respons dengan mengabaikan kolom yang tidak dikenal.

Terakhir diperbarui: 1 Oktober 2026

PreviousAutentikasiBerikutnyaDetail produk

On this page

  • Request
  • Query parameters
  • Sorting
  • Paginasi
  • Respons
  • The PartnerProduct object

APIs and MCP for bringing esimoa eSIMs to your product

Resources

  • Docs
  • API reference
  • API mitra (B2B)
  • MCP server
  • OpenAPI spec

esimoa

  • Beranda
  • eSIM paket
  • Pusat Pengembang
  • Dasbor
  • Portal mitra

Company

  • Tentang kami
  • Kemitraan
  • Ketentuan layanan
  • Kebijakan privasi
  • Kebijakan pengiriman dan pengembalian dana

Bantuan

  • support@esimoa.com
  • Chat bantuan

NBase Korea Co., Ltd.

902, Bldg A, 767 Sinsu-ro, Suji-gu, Yongin-si, Gyeonggi-do (Dongcheon-dong, Bundang Suji U-TOWER)

Kantor pusat AS: NBASE CORP. · Corporate Park, Irvine, CA 92606, USA

© 2026 esimoa. Seluruh hak dilindungi.