Seyahat eSIM'lerini ürününe ekle
Tek bir REST API ile kendi uygulamandan veya web sitenden eSIM sat. Kataloğu ara, sipariş ver ve kurulmaya hazır eSIM'leri kendi markanla müşterilerine teslim et.
eSIM'in tüm yaşam döngüsü, kendi ürününün içinde
Paket seçmekten yolculuğun ortasında veri yüklemeye kadar, müşterinin attığı her adım senin yönettiğin bir API çağrısı.
Katalogundaki her paketi sat
Paketleri ülke, bölge, veri ve süreye göre filtrele, tek çağrıyla bir müşteri için sipariş ver. Her paket, senin ödediğin fiyatla birlikte gelir.
- Ülke, bölge, veri ve güne göre filtrele
- Siparişler ön ödemeli bakiyenden ödenir
- Idempotency anahtarları tekrar denemeleri güvenli kılar
eSIM'i kendi akışında teslim et
Bir sipariş tamamlandığında ICCID'yi, LPA etkinleştirme kodunu ve bir QR kodunu webhook ile ya da siparişi sorgulayarak alırsın.
- İmzalı order.fulfilled webhook'u
- PNG QR kodu, göstermeye veya e-postayla göndermeye hazır
- Uygulamanda tek dokunuşla kurulum için LPA kodu
Satıştan sonra da gezginleri bağlantıda tut
Veri yüklemeleri sun, bir eSIM'i yeni telefona taşı, uygun siparişleri iade et ve faturaları indir; hepsi aynı API ile.
- Hesabına göre fiyatlanan yüklemeler
- eSIM'i yeni bir cihaza yeniden kur
- Sipariş başına iadeler ve PDF faturalar
Güvenle yayına çıkmak için ihtiyacın olan her şey
Ücretsiz sandbox
Test anahtarları, siparişten eSIM'e ve webhook'a kadar tüm akışı hiçbir şebekeyi çağırmadan ve bakiye harcamadan çalıştırır.
İmzalı istekler
Her istek HMAC-SHA256 ve bir zaman damgasıyla imzalanır, tekrarlanan istekler reddedilir. Anahtarları sunucularının IP adresleriyle sınırlayabilirsin.
Tekrar deneyen webhook'lar
Siparişler, eSIM'ler, yüklemeler ve bakiye için imzalı olaylar; bir günden uzun süre tekrar denenir ve yeniden gönderebileceğin bir teslimat kaydı tutulur.
Güvenle tekrar dene
Sipariş ve yüklemelerde bir Idempotency-Key gönder. 24 saat içindeki bir tekrar, iki kez ücret almak yerine ilk yanıtı döndürür.
OpenAPI 3.1 belirtimi
Belirtimi Postman'e aktar ya da tipli bir istemci üret, veya dokümanlardaki curl, Node ve Python örnekleriyle başla.
Yetkili anahtarlar, net limitler
Her anahtara okuma, sipariş veya tam erişim ver. Limitler anahtar başınadır ve kimliği doğrulanmış her yanıt kalan hakkını gösterir.
Dokümanları keşfet
Her uç noktanın kopyalayabileceğin bir isteği ve yanıtı var. Anahtarınla imzala, sandbox'ı hedefle ve başla.
curl --request GET \
--url 'https://api.roamgo.net/api/partner/v1/plans?country=JP&minDays=7' \
--header 'Authorization: Roamgo-HMAC-SHA256 keyId=<KEY_ID>, ts=<UNIX>, sig=<SIGNATURE>'{
"plans": [{
"id": "cm...",
"name": "Japan 10 GB",
"countries": ["JP"],
"dataAmountMB": 10240,
"validityDays": 30,
"yourPriceCents": 1840,
"currency": "USD"
}],
"page": 1,
"pageSize": 24,
"total": 18
}curl --request POST \
--url 'https://api.roamgo.net/api/partner/v1/orders' \
--header 'Authorization: Roamgo-HMAC-SHA256 keyId=<KEY_ID>, ts=<UNIX>, sig=<SIGNATURE>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <UNIQUE_KEY>' \
--data '{"planId":"cm_plan_id","quantity":1,"customerEmail":"traveler@example.com","externalRef":"BOOKING-49102"}'HTTP/1.1 202 Accepted
{
"order": {
"id": "cm_order_id",
"status": "PAID",
"customerEmail": "traveler@example.com",
"totalCents": 1840,
"currency": "USD"
}
}curl --request GET \
--url 'https://api.roamgo.net/api/partner/v1/esims/cm_esim_id/qr' \
--header 'Authorization: Roamgo-HMAC-SHA256 keyId=<KEY_ID>, ts=<UNIX>, sig=<SIGNATURE>' \
--output esim-qr.pngHTTP/1.1 200 OK
Content-Type: image/png
Cache-Control: private, max-age=3600curl --request POST \
--url 'https://api.roamgo.net/api/partner/v1/esims/cm_esim_id/topups' \
--header 'Authorization: Roamgo-HMAC-SHA256 keyId=<KEY_ID>, ts=<UNIX>, sig=<SIGNATURE>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <UNIQUE_KEY>' \
--data '{"topUpProviderPlanId":"topup_1gb_7d","externalRef":"BOOKING-49102-TOPUP-1"}'HTTP/1.1 201 Created
{
"topUp": {
"id": "cm_topup_id",
"status": "COMPLETED",
"priceCents": 480,
"currency": "USD"
}
}import crypto from "node:crypto";
// X-Roamgo-Signature: t=<unix>,v1=<hex>
export function verifyRoamgoSignature(rawBody: string, header: string, secret: string) {
const match = header.match(/^t=(\d+),v1=([0-9a-f]+)$/);
if (!match) return false;
const [, ts, v1] = match;
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const expected = crypto
.createHmac("sha256", secret)
.update(`${ts}.${rawBody}`)
.digest("hex");
return crypto.timingSafeEqual(Buffer.from(expected, "hex"), Buffer.from(v1, "hex"));
}{
"id": "evt_8d…",
"type": "order.fulfilled",
"createdAt": "2026-09-30T09:14:02.118Z",
"livemode": true,
"data": {
"order": {
"id": "cm_order_id",
"status": "FULFILLED",
"items": [{
"esims": [{
"iccid": "8910…",
"lpaString": "LPA:1$...",
"status": "ISSUED"
}]
}]
}
}
}Satışın her parçası için tek API
Her kaynak; parametreler, hatalar ve örneklerle kendi referansına bağlanır.
Katalog
Siparişler
eSIM'ler
Hesap
API'yi entegre et ya da kodsuz başla
API satış yollarından biri. Aşağıdaki seçenekler aynı katalog, bakiye ve teslimat üzerinde çalışır.
Sandbox'ta geliştirmeye başla
Ücretsiz bir partner hesabı aç, panelde test anahtarları oluştur ve bakiye yüklemeden önce QR kodu ve webhook'lar dahil tam bir siparişi dene.