التوثيق (Authentication)

جميع طلبات الـ API إلى GenderAPI تتطلب التوثيق. يمكنك توثيق طلباتك بطريقتين:

  1. مفتاح الـ API داخل جسم الـ POST كـ key parameter
  2. مفتاح الـ API في ترويسة Authorization باستخدام Bearer token

1. مفتاح الـ API في جسم الـ POST

أبسط طريقة للتوثيق هي تضمين مفتاح الـ API الخاص بك في جسم طلب الـ POST على شكل حقل يُسمى key داخل JSON.

على سبيل المثال، لتحديد جنس الاسم "Alice":


مثال باستخدام cURL

curl -X POST "https://api.genderapi.io/api" \
     -H "Content-Type: application/json" \
     -d '{"name": "Alice", "key": "YOUR_API_KEY"}'

مثال باستخدام JavaScript fetch

fetch("https://api.genderapi.io/api", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "Alice",
    key: "YOUR_API_KEY"
  })
})
.then(response => response.json())
.then(data => console.log(data));

مثال باستخدام Python requests

import requests

url = "https://api.genderapi.io/api"

payload = {
    "name": "Alice",
    "key": "YOUR_API_KEY"
}

headers = {
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers, json=payload)

print(response.json())

2. مفتاح الـ API في ترويسة Authorization (Bearer Token)

لأمان أعلى وطلبات أنظف، يمكنك إرسال مفتاح الـ API الخاص بك في ترويسة Authorization باستخدام نظام Bearer. في هذه الطريقة، لا تقوم بإضافة مفتاح الـ API في جسم JSON.

بدلاً من ذلك، تضع فقط بيانات الإدخال الخاصة بك (مثل name) في جسم الـ POST.

على سبيل المثال، لتحديد جنس الاسم "Alice":


مثال باستخدام cURL

curl -X POST "https://api.genderapi.io/api" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"name": "Alice"}'

مثال باستخدام JavaScript fetch

fetch("https://api.genderapi.io/api", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify({
    name: "Alice"
  })
})
.then(response => response.json())
.then(data => console.log(data));

مثال باستخدام Python requests

import requests

url = "https://api.genderapi.io/api"

payload = {
    "name": "Alice"
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.post(url, headers=headers, json=payload)

print(response.json())

الاختيار بين الطريقتين

كلا طريقتي التوثيق مدعومتان في جميع الـ API endpoints. ومع ذلك، فإن استخدام ترويسة Authorization أكثر أمانًا لأنه يبقي مفتاح الـ API الخاص بك خارج جسم الطلب ويتجنب تسجيله عن طريق الخطأ.

بغض النظر عن الطريقة المستخدمة، تأكد دائمًا من ضبط ترويسة Content-Type إلى application/json عند إرسال طلبات POST.