Getting started
Quickstart
Yetkili bir backend, birkaç satırda yayımlanabilir program listesini okuyabilir.
-
1. Partner API token alın
Token Super Admin tarafından kiracı için üretilir. Düz metin yalnızca oluşturma veya yenilemede bir kez gösterilir.
-
2. Token’ı sunucuda saklayın
Ortam değişkeni:
SEFERA_PARTNER_TOKEN. Tarayıcı, mobil uygulama veya public bundle’a koymayın. -
3. İlk isteği gönderin
Authorization: Bearer $SEFERA_PARTNER_TOKENileGET https://api.sefera.com.tr/v1/programs. -
4. Programları okuyun
Liste
data[]vemeta.countdöner. Detay içiniddeğeriniGET /v1/programs/{programId}ile kullanın. -
5. Hata ve rate limit
401/403 kimlik, 429
Retry-After, 500 geçici. Destek içinX-Request-Idsaklayın.
Working templates
-kw">curl -sS \
-H "Authorization: Bearer $SEFERA_PARTNER_TOKEN" \
-H "Accept: application/json" \
"https://api.sefera.com.tr/v1/programs"
const token = process.env.SEFERA_PARTNER_TOKEN;
const base = 'https://api.sefera.com.tr';
const res = await fetch(`${base}/v1/programs`, {
headers: { Authorization: `Bearer ${token}` },
});
if (!res.ok) {
throw new Error(`Partner API HTTP ${res.status}`);
}
const payload = await res.json();
<?php
$token = getenv('SEFERA_PARTNER_TOKEN');
$base = 'https://api.sefera.com.tr';
$ch = curl_init($base . '/v1/programs');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $token,
'Accept: application/json',
],
]);
$body = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code !== 200) {
throw new RuntimeException('Partner API HTTP ' . $code);
}
$payload = json_decode($body, true);
Request
-kw">curl -sS \
-H "Authorization: Bearer $SEFERA_PARTNER_TOKEN" \
-H "Accept: application/json" \
"https://api.sefera.com.tr/v1/programs"
const token = process.env.SEFERA_PARTNER_TOKEN;
const base = 'https://api.sefera.com.tr';
const res = await fetch(`${base}/v1/programs`, {
headers: { Authorization: `Bearer ${token}` },
});
if (!res.ok) {
throw new Error(`Partner API HTTP ${res.status}`);
}
const payload = await res.json();
<?php
$token = getenv('SEFERA_PARTNER_TOKEN');
$base = 'https://api.sefera.com.tr';
$ch = curl_init($base . '/v1/programs');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $token,
'Accept: application/json',
],
]);
$body = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code !== 200) {
throw new RuntimeException('Partner API HTTP ' . $code);
}
$payload = json_decode($body, true);
Response
{
"data": [
{
"id": "abc123",
"name": "15 Günlük Umre",
"status": "active",
"departureDate": "2026-10-12",
"returnDate": "2026-10-25",
"durationDays": 14,
"duration": {
"days": 14,
"nights": 13
},
"capacity": {
"total": 45,
"used": 23,
"remaining": 22
},
"currency": "USD",
"category": { "type": "Yurt Dışı", "subtype": "Umre" },
"guide": { "name": "Rehber Adı" },
"prices": {
"startingAmount": 1950,
"rooms": [
{
"occupancy": 2,
"amount": 1950
}
],
"children": [
{
"minAge": 2,
"maxAge": 7,
"amount": 1400
}
]
}
}
],
"meta": {
"count": 1
}
}