Lô tên, email và tên người dùng
POST /gender/batch chấp nhận một mảng items chứa 1–50 mục nhập có quyền truy cập khóa API hoặc tối đa 10 mục nhập có bản dùng thử IP. Gửi tên, địa chỉ email, tên người dùng hoặc kết hợp cả ba. Mỗi mục có các trường country, forceToGenderize và options riêng biệt. ID là tùy chọn nhưng phải là duy nhất trong lô.
Kết quả tuân theo thứ tự đầu vào. Mỗi kết quả chứa index, charged_credits và chính xác một trong số data hoặc error. Nếu bạn đã cung cấp id, nó cũng sẽ được trả lại. Phản hồi HTTP 200 có thể chứa lỗi cho từng mục nhập, vì vậy hãy kiểm tra mọi kết quả. meta.summary bao gồm total, succeeded, identified, unknown và failed. Một dự đoán hoàn chỉnh mà không biết giới tính vẫn được tính là tín dụng thành công và tốn phí.
Nếu việc xác thực yêu cầu hoặc lập kế hoạch không thành công, toàn bộ lô sẽ bị từ chối trước khi bất kỳ khoản tín dụng nào bị khấu trừ. Nếu tất cả các mục nhập đều không thành công trong quá trình thực thi, API sẽ trả về phản hồi Sự cố không phải 2xx với mảng data và bí danh cũ results. Các mục không thành công sẽ không có tín dụng sau khi được xác nhận hoàn lại tiền. Nếu việc thanh toán chưa được xác nhận, đừng cho rằng chi phí được báo cáo cho mỗi mục là chi phí cuối cùng.
Chọn ngôn ngữ lập trình. Thiết lập khóa API của bạn, sau đó chạy ví dụ trên máy chủ của bạn.
Mỗi yêu cầu dự đoán là một hoạt động mới có thể tính phí, bao gồm cả số lần thử lại. Những ví dụ này không tự động thử lại. Kiểm tra trạng thái thanh toán trước khi gửi yêu cầu khác.
Trước khi chạy: truy cập và xử lý lỗi
Chạy các ví dụ này trên máy chủ của bạn. Đặt GENDERAPI_API_KEY trong môi trường quy trình thành khóa API hiện có của bạn. Xác nhận meta.access.mode là api_key: khóa không được nhận dạng có thể quay lại bản dùng thử IP.
Đối với các phản hồi JSON HTTP 4xx và 5xx, các ví dụ sẽ giữ nguyên phần nội dung lỗi và thoát với trạng thái khác 0. Kiểm tra code, action và meta.usage.billing_status trước khi thử lại. Để có phản hồi hàng loạt HTTP 200, hãy kiểm tra cả data hoặc error trong từng kết quả.
Hướng dẫn lỗi và thử lại →cURL 7.76+ trong vỏ POSIX. Chạy trong terminal của bạn. Tài liệu về thời gian chạy
Node.js 22+; tìm nạp tích hợp. Lưu dưới dạng example.mjs và chạy node example.mjs. Tài liệu về thời gian chạy
Python 3.10+; thư viện chuẩn. Lưu dưới dạng example.py và chạy python3 example.py. Tài liệu về thời gian chạy
PHP 8+ với phần mở rộng cURL. Lưu dưới dạng example.php và chạy php example.php. Tài liệu về thời gian chạy
Java 17+; máy khách HTTP tiêu chuẩn. Lưu dưới dạng GenderApiExample.java và chạy java GenderApiExample.java. Tài liệu về thời gian chạy
Ứng dụng bảng điều khiển .NET 8+. Sử dụng làm Program.cs trong dự án bảng điều khiển, sau đó chạy dotnet run. Tài liệu về thời gian chạy
Go 1.22+; thư viện chuẩn. Lưu dưới dạng main.go và chạy go run main.go. Tài liệu về thời gian chạy
Đọc phản hồi hàng loạt
Ví dụ tổng hợp độc lập này chứa kết quả khớp với tập dữ liệu, kết quả không xác định và lỗi của nhà cung cấp. Nó minh họa phản hồi HTTP 200 thành công một phần, không phải kết quả mong đợi của yêu cầu hàng loạt ở trên. Hai vật phẩm thành công có giá 1 tín dụng mỗi vật phẩm; mặt hàng bị lỗi đã được xác nhận là không tính phí.
{
"data": [
{
"index": 0,
"id": "known",
"charged_credits": 1,
"data": {
"input": {
"type": "name",
"value": "Onur",
"country": "TR"
},
"name": "onur",
"gender": "male",
"country": "TR",
"confidence": 0.9,
"confidence_kind": "observed_frequency",
"sample_count": 100,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "onur",
"method": "normalized",
"scope": "country",
"country": "TR"
}
}
},
{
"index": 1,
"id": "missing",
"charged_credits": 1,
"data": {
"input": {
"type": "name",
"value": "zzzxxyy",
"country": null
},
"name": null,
"gender": null,
"country": null,
"confidence": null,
"confidence_kind": null,
"sample_count": null,
"source": "none",
"result_status": "unknown",
"reason": "not_found",
"country_source": null,
"match": {
"name": null,
"method": null,
"scope": null,
"country": null
}
}
},
{
"index": 2,
"id": "failed",
"charged_credits": 0,
"error": {
"type": "urn:genderapi:problem:ai_upstream_error",
"title": "ai upstream error",
"status": 502,
"detail": "The AI provider could not complete the request.",
"instance": "urn:uuid:11111111-1111-4111-8111-111111111111",
"code": "ai_upstream_error",
"request_id": "11111111-1111-4111-8111-111111111111",
"documentation": "https://api.genderapi.io/api/v2/errors",
"action": "inspect_billing_before_retry"
}
}
],
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 2,
"remaining_credits": 6,
"billing_status": "confirmed",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
},
"summary": {
"total": 3,
"succeeded": 2,
"identified": 1,
"unknown": 1,
"failed": 1
}
}
}Lập kế hoạch ghi có hàng loạt và thử lại
Xác thực bằng khóa Bearer API hiện có của bạn và gửi Content-Type: application/json. Mỗi đợt gửi là một hoạt động mới. Nếu thử lại lỗi một phần, chỉ gửi những mục không thành công sau khi kiểm tra thanh toán; gửi lại các mặt hàng thành công sẽ tính phí lại.
Theo mặc định, các mục nhập hàng loạt sử dụng off và tiêu tốn 1 tín dụng cho mỗi dự đoán hoàn thành. Việc chọn fallback cũng tốn tổng cộng 1 tín dụng, bao gồm cả AI. Chọn always tốn 2 tín dụng. Với forceToGenderize, giới tính được tìm thấy trong tập dữ liệu có giá 1 tín dụng; sử dụng AI tốn tổng cộng 2 tín dụng. Các dự đoán đã hoàn thành với giới tính không xác định cũng phải trả phí. Số dư ban đầu là 1 tín dụng là đủ để bắt đầu một đợt. Khoản khấu trừ cuối cùng có thể khiến số dư âm.