İsimden Cinsiyet Belirleme – Çoklu İstek
Çoklu İsim endpoint’i, tek bir istekte 100’e kadar ismin cinsiyetini analiz etmenize olanak tanır. Bu, toplu işlem ve yüksek performanslı entegrasyonlar için oldukça faydalıdır. Tüm parametreler POST isteğiyle JSON formatında gönderilir. Kimlik doğrulaması için Authorization başlığında Bearer token kullanmanız gerekir.
Her bir isme country
filtresi ekleyerek, belirli bir ülkeye özel cinsiyet tahminleri alabilirsiniz.
Eğer belirtilen ülke için sonuç yoksa, API evrensel bir isim sonucu döndürür.
Ayrıca her isme isteğe bağlı olarak id
alanı da gönderebilirsiniz. Bu değer, kendi veritabanınızdaki herhangi bir string veya sayı olabilir.
API, bu id
değerini yanıtında da döndürür, böylece girişlerinizle sonuçları eşleştirebilirsiniz.
askToAI
gibi parametreler toplu işlemlerde kullanılamaz.Eğer verilerinizde sıklıkla Latin olmayan karakterlerle yazılmış isimler (örn. Çince) yer alıyorsa, daha doğru sonuçlar almak için
askToAI
parametresiyle tekli istek göndermenizi öneririz.
İstek URL’si
POST https://api.genderapi.io/api/name/multi/country
Gerekli HTTP Başlıkları
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
İstek Gövdesi Parametreleri
Alan | Tip | Zorunlu | Açıklama |
---|---|---|---|
data | Nesne Dizisi (Array of Objects) | Evet | İsimler ve isteğe bağlı parametrelerinin bulunduğu dizi. Her istek için en fazla 100 isim gönderebilirsiniz. |
name | String | Evet (her obje içinde) | Analiz etmek istediğiniz ilk isim. |
country | String | Hayır |
Tahmin doğruluğunu artırmak için iki harfli ülke kodu (ISO 3166-1 alpha-2).
Örneğin: TR Türkiye için.
|
id | String veya Integer | Hayır |
Kendi veritabanınızdaki kayıtlarla eşleştirmek için tanımladığınız isteğe bağlı bir ID.
Yanıtta da aynı id değeri döndürülür.
|
Örnek İstek Gövdesi
{
"data": [
{ "name": "Andrea", "country": "DE", "id": "123" },
{ "name": "andrea", "country": "IT", "id": "456" },
{ "name": "james", "country": "US", "id": "789" }
]
}
Örnek İstekler
cURL Örneği
curl -X POST "https://api.genderapi.io/api/name/multi/country" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"data":[{"name":"Andrea","country":"DE","id":"123"},{"name":"andrea","country":"IT","id":"456"},{"name":"james","country":"US","id":"789"}]}'
PHP cURL Örneği
<?php
$url = "https://api.genderapi.io/api/name/multi/country";
$data = array(
"data" => array(
array(
"name" => "Andrea",
"country" => "DE",
"id" => "123"
),
array(
"name" => "andrea",
"country" => "IT",
"id" => "456"
),
array(
"name" => "james",
"country" => "US",
"id" => "789"
)
)
);
$payload = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Authorization": "Bearer YOUR_API_KEY"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
JavaScript fetch Örneği
fetch("https://api.genderapi.io/api/name/multi/country", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
data: [
{ name: "Andrea", country: "DE", id: "123" },
{ name: "andrea", country: "IT", id: "456" },
{ name: "james", country: "US", id: "789" }
]
})
})
.then(response => response.json())
.then(data => console.log(data));
Python requests Örneği
import requests
url = "https://api.genderapi.io/api/name/multi/country"
payload = {
"data": [
{ "name": "Andrea", "country": "DE", "id": "123" },
{ "name": "andrea", "country": "IT", "id": "456" },
{ "name": "james", "country": "US", "id": "789" }
]
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
Örnek JSON Yanıtı
{
"status": true,
"used_credits": 3,
"remaining_credits": 7265,
"expires": 1717069765,
"names": [
{
"name": "andrea",
"q": "Andrea",
"gender": "female",
"country": "DE",
"total_names": 644,
"probability": 88,
"id": "optional"
},
{
"name": "andrea",
"q": "andrea",
"gender": "male",
"country": "IT",
"total_names": 13537,
"probability": 98,
"id": "optional"
},
{
"name": "james",
"q": "james",
"gender": "male",
"country": "US",
"total_names": 45274,
"probability": 100,
"id": "optional"
}
],
"duration": "5ms"
}
Yanıt Alanları
Alan | Tip | Açıklama |
---|---|---|
status | Boolean | İsteğin başarılı olup olmadığını belirtir. |
used_credits | Integer | Bu istek için harcanan kredi sayısı. |
remaining_credits | Integer | Bu istekten sonra hesabınızda kalan kredi sayısı. |
expires | Integer (timestamp) | Paketin UNIX zaman damgası cinsinden bitiş tarihi. |
names | Nesne Dizisi | Her gönderilen isim için sonuçlar listesi. |
names[].name | String | İsmin normalize edilmiş (küçük harfli) hali. |
names[].q | String | Sizin gönderdiğiniz orijinal istek (büyük/küçük harfe duyarlı). |
names[].gender | Enum[String] | Tahmin edilen cinsiyet: male , female veya null . |
names[].country | String | Tahmin sırasında kullanılan ülke kodu. |
names[].total_names | Integer | Bu tahmin için kullanılan örnek sayısı. |
names[].probability | Integer | Cinsiyet tahmininin güven yüzdesi. |
names[].id | String / Integer | İstek ile gönderdiğiniz id alanı. Kendi kayıtlarınızı eşleştirmek için kullanılır. |
duration | String | İsteğin toplam işlenme süresi (örn: 5ms ). |
id
alanını kullanın.