公開 API(/v1)
搜尋 eSIM
GET /v1/esims — 依國家、天數與流量搜尋 eSIM,並取得帶有合作夥伴代碼的購買連結。
請求#
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"])查詢參數#
所有參數皆為選填。
| 參數 | 類型 | 說明 |
|---|---|---|
country | string | 國家代碼(ISO 3166-1 alpha-2,如 JP) |
days | integer | 有效天數完全等於該值 |
minDays | integer | 最短有效天數 |
maxDays | integer | 最長有效天數 |
dataGb | number | 最少流量(GB) |
unlimited | boolean | true 時僅回傳無限流量方案 |
sort | string | recommended(推薦,預設)| price(最低價)| data(流量最多) |
limit | integer | 1–50,預設 10 |
offset | integer | 略過的數量 — 向下取整為 limit 的倍數 |
lang | string | 回應語言 ko | en | ja | zh-CN | zh-TW(預設 en) |
篩選規則#
days會覆蓋 minDays 與 maxDays。unlimited=true時會忽略 dataGb。- 結果僅包含 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"
}Esim 物件#
| 欄位 | 類型 | 說明 |
|---|---|---|
id | string | 商品 ID — 用於查詢詳情 |
title | string | 顯示名稱(依 lang) |
countryCode / countryName | string | null | 主要國家(多國方案為 null) |
coverageCountries | string[] | 可用國家代碼列表 |
isMultiCountry | boolean | 是否多國方案 |
dataAmount / dataAmountGB | string / number | 流量(顯示文字 / GB 數值) |
isUnlimited | boolean | 是否無限流量 |
dataType | 'total' | 'daily' | null | 總量型 / 每日型 |
validityDays | integer | 有效天數 |
priceKrw / currency | integer / 'KRW' | 售價(韓元) |
provider / networkType | string | 供應商 / 網路(如 5G) |
hotspot / hasLocalNumber / isLocalNetwork | boolean | 熱點分享 / 提供當地號碼 / 當地網路 |
url | string | 購買連結,已帶有您的合作夥伴代碼(?ref=),請原樣展示。 |
注意
欄位只會新增,名稱與含義不會改變。解析時請忽略未知欄位。
