WHOIS Profilleri

8 görüntülenme Markdown

Müşterinin alan adı siparişlerinde kullandığı kayıt sahibi profillerini yöneten altı uç.

Genel Bakış

WHOIS profili, müşterinin alan adı siparişlerinde tekrar kullandığı kayıtlı kayıt sahibi bilgisidir. Bir müşterinin birden çok profili olabilir ama tek bir varsayılanı olur.

Alan adları snake_case konuşur ve alan adı WHOIS iletişim uçlarıyla aynı isimleri kullanır. Veritabanında başka bir biçimde saklanır; dönüşümü API yapar, sizin ilgilenmeniz gerekmez.

Referans

Profilleri Listeleme

get/api/v1/admin/clients/{id}/whois-profiles
Clients/GetClientWhoisProfiles admin varsayılan önce

Müşterinin tüm WHOIS profillerini döndürür. Varsayılan profil listenin başındadır.

Dönen alanlar data[] — 6
idintProfil kimliği.
namestringProfil adı.
is_defaultboolMüşterinin varsayılan profili mi.
contactobjectİletişim alanları.
first_namestringKayıt sahibinin adı.
last_namestringKayıt sahibinin soyadı.
companystringŞirket adı.
emailstringE-posta adresi.
phonestringTelefon numarası, ülke kodu olmadan.
phone_ccstringTelefonun ülke kodu.
faxstringFaks numarası.
fax_ccstringFaksın ülke kodu.
address_line1stringAdresin ilk satırı.
address_line2stringAdresin ikinci satırı.
citystringŞehir.
statestringEyalet ya da il.
zipcodestringPosta kodu.
countrystringÜlke kodu. Sayısal kod, iki harfli kısaltma değil: 840.
created_atstringOluşturma zamanı.
updated_atstringSon güncelleme zamanı.
Hatalar 2
not_found404Müşteri ya da profil bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl 'https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles' \
  -H "Authorization: Bearer $API_KEY"
const res  = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
$response = Api::Clients()->GetClientWhoisProfiles(['id' => 42]);

// Varsayilan bastadir, ama listenin bos olma ihtimalini de karsilayin.
$default = $response['data'][0] ?? null;
Yanıt
{
  "data": [
    {
      "id": 13,
      "name": "Primary",
      "is_default": true,
      "contact": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "[email protected]",
        "phone": "5550100",
        "phone_cc": "1",
        "address_line1": "123 Market Street",
        "city": "San Francisco",
        "state": "California",
        "zipcode": "94105",
        "country": "840"
      },
      "created_at": "2026-06-21 18:00:00",
      "updated_at": "2026-06-21 18:05:00"
    }
  ]
}

Profil Oluşturma

post/api/v1/admin/clients/{id}/whois-profiles
Clients/CreateClientWhoisProfile admin 201

Müşteriye yeni bir WHOIS profili ekler.

Gövde 3
namestringzorunluProfil adı.
contactobjectİletişim alanları.
first_namestringKayıt sahibinin adı.
last_namestringKayıt sahibinin soyadı.
companystringŞirket adı.
emailstringE-posta adresi.
phonestringTelefon numarası, ülke kodu olmadan.
phone_ccstringTelefonun ülke kodu.
faxstringFaks numarası.
fax_ccstringFaksın ülke kodu.
address_line1stringAdresin ilk satırı.
address_line2stringAdresin ikinci satırı.
citystringŞehir.
statestringEyalet ya da il.
zipcodestringPosta kodu.
countrystringÜlke kodu. Sayısal kod, iki harfli kısaltma değil: 840.
defaultboolProfili müşterinin varsayılanı yapar.
Dönen alanlar data — 6
dataobjectOluşan profil. Detay ucuyla aynı şekildedir.
Hatalar 4
not_found404Müşteri ya da profil bulunamadı.
name_required422Profil adı boş.
create_failed500Profil oluşturulamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X POST 'https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Primary",
    "default": true,
    "contact": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]",
      "country": "840"
    }
  }'
