İçeriğe geç
iRoamly Shop

API belgeleri

iRoamly Shop API başvurusu: kimlik doğrulama, paketler, satın alma ve teslimat, yenileme ve kullanım.

Genel bakış

Temel açıklama

Sunucu iletim bilgilerinin güvenliğini sağlamak için aşağıdaki güvenlik mekanizmaları kullanılır:

  1. 1.Tüm arayüzler veri aktarımı için HTTPS secure güvenli bağlantı kullanır.
  2. 2.API kimlik doğrulaması için kullanılan, size atanmış AuthKey (en fazla 32 karakter).
  3. 3.İstek hash’ini oluşturmak için kullanılan, size atanmış AuthSecret (en fazla 50 karakter).
  4. 4.İstekler, kimlik doğrulaması için SHA-256 hash’leri kullanır.
Genel bakış

Arayüz standartları

Temel yol:https://api.iroamly.shop/
İstek protokolü:HTTPS
İstek yöntemi:GET / POST
Veri aktarım biçimi:application/json

İstek header parametreleri:

AuthKey: Müşteri kimlik doğrulama anahtarı, tür: dize (String)

Certification: Bu sırayla birleştirilmiş AuthKey+AuthSecret değerinin SHA-256 hash’ini içeren String.

/common/getPlanItem için AuthKey veya Certification header’ı gerekmez.

API uç noktaları

Bölgesel Paket Listesini Al

İstek URL’si:https://api.iroamly.shop/common/getPlanItem
İstek yöntemi:GET

AuthKey veya Certification header’ı gerekmez.

İstek parametreleri:

ParametreAçıklamaTür
regionISO2 kodlarını, ülke adlarını (büyük/küçük harf duyarsız) veya standartlaştırılmış biçimleri (ör. united-states) kabul eder.String

Yanıt biçimi:

Başarılı: HTTP 200. Paketler data.list içinde döndürülür.

Her zaman HTTP 200 döndürür. Veri olmadığında data.list boş bir dizidir ve msg değeri Success olur.

Yanıt alanı açıklamaları:

AlanAçıklamaTür
planPaket adı (bölge, tür, veri miktarı ve süreyi içerir).String
productCodeSatın alma veya sorgular için benzersiz paket kimliği.String
dataVeri miktarı (ör. 10GB, Unlimited, 500MB).String
typePaket türü (ör. Total, Daily, Unlimited).String
plan_typePaket kategorisi (ör. default).String
package_typePaket tipi (ör. Data Only).String
durationGün cinsinden geçerlilik süresi (ör. 10).String
speedAğ hızı (ör. 4G / 5G).String
operatorDesteklenen operatörler (ör. T-Mobile/AT&T).String
regionResmi bölge adı (ör. United States).String
region_indexStandartlaştırılmış bölge tanımlayıcısı (küçük harf ve kısa çizgili, ör. united-states).String
creditKredi cinsinden paket fiyatı (USD değil).Float
remarkEk notlar (ör. hız kısıtlama kuralları).String
created_atPaket oluşturma zaman damgası (ISO 8601 biçimi).String
İstek örneği
"https://api.iroamly.shop/common/getPlanItem?region=US"
Örnek yanıt
{
  "code": 0,
  "data": {
    list:[
     {
       "plan": "United States-eSIM-10GB-10 Days-Total",
       "productCode": "iRoamly-unite-584535",
       "data": "10GB",
       "type": "Total",
       "package_type": "Data Only",
       "duration": "10",
       "speed": "4G / 5G",
       "operator": "T-Mobile/AT&T",
       "region": "United States",
       "region_index": "united-states",
       "credit": 6.43,
       "remark": "After accumulating 10GB, the speed will be reduced to 128 Kbps",
       "created_at": "2025-05-16T04:02:31Z"
     }
    ]
  }
}
API uç noktaları

Doğrudan QR kod satın alma

İstek URL’si:https://api.iroamly.shop/openapi/purchaseqrcode
İstek yöntemi:POST

