Docs
ศูนย์นักพัฒนาแดชบอร์ดesimoa.com
    • บทนำ
    • เริ่มต้นใช้งานด่วน
    • การยืนยันตัวตน
    • Overview
    • แสดงรายการ eSIM
    • รับ eSIM
    • ประเทศ
    • OpenAPI
    • การติดตามและค่าคอมมิชชัน
    • ขีดจำกัดอัตราคำขอและข้อผิดพลาด
    • Overview
    • Claude
    • ChatGPT
    • Gemini
    • ไคลเอนต์ MCP อื่นๆ
    • Overview
    • การยืนยันตัวตน
    • สินค้า
    • รายละเอียดสินค้า
    • ประเทศ
    • Errors & rate limits
  1. Docs
  2. API สำหรับพาร์ตเนอร์ (B2B)
  3. สินค้า

API สำหรับพาร์ตเนอร์ (B2B)

สินค้า

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

On this page
  • Request
  • Query parameters
  • Sorting
  • การแบ่งหน้า
  • การตอบกลับ
  • 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#

พารามิเตอร์ทั้งหมดไม่บังคับ ค่าที่อยู่นอกช่วงจะได้รับ 400 ส่วนพารามิเตอร์ที่ไม่รู้จักจะถูกละเว้น

พารามิเตอร์ประเภทคำอธิบาย
countrystringรหัสประเทศ ISO 3166-1 alpha-2 (เช่น JP) รูปแบบอื่นจะได้ผลลัพธ์ 400
qstringคำค้นหา (สูงสุด 60 ตัวอักษร)
isUnlimitedbooleantrue = เฉพาะไม่จำกัด, false = ไม่รวมแบบไม่จำกัด — true | false (รับ 1 | 0 ได้ด้วย)
minDays · maxDaysintegerช่วงระยะเวลาใช้งานเป็นวัน 1–365
minDataGBnumberข้อมูลขั้นต่ำเป็น GB, 0–1000
hasLocalNumberbooleanมีหมายเลขโทรศัพท์ท้องถิ่น — true | false (รับ 1 | 0 ได้ด้วย)
isMultiCountrybooleanสินค้าหลายประเทศ — true | false (รับ 1 | 0 ได้ด้วย)
sortBystringrecommended (ค่าเริ่มต้น) | price | validity | data
sortOrderstringasc | desc — หากไม่ระบุจะใช้ค่าเริ่มต้นตาม sortBy
pageintegerเริ่มที่ 1 ค่าเริ่มต้น 1
limitinteger1–50 ค่าเริ่มต้น 20

Sorting#

sortBysortOrder เริ่มต้นความหมาย
recommendeddescอันดับแนะนำของ esimoa (รวมยอดขาย) — ลำดับเดียวกับเว็บไซต์
priceascราคาต่ำสุดก่อน
validityascระยะเวลาใช้งานสั้นที่สุดก่อน
datadescข้อมูลมากที่สุดก่อน

การแบ่งหน้า#

page เริ่มที่ 1 การตอบกลับจะส่ง page และ limit กลับมาพร้อม total ดังนั้นหน้าสุดท้ายคือ ceil(total / limit)

การตอบกลับ#

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#

ฟิลด์ประเภทคำอธิบาย
idstring'partner_<packageCode>' — id สินค้าเดียวกับที่ใช้บน esimoa.com
namestringชื่อที่แสดงในรูปแบบ "<area> <data> <N>일" (คำต่อท้ายวันภาษาเกาหลี) สำหรับภาษาอื่น ให้สร้างป้ายกำกับเองจากฟิลด์ที่มีโครงสร้าง
countrystringป้ายพื้นที่ให้บริการ (สินค้าหลายประเทศจะแสดงรายชื่อประเทศ)
countryCodestring?รหัสประเทศ ISO — ละไว้หากไม่มีข้อมูล
coverageCountriesstring[]รหัสประเทศที่สินค้าใช้งานได้
regionstring?ภูมิภาค — ละไว้หากไม่มีข้อมูล
isMultiCountrybooleanสินค้าหลายประเทศ
dataAmountstringป้ายกำกับแคตตาล็อก ('10GB', 'Unlimited', '1GB/Day + Unlimited' …)
dataAmountGBnumber?ข้อมูลเป็น GB — ไม่ระบุสำหรับสินค้าไม่จำกัดทั้งหมด
isUnlimitedbooleanแพ็กเกจไม่จำกัด
validityDaysintegerระยะเวลาใช้งานเป็นวัน
priceKRW / currencyinteger / 'KRW'ราคาขายปลีกของ esimoa เป็น KRW — ไม่มีราคาพาร์ตเนอร์ใน v1
networkTypestringเครือข่าย (เช่น 5G) — '' หากไม่ทราบ
localNetworksstring[]ผู้ให้บริการเครือข่ายท้องถิ่น
isLocalNetworkbooleanใช้เครือข่ายท้องถิ่นแทนการโรมมิ่ง
fupPolicystring | nullข้อความนโยบายการใช้งานอย่างเป็นธรรม (FUP)
hotspotEnabledboolean | nullอนุญาตให้แชร์เน็ต — null = ไม่ทราบ
hasLocalNumberbooleanมีหมายเลขโทรศัพท์ท้องถิ่น
voiceMinutesinteger | nullนาทีโทร — -1 = ไม่จำกัด, null = ไม่มีให้
smsCountinteger | nullจำนวน SMS — null = ไม่มีข้อมูล
supportTopUpboolean | nullเติมข้อมูลได้ — null = ไม่ทราบ
supportsUsimbooleanมีจำหน่ายแบบ USIM การ์ดด้วย
activationTypestringประเภทการเปิดใช้งาน (เช่น 'instant')

หมายเหตุ

การตอบกลับจะไม่มีฟิลด์ผู้จัดหาและต้นทุนเด็ดขาด ฟิลด์จะมีแต่เพิ่มขึ้น โดยชื่อและความหมายไม่เปลี่ยน — โปรดแยกวิเคราะห์โดยละเว้นฟิลด์ที่ไม่รู้จัก

อัปเดตล่าสุด: 1 ตุลาคม 2569

Previousการยืนยันตัวตนถัดไปรายละเอียดสินค้า

On this page

  • Request
  • Query parameters
  • Sorting
  • การแบ่งหน้า
  • การตอบกลับ
  • The PartnerProduct object

APIs and MCP for bringing esimoa eSIMs to your product

Resources

  • Docs
  • API reference
  • API สำหรับพาร์ตเนอร์ (B2B)
  • MCP server
  • OpenAPI spec

esimoa

  • หน้าหลัก
  • eSIM แพ็กเกจ
  • ศูนย์นักพัฒนา
  • แดชบอร์ด
  • พอร์ทัลพาร์ตเนอร์

Company

  • เกี่ยวกับเรา
  • พาร์ตเนอร์
  • เงื่อนไขการใช้บริการ
  • นโยบายความเป็นส่วนตัว
  • นโยบายจัดส่งและคืนเงิน

ช่วยเหลือ

  • support@esimoa.com
  • แชตช่วยเหลือ

NBase Korea Co., Ltd.

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

สำนักงานใหญ่ในสหรัฐฯ: NBASE CORP. · Corporate Park, Irvine, CA 92606, USA

© 2026 esimoa สงวนลิขสิทธิ์