const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Primary',
    default: true,
    contact: {
      first_name: 'John',
      last_name: 'Doe',
      email: '[email protected]',
      phone: '5550100',
      phone_cc: '1',
      address_line1: '123 Market Street',
      city: 'San Francisco',
      state: 'California',
      zipcode: '94105',
      country: '840',
    },
  }),
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'name'    => 'Primary',
        'default' => true,
        'contact' => [
            'first_name'    => 'John',
            'last_name'     => 'Doe',
            'email'         => '[email protected]',
            'phone'         => '5550100',
            'phone_cc'      => '1',
            'address_line1' => '123 Market Street',
            'city'          => 'San Francisco',
            'state'         => 'California',
            'zipcode'       => '94105',
            'country'       => '840',
        ],
    ]),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
$response = Api::Clients()->CreateClientWhoisProfile([
    'id'      => 42,
    'name'    => 'Primary',
    'default' => true,
    'contact' => [
        'first_name'    => 'John',
        'last_name'     => 'Doe',
        'email'         => '[email protected]',
        'phone'         => '5550100',
        'phone_cc'      => '1',
        'address_line1' => '123 Market Street',
        'city'          => 'San Francisco',
        'state'         => 'California',
        'zipcode'       => '94105',
        'country'       => '840',
    ],
]);

$profileId = $response['data']['id'];
Yanıt
{
  "data": {
    "id": 14,
    "name": "Primary",
    "is_default": true,
    "contact": { "first_name": "John", "last_name": "Doe", "country": "840" },
    "created_at": "2026-06-21 18:00:00",
    "updated_at": "2026-06-21 18:00:00"
  }
}
{
  "error": {
    "code": "name_required",
    "message": "Profile name is required."
  }
}

Profil Detayı

get/api/v1/admin/clients/{id}/whois-profiles/{pid}
Clients/GetClientWhoisProfile admin

Tek bir profili döndürür. Şema liste öğesiyle aynıdır.

Dönen alanlar data — 6
idintProfil kimliği.
namestringProfil adı.
is_defaultboolMüşterinin varsayılan profili mi.
contactobjectİletişim alanları.
first_namestringKayıt sahibinin adı.
last_namestringKayıt sahibinin soyadı.
companystringŞirket adı.
emailstringE-posta adresi.
phonestringTelefon numarası, ülke kodu olmadan.
phone_ccstringTelefonun ülke kodu.
faxstringFaks numarası.
fax_ccstringFaksın ülke kodu.
address_line1stringAdresin ilk satırı.
address_line2stringAdresin ikinci satırı.
citystringŞehir.
statestringEyalet ya da il.
zipcodestringPosta kodu.
countrystringÜlke kodu. Sayısal kod, iki harfli kısaltma değil: 840.
created_atstringOluşturma zamanı.
updated_atstringSon güncelleme zamanı.
Hatalar 2
not_found404Müşteri ya da profil bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl 'https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13' \
  -H "Authorization: Bearer $API_KEY"
const res  = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
$response = Api::Clients()->GetClientWhoisProfile(['id' => 42, 'pid' => 13]);

Profili Güncelleme

put/api/v1/admin/clients/{id}/whois-profiles/{pid}
Clients/UpdateClientWhoisProfile admin contact bütün olarak yazılır

Profili günceller. Göndermediğiniz üst düzey alan olduğu gibi kalır.