İstek parametreleri:

ParametreAçıklamaTür
emailQR kodların gönderileceği e-posta adresi. Boşsa e-posta gönderilmez.String
productListÜrün koleksiyonuObject[]

productList alanları:

AlanAçıklamaTür
planPaket adı. plan veya productCode değerlerinden birini girin.String
productCodePaket kimliği (Bölgesel Paket Listesini Al yanıtındaki productCode). productCode veya plan değerlerinden birini girin.String
quantityAdetInt
Test paketi:iRoamly-Test-10GB

Sonraki adım: QR kodu almak için QR Kod Sorgula’yı (https://api.iroamly.shop/openapi/qrcodeQuery) kullanın

Örnek parametreler
{
  "email": "2m827n32d@gmail.com",
  "productList": [
    {
      "plan": "United States-eSIM-10GB-10 Days-Total",
      "quantity": 2
    },
    {
      "plan": "Albania-10GB-15 Days-Total",
      "quantity": 1
    }
  ]
}
Örnek yanıt
{
  "code": 1,
  "data": {
    "orderId": "Open-Global-DXDWFBKG578913",
    "redeem_list": [
      {
        "productCode": "",
        "plan": "United States-eSIM-10GB-10 Days-Total",
        "redeemCode": "tjMxpYfvk5dFMQg",
        "status": 0,
        "expire_at": "2026-03-01"
      },
      {
        "productCode": "",
        "plan": "United States-eSIM-10GB-10 Days-Total",
        "redeemCode": "gKPzYhseX1wRmSi",
        "status": 0,
        "expire_at": "2026-03-01"
      },
      {
        "productCode": "",
        "plan": "Albania-10GB-15 Days-Total",
        "redeemCode": "sLSHNkAv2ojbNBG",
        "status": 0,
        "expire_at": "2026-03-01"
      }
    ]
  },
  "msg": "success"
}
API uç noktaları

Kullanım kodu satın al

İstek URL’si:https://api.iroamly.shop/openapi/purchaseCode
İstek yöntemi:POST

İstek parametreleri:

ParametreAçıklamaTür
emailE-postaString
productListÜrün koleksiyonuObject[]

productList alanları:

AlanAçıklamaTür
planPaket adı. plan veya productCode değerlerinden birini girin.String
productCodePaket kimliği (Bölgesel Paket Listesini Al yanıtındaki productCode). productCode veya plan değerlerinden birini girin.String
quantityAdetInt
Test paketi:iRoamly-Test-10GB
Örnek parametreler
{
  "email": "2m827n32d@gmail.com",
  "productList": [
    {
      "plan": "United States-eSIM-10GB-10 Days-Total",
      "quantity": 2
    },
    {
      "plan": "Albania-10GB-15 Days-Total",
      "quantity": 1
    }
  ]
}
Örnek yanıt
{
  "code": 1,
  "msg": "success",
  "orderId": "xxx-xxxx-sd9hn8df333" // Order number, can be used to query redeem code
}
API uç noktaları

Kullanım kodu sorgula

İstek URL’si:https://api.iroamly.shop/openapi/codeQuery
İstek yöntemi:POST

İstek parametreleri:

ParametreAçıklamaTür
orderIdSipariş numarasıString
Örnek parametreler
{
  "orderId": "xxx-xxx-dh239jdu28",
}
Örnek yanıt
{
  "code": 1,
  "msg": "success",
  "data": [
    {
      "productCode": "m8hed7h2fed",
      "redeemCode": "3cd2m3f23f3f3",
      "expire_at": "2024-06-30", // Expiry date
      "plan": "United States-eSIM-10GB-10 Days-Total",
      "status": 0
    },
    {
      "productCode": "v2jf28dj2w",
      "redeemCode": "d923j29ef2323",
      "expire_at": "2024-06-30",
      "plan": "Albania-10GB-15 Days-Total",
      "status": 2
    }
  ]
}
API uç noktaları

QR koda dönüştür

(Not: QR kodlar, dönüştürmenin ardından belirtilen e-posta adresine gönderilir. Büyük toplu işlemlerin tamamlanması daha uzun sürebilir.)

İstek URL’si:https://api.iroamly.shop/openapi/redeemQRcode
İstek yöntemi:POST

İstek parametreleri:

ParametreAçıklamaTür
emailE-postaString
codeListKullanım kodları koleksiyonuObject[]

productList alanları:

AlanAçıklamaTür
redeemCodeKullanım koduString
Örnek parametreler
{
  "email": "2m827n32d@gmail.com",
  "codeList": [
    {
      "redeemCode": "m8hed7h2fed",
    },
    {
      "redeemCode": "cn88beg9edj",
    }
  ]
}
Örnek yanıt
{
  "code": 1,
  "msg": "success",
}
API uç noktaları

QR kod sorgula

İstek URL’si:https://api.iroamly.shop/openapi/qrcodeQuery
İstek yöntemi:POST

İstek parametreleri:

ParametreAçıklamaTür
redeemCodeKullanım koduString

Yanıt alanı açıklamaları:

AlanAçıklamaTür
redeemCodeKullanım koduString
qrcodeQR kod görseli URL’siString
statusKullanım kodu durumu (bkz. Kullanım Kodu Durum Tanımları)Int
qrcode_contentQR kod içeriği (LPA etkinleştirme dizesi, ör. LPA:1$…)String
iscouldrenewaleSIM’in yenilenip yenilenemeyeceği: 1 - yenilenebilir 0 - yenilenemezInt
Örnek parametreler
{
  "redeemCode": "m8hed7h2fed",
}
Örnek yanıt
{
  "code": 1,
  "msg": "success",
  "redeemCode": "m8hed7h2fed",
  "qrcode": "https://dsfjigewafe/qrcode.jpg"
}
API uç noktaları

Yenileme paketi durumunu al

İstek URL’si:https://api.iroamly.shop/openapi/getRenewPlanStatus
İstek yöntemi:POST

İstek parametreleri:

ParametreAçıklamaTür
redeemCodeKullanım koduString

Yanıt alanı açıklamaları:

Yanıttaki üst düzey code, kullanım kodunun yenilenip yenilenemeyeceğini belirtir: 0 - yenileme mümkün, -1 - yenileme mümkün değil. Yenileme seçenekleri data.renewList içinde listelenir:

AlanAçıklamaTür
renewtypeYenileme türü: 0 - Mevcut paketin süresi dolduğunda etkinleşir 1 - Hemen etkinleşir (kalan veri silinir) 2 - Belirtilen bir zamanda etkinleşirInt
starttimeİsteğe bağlı etkinleştirme aralığının başlangıcı: seçebileceğiniz en erken etkinleştirme zamanı (yenileme türü 2).String
endtimeİsteğe bağlı etkinleştirme aralığının sonu: seçebileceğiniz en geç etkinleştirme zamanı (yenileme türü 2).String
Örnek parametreler
{
  "redeemCode": "3cd2m3f23f3f3",
}
Örnek yanıt
{
  "code": 0,
  "data": {
    "renewList": [
      {
        "renewtype": 1,
        "starttime": "0001-01-01T00:00:00Z",
        "endtime": "0001-01-01T00:00:00Z"
      },
      {
        "renewtype": 2,
        "starttime": "2025-08-04 06:13:08",
        "endtime": "2025-09-20 14:23:51"
      }
    ],
    "lasttime": "0001-01-01T00:00:00Z"
  },
  "msg": "Success"
}
API uç noktaları

Kod yenileme

(Not: Yenileme sırasında seçilen paketin yenileme grubu, orijinal paketin yenileme grubuyla eşleşmelidir.)

İstek URL’si:https://api.iroamly.shop/openapi/renewcode
İstek yöntemi:POST

İstek parametreleri:

ParametreAçıklamaTür
redeemCodeYenilenmesi gereken kodString
planYenileme paketiString
renewtypeYenileme türü: 0 - Mevcut paketin süresi dolduğunda etkinleşir 1 - Hemen etkinleşir (kalan veri silinir) 2 - Belirtilen bir zamanda etkinleşirInt
renewtimeGeçerlilik tarihi ve saati (zorunlu). Biçim: YYYY-MM-DDTHH:mm:ssZString
Örnek parametreler
{
  redeemCode: "DEF456UVW",
  plan: "basic_yearly",
  renewtype: 0,
  renewtime: "2024-12-31T23:59:59Z"
}
Örnek yanıt
{
  code: 1,
  data: {
    orderId: "Open-Global-DXDWFBKG578913",
    plan: "United States-eSIM-10GB-10 Days-Total",
    redeemCode: "tjMxpYfvk5dFMQg",
    status: 0,
    expire_at: "2026-03-01"
  },
  msg: "success"
}
API uç noktaları

Paket istatistiklerini al

İstek URL’si:https://api.iroamly.shop/openapi/getnetworkflow
İstek yöntemi:GET

İstek parametreleri:

ParametreAçıklamaTür
redeemCodeSorgulanacak kullanım kodu.String

Yanıt alanı açıklamaları:

ParametreAçıklamaTür
status0 - Etkin değil 1 - Etkin 2 - Süresi dolmuş 9 - GeçersizInt
flow_useFaturalandırma döneminde kullanılan veri (MB cinsinden)String
flow_totalFaturalandırma dönemindeki toplam veri (MB cinsinden veya sınırsız)String
start_dataPaket başlangıç zamanıString
end_dataPaket bitiş zamanıString
installDeviceYüklü cihazString
installCountKurulum sayısıString
installTimeKurulum zamanıString
Geçerli örnek
{
  code: 1,
  status: 0,
  flow_use: "300",
  flow_total: "1024",
  start_data: "2025-10-25T15:04:05Z07:00",
  end_data: "2025-11-25T15:04:05Z07:00",
  installDevice: "iPhone 15",
  installCount: "1",
  installTime: "2025-10-25T15:04:05Z06:00"
}
Geçersiz örnek
{
  code: -1,
  msg: "error message"
}
Tanımlar

Yanıt durum kodu tanımları

KodAçıklama
1Başarılı
2İstek parametresi kimlik doğrulaması başarısız oldu
3Parametreler gerektiği gibi sağlanmadı
4Ürün kodu mevcut değil
5Yetersiz kredi
6Kullanım kodu mevcut değil
7Kullanım kodu zaten kullanılmış veya mevcut değil
-1İstek başarısız oldu

Başarılı yanıtta code değeri 1 olur; yalnızca /common/getPlanItem ve /openapi/getRenewPlanStatus başarılı olduğunda code 0 döndürür.

Tanımlar

Kullanım kodu durum tanımları

DurumAçıklama
0Kullanılmadı
1Kullanılıyor
2Kullanıldı
3Kullanım başarısız oldu
Kod başvurusu

Kullanım kodu satın al (Python)

python
import requests
import json
import hashlib

# URL for the request
url = "https://api.iroamly.shop/openapi/purchaseCode"

# Provided AuthKey and AuthSecret, remember to replace them with real values
auth_key = "YOUR_AUTH_KEY_HERE"
auth_secret = "YOUR_AUTH_SECRET_HERE" 


# Calculating Certification
combined = auth_key + auth_secret
certification = hashlib.sha256(combined.encode()).hexdigest()

# Header parameters for the request
headers = {
    "Content-Type": "application/json",
    "AuthKey": auth_key,
    "Certification": certification
}

# Example data for the request body
data = {
    "email": "2m827n32d@gmail.com",
    "productList": [
        {
            "productCode": "m8hed7h2fed2398dsnh",
            "quantity": 2
        },
        {
            "productCode": "cn88beg9edjdfj2sj0a",
            "quantity": 1
        }
    ]
}

# Sending POST request
response = requests.post(url, headers=headers, data=json.dumps(data))

# Printing the response content
print(response.text)

# Example of response
{
    "code":1,
    "msg":"success",
    "orderId":"xxx-xxxx-sd9hn8df333"
}
Kod başvurusu

Kullanım kodu sorgula (Python)

python
import requests
import json
import hashlib

# URL for the request
url = "https://api.iroamly.shop/openapi/codeQuery"

# Provided AuthKey and AuthSecret, remember to replace them with real values
auth_key = "YOUR_AUTH_KEY_HERE"
auth_secret = "YOUR_AUTH_SECRET_HERE" 


# Calculating Certification
combined = auth_key + auth_secret
certification = hashlib.sha256(combined.encode()).hexdigest()

# Header parameters for the request
headers = {
    "Content-Type": "application/json",
    "AuthKey": auth_key,
    "Certification": certification
}

# Example data for the request body
data = {
    "orderId":"xxx-xxx-dh239jdu28"
}

# Sending POST request
response = requests.post(url, headers=headers, data=json.dumps(data))

# Printing the response content
print(response.text)

# Example of response
{
 "code":1,
 "data":
    [
     {"productCode":"m8hed7h2fed2398dsnh","redeemCode":"nDb4TDCn6vMhbQv","status":0,"expire_at":"2024-07-04"},
     {"productCode":"m8hed7h2fed2398dsnh","redeemCode":"oA7AWAmo76BwoGj","status":0,"expire_at":"2024-07-04"},
     {"productCode":"cn88beg9edjdfj2sj0a","redeemCode":"XRdDeSxBVNbvCpU","status":0,"expire_at":"2024-07-04"}
    ],
 "msg":"success"
}
Kod başvurusu

QR koda dönüştür (Python)

python
import requests
import json
import hashlib

# URL for the request
url = "https://api.iroamly.shop/openapi/redeemQRcode"

# Provided AuthKey and AuthSecret, remember to replace them with real values
auth_key = "YOUR_AUTH_KEY_HERE"
auth_secret = "YOUR_AUTH_SECRET_HERE" 


# Calculating Certification
combined = auth_key + auth_secret
certification = hashlib.sha256(combined.encode()).hexdigest()

# Header parameters for the request
headers = {
    "Content-Type": "application/json",
    "AuthKey": auth_key,
    "Certification": certification
}

# Example data for the request body
data = {
    "email": "2m827n32d@gmail.com",
    "codeList": [
        {
            "redeemCode": "nDb4TDCn6vMhbQv",
        },
        {
            "redeemCode": "XRdDeSxBVNbvCpU",
        }
    ]
}

# Sending POST request
response = requests.post(url, headers=headers, data=json.dumps(data))

# Printing the response content
print(response.text)

# Example of response
{"code":1,"msg":"success"}
Kod başvurusu

QR kod sorgula (Python)

python
import requests
import json
import hashlib

# URL for the request
url = "https://api.iroamly.shop/openapi/qrcodeQuery"

# Provided AuthKey and AuthSecret, remember to replace them with real values
auth_key = "YOUR_AUTH_KEY_HERE"
auth_secret = "YOUR_AUTH_SECRET_HERE" 


# Calculating Certification
combined = auth_key + auth_secret
certification = hashlib.sha256(combined.encode()).hexdigest()

# Header parameters for the request
headers = {
    "Content-Type": "application/json",
    "AuthKey": auth_key,
    "Certification": certification
}

# Example data for the request body
data = {
    "redeemCode":"XRdDeSxBVNbvCpU"
}

# Sending POST request
response = requests.post(url, headers=headers, data=json.dumps(data))

# Printing the response content
print(response.text)

# Example of response
{
 "code":1,
 "qrcode":"https:/code.tokyoesim.com/20231220/1703048857317.65625d0a779f4598d55d77bda43ecd80.png",
 "msg":"success",
 "redeemCode":"XRdDeSxBVNbvCpU"
}