API สาธารณะ (/v1)
แสดงรายการ eSIM
GET /v1/esims — search eSIMs by country, duration and data, and get purchase URLs that carry your partner code.
Request#
GET
/v1/esimscurl "https://api.esimoa.com/v1/esims?country=JP&days=7&sort=price&limit=3&lang=en" \
-H "X-API-Key: esk_live_your_key_here"const res = await fetch(
'https://api.esimoa.com/v1/esims?country=JP&days=7&sort=price&limit=3&lang=en',
{ headers: { 'X-API-Key': process.env.ESIMOA_API_KEY } },
);
if (!res.ok) throw new Error(`esimoa API ${res.status}`);
const { items, total } = await res.json();
for (const esim of items) {
console.log(esim.title, esim.priceKrw, esim.url);
}import os
import requests
res = requests.get(
"https://api.esimoa.com/v1/esims",
params={"country": "JP", "days": 7, "sort": "price", "limit": 3, "lang": "en"},
headers={"X-API-Key": os.environ["ESIMOA_API_KEY"]},
timeout=10,
)
res.raise_for_status()
for esim in res.json()["items"]:
print(esim["title"], esim["priceKrw"], esim["url"])Query parameters#
พารามิเตอร์ทั้งหมดไม่บังคับ
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
country | string | รหัสประเทศ (ISO 3166-1 alpha-2 เช่น JP) |
days | integer | ระยะเวลาใช้งานเป็นจำนวนวันที่ตรงกัน |
minDays | integer | ระยะเวลาใช้งานขั้นต่ำ (วัน) |
maxDays | integer | ระยะเวลาใช้งานสูงสุด (วัน) |
dataGb | number | ข้อมูลขั้นต่ำ (GB) |
unlimited | boolean | true = เฉพาะแพ็กเกจไม่จำกัด |
countries | string | ทริปหลายประเทศ — รหัสประเทศ 2–8 รหัสคั่นด้วยจุลภาค (เช่น FR,IT,ES) เฉพาะแพ็กเกจที่ใช้ได้ทุกประเทศ |
maxDataGb | number | ข้อมูลสูงสุด (GB) |
minPriceKrw / maxPriceKrw | integer | ช่วงราคา (KRW) |
dataType | string | daily (ดาต้ารีเซ็ตทุกวัน) | total (ดาต้าก้อนเดียวตลอดระยะเวลา) |
localNumber | boolean | true = เฉพาะแพ็กเกจที่มีเบอร์โทรท้องถิ่น (โทร/SMS) |
network | string | local (เครือข่ายผู้ให้บริการท้องถิ่น) | roaming (เครือข่ายโรมมิ่ง) |
multiCountry | boolean | true = เฉพาะแพ็กเกจหลายประเทศ, false = เฉพาะแพ็กเกจประเทศเดียว |
provider | string | รหัสผู้ให้บริการ — ตามค่าใน provider |
hotspot / fiveG | boolean | รองรับการแชร์เน็ต / เครือข่าย 5G (โดยประมาณ — ดูกฎด้านล่าง) |
sort | string | recommended (ค่าเริ่มต้น) | price (ราคาต่ำสุดก่อน) | data (ข้อมูลมากที่สุดก่อน) | price_per_gb (ราคาต่อ GB ต่ำสุดก่อน) | validity (ระยะเวลานานสุดก่อน) |
limit | integer | 1–50 ค่าเริ่มต้น 10 |
offset | integer | จำนวนรายการที่ข้าม — ปัดลงเป็นผลคูณของ limit |
lang | string | ภาษาของการตอบกลับ — หนึ่งใน ko, en, ja, zh-CN, zh-TW, es, fr, ar, vi, th, id, it, de (ค่าเริ่มต้น en) |
Filter rules#
daysจะใช้แทน minDays และ maxDaysunlimited=trueจะไม่ใช้ค่า dataGbcountriesจะใช้แทน countryhotspot·fiveGจะตรวจภายใน 50 แพ็กเกจแรกที่ตรงกับตัวกรองอื่น โดยไม่สนใจ offset และการตอบกลับจะมี totalIsApproximate: true- ค่าบูลีนรับเฉพาะ true, false, 1 หรือ 0 ค่าอื่นจะได้ 400
- ผลลัพธ์มีเฉพาะสินค้าที่ esimoa ขายโดยตรง ไม่รวมสินค้าที่เลิกจำหน่ายแล้ว
การตอบกลับ#
200 OKjson
{
"success": true,
"items": [
{
"id": "partner_9VKPYQ3JRYVK5797",
"title": "Japan · 100 MB · 7 days",
"countryCode": "JP",
"countryName": "Japan",
"coverageCountries": ["JP"],
"isMultiCountry": false,
"dataAmount": "100 MB",
"dataAmountGB": 0.1,
"isUnlimited": false,
"dataType": "total",
"validityDays": 7,
"priceKrw": 1000,
"currency": "KRW",
"provider": "TSIM",
"networkType": "5G",
"hotspot": true,
"hasLocalNumber": false,
"isLocalNetwork": true,
"url": "https://www.esimoa.com/en/plans/jp/partner_9VKPYQ3JRYVK5797?ref=p_yourcode&utm_source=esimoa_partner"
}
],
"total": 42,
"limit": 10,
"offset": 0,
"sort": "price"
}The Esim object#
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
id | string | รหัสสินค้า — ใช้กับ endpoint รายละเอียด |
title | string | ชื่อที่แสดง (ตาม lang) |
countryCode / countryName | string | null | ประเทศหลัก (null สำหรับแพ็กเกจหลายประเทศ) |
coverageCountries | string[] | รหัสประเทศที่ eSIM ใช้งานได้ |
isMultiCountry | boolean | แพ็กเกจหลายประเทศ |
dataAmount / dataAmountGB | string / number | ปริมาณข้อมูล (ป้ายกำกับ / ตัวเลข GB) |
isUnlimited | boolean | แพ็กเกจไม่จำกัด |
dataType | 'total' | 'daily' | null | ปริมาณรวมหรือปริมาณรายวัน |
validityDays | integer | ระยะเวลาใช้งานเป็นวัน |
priceKrw / currency | integer / 'KRW' | ราคาเป็น KRW |
provider / networkType | string | ผู้ให้บริการ / เครือข่าย (เช่น 5G) |
hotspot / hasLocalNumber / isLocalNetwork | boolean | การแชร์เน็ต / เบอร์ท้องถิ่น / เครือข่ายท้องถิ่น |
url | string | ลิงก์ซื้อที่มีรหัสพาร์ตเนอร์ของคุณ (?ref=) แสดงตามเดิมโดยไม่แก้ไข |
หมายเหตุ
ฟิลด์จะมีแต่เพิ่มขึ้นเท่านั้น ชื่อและความหมายจะไม่เปลี่ยน โปรดแยกวิเคราะห์การตอบกลับโดยละเว้นฟิลด์ที่ไม่รู้จัก