Gövde 3
namestringProfil adı. Göndermezseniz mevcut ad korunur.
contactobjectİletişim alanları. Gönderirseniz blok bütün olarak yazılır — eksik alan boşalır.
first_namestringKayıt sahibinin adı.
last_namestringKayıt sahibinin soyadı.
companystringŞirket adı.
emailstringE-posta adresi.
phonestringTelefon numarası, ülke kodu olmadan.
phone_ccstringTelefonun ülke kodu.
faxstringFaks numarası.
fax_ccstringFaksın ülke kodu.
address_line1stringAdresin ilk satırı.
address_line2stringAdresin ikinci satırı.
citystringŞehir.
statestringEyalet ya da il.
zipcodestringPosta kodu.
countrystringÜlke kodu. Sayısal kod, iki harfli kısaltma değil: 840.
defaultbooltrue varsayılan yapar, false varsayılanlıktan çıkarır.
Dönen alanlar data — 6
dataobjectGüncel profil. Detay ucuyla aynı şekildedir.
Hatalar 3
not_found404Müşteri ya da profil bulunamadı.
name_required422Gönderilen profil adı boş.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X PUT 'https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"name":"Billing Contact"}'
const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13', {
  method: 'PUT',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ name: 'Billing Contact' }),
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['name' => 'Billing Contact']),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Tek bir iletisim alanini degistirmek icin once mevcut blogu okuyun.
$current = Api::Clients()->GetClientWhoisProfile(['id' => 42, 'pid' => 13])['data']['contact'];
$current['email'] = '[email protected]';

$response = Api::Clients()->UpdateClientWhoisProfile([
    'id'      => 42,
    'pid'     => 13,
    'contact' => $current,
]);

Varsayılanı Belirleme

put/api/v1/admin/clients/{id}/whois-profiles/{pid}/default
Clients/SetClientWhoisProfileDefault admin tek varsayılan

Profili müşterinin varsayılanı yapar. Önceki varsayılan aynı işlemde temizlenir.

Gövde
Gövde gerekmez; boş gönderin. Hem müşteri hem profil adresten gelir.
Dönen alanlar data — 2
idintVarsayılan yapılan profilin kimliği.
defaultboolHer zaman true döner.
Hatalar 2
not_found404Müşteri ya da profil bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X PUT 'https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13/default' \
  -H "Authorization: Bearer $API_KEY"
const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13/default', {
  method: 'PUT',
  headers: { Authorization: `Bearer ${apiKey}` },
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13/default');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
$response = Api::Clients()->SetClientWhoisProfileDefault(['id' => 42, 'pid' => 13]);

Profili Silme

delete/api/v1/admin/clients/{id}/whois-profiles/{pid}
Clients/DeleteClientWhoisProfile admin

Profili siler. Alan adlarında kayıtlı olan iletişim bilgisi bundan etkilenmez.

Dönen alanlar data — 2
deletedboolSilme başarılı mı.
idintSilinen profilin kimliği.
Hatalar 2
not_found404Müşteri ya da profil bulunamadı.
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13' \
  -H "Authorization: Bearer $API_KEY"
const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13', {
  method: 'DELETE',
  headers: { Authorization: `Bearer ${apiKey}` },
});

const body = await res.json();
$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/42/whois-profiles/13');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'DELETE',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
$response = Api::Clients()->DeleteClientWhoisProfile(['id' => 42, 'pid' => 13]);

Tuzaklar

İletişim bloğu bütün olarak yazılır

Güncellemede contact göndermek bloğun tamamını değiştirir; göndermediğiniz alanlar boşalır. Tek bir alanı değiştirmek için önce mevcut bloğu okuyun, üzerinde düzeltin, tamamını geri gönderin. Bu, üst düzey alanlardan farklı çalışır: name göndermezseniz korunur.

Ülke sayısal kodla verilir

country alanı iki harfli kısaltmayı değil sayısal kodu bekler: Amerika Birleşik Devletleri için 840. Kısaltma göndermek profili ülkesiz bırakır ve alan adı kaydı tescil kuruluşunda başarısız olabilir.

Varsayılanı taşımak sessizdir

Bir profili varsayılan yapmak, o müşterinin önceki varsayılanını aynı işlemde temizler. Ayrı bir onay ya da uyarı yoktur; sonucu doğrulamak için listeyi yeniden okuyun.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.