Affiliate Integration Docs
Connect your platform with Tourist eSIM feeds in minutes. Use the endpoints below to fetch plans and landing links, append your own affiliate code, and optionally target specific languages.
Base URL:
https://touristesim.net/feed
Public endpoints
0) Host & Access
- Use main website host only:
https://touristesim.net/feed/... - No auth required: feeds are public GET endpoints.
- Format: JSON response array (
application/json).
1) Endpoints
- Plans feed:
GET /esim-affiliates.json - Links feed:
GET /esim-affiliates-links.json
2) Query Parameters
| Parameter | Applies To | Description | Example |
|---|---|---|---|
ref |
Both endpoints | Your affiliate identifier. Returned URLs include your tracking query ?ref=.... |
?ref=AFF123 |
lang |
Both endpoints | Single language code. Prefixes returned URLs with /{lang}/ path (e.g. /ja/europe-esim). English is default — no prefix added. |
?lang=ja |
targetLanguages |
Both endpoints | Comma or space separated language list for targetLanguages in output. |
?targetLanguages=en,ja |
Active language codes are DB-driven. English (en) is always the default and has no URL prefix.
3) Referral Link Format (Important)
- Primary format:
https://touristesim.net/?ref=YOUR_CODE - Use this for user traffic: website buttons, banners, blogs, and direct promotion links.
- Feed usage is different: call feed endpoints with your
refso returned plan/links are already tracked.
For consistency, use the ?ref= format in all new platform integrations and campaign links.
4) Feed API URLs (for integration)
Plans (affiliate only):
https://touristesim.net/feed/esim-affiliates.json?ref=AFF123
Plans (affiliate + language):
https://touristesim.net/feed/esim-affiliates.json?ref=AFF123&lang=ja
Links with affiliate + multi-language target:
https://touristesim.net/feed/esim-affiliates-links.json?ref=AFF123&targetLanguages=en,ja
5) Direct Affiliate Link (for promotion)
Share this in ads/posts/buttons:
https://touristesim.net/?ref=AFF123
Use this URL when sending users directly to Tourist eSIM without consuming feed JSON.
6) Integration Flow
- Fetch
esim-affiliates.json?ref=YOUR_CODEand cache the response in your system. - Use
&lang=jaonly when you need links to open in one specific non-English locale. - Use
&targetLanguages=en,jawhen you need language metadata for multi-language UI selectors. - Refresh feed on schedule (recommended: every 60 minutes).
- Render plan cards from feed fields (name, data, validity, speed, prices, countries).
- Use each plan
linkdirectly as your CTA destination (already containsref). - Optionally fetch
esim-affiliates-links.jsonfor country/region/global browsing links.
7) Response Notes
- No plan-detail page: plan
linkmaps to country/regional/global landing pages. - Tracking behavior: when
refis passed, returned links include your affiliate code. - Language behavior (
lang): updates returned links to a single locale path for non-English (example:/ja/europe-esim). - Language metadata (
targetLanguages): sets/filters thetargetLanguagesarray in the response; it does not force one locale path in every link. - Optional fields: some fields can be
nulldepending on provider/source data. - Caching: feed responses are cache-optimized; stale data can be served during regeneration windows.
8) Sample cURL
curl -s "https://touristesim.net/feed/esim-affiliates.json?ref=AFF123&lang=ja" | jq '.[0]'
curl -s "https://touristesim.net/feed/esim-affiliates-links.json?ref=AFF123&targetLanguages=en,fr" | jq '.[0]'
9) Sample Plan JSON (Real Structure)
[
{
"name": "Europe 10GB - 30 Days",
"planType": "DATA",
"planName": "Europe 10GB - 30 Days",
"data": {
"amount": 10,
"unit": "GB"
},
"validity": {
"amount": 30,
"unit": "DAY"
},
"price": {
"amount": 19.99,
"currency": "USD"
},
"prices": [
{
"amount": 19.99,
"currency": "USD"
}
],
"coverages": ["FR", "DE", "IT", "ES"],
"speed": ["4G", "5G"],
"activationType": "ON_PURCHASE",
"phoneNumber": null,
"link": "https://touristesim.net/europe-esim?ref=AFF123"
}
]
Japanese example (?lang=ja):
[
{
"...": "...",
"link": "https://touristesim.net/ja/europe-esim?ref=AFF123"
}
]
10) Sample Links JSON (Real Structure)
[
{
"name": "Buy France eSIM",
"link": "https://touristesim.net/france-esim?ref=AFF123",
"type": "web",
"targetLanguages": ["en", "ja"],
"targets": ["FR"]
},
{
"name": "Buy Europe eSIM",
"link": "https://touristesim.net/europe-esim?ref=AFF123",
"type": "web",
"targetLanguages": ["en", "ja"],
"targets": ["FR", "DE", "IT", "ES"]
}
]
11) Error Responses
- 503 Service Unavailable: prewarmed feed cache is not ready yet; retry shortly.
- 500 Internal Server Error: unexpected server-side issue.
Example:
{
"error": "Feed temporarily unavailable",
"message": "Feed cache is not ready yet. Please retry shortly."
}
Need multiple tracking links, referral link changes, custom mapping, or webhook-style sync? Contact us at affiliates@touristesim.net.