คู่มือเพิ่มข้อมูลอีเมล

อ่านเป็น Markdown

แยกชื่อตัวเลือกและสัญญาณเพศจากที่อยู่อีเมล

แยกชื่อตัวเลือกจากที่อยู่อีเมล แล้วเพิ่มผลการคาดการณ์และฟิลด์แหล่งที่มาที่เกี่ยวข้องลงใน Excel, Google Sheets หรือเวิร์กโฟลว์ API โดยไม่เปลี่ยนข้อมูลที่บุคคลนั้นให้ไว้เอง

เวิร์กโฟลว์เพิ่มข้อมูลอีเมล

เปลี่ยนที่อยู่อีเมลเป็นข้อมูลที่มีโครงสร้าง

ส่งที่อยู่อีเมลที่รองรับ แล้วตรวจสอบชื่อตัวเลือก สัญญาณเพศ บริบทประเทศ และค่าความเชื่อมั่นที่ GenderAPI ส่งคืน

  • ชื่อตัวเลือก
  • สัญญาณเพศ
  • บริบทประเทศ
  • ค่าความเชื่อมั่น
เอกสาร API ที่อยู่อีเมล
เวิร์กโฟลว์ GenderAPI ที่เปลี่ยนที่อยู่อีเมลเป็นข้อมูลลูกค้าที่มีโครงสร้าง
ที่อยู่อีเมลอาจให้ชื่อตัวเลือกและผลการคาดการณ์ได้ แต่บางฟิลด์อาจยังเป็น null

ลองใช้ API V2

วิเคราะห์ที่อยู่อีเมล

ชุดข้อมูล + AI

ส่งค่าหนึ่งค่าเพื่อดูการตอบกลับฉบับเต็ม รวมถึงผลลัพธ์ที่ไม่ทราบและเครดิตที่ใช้

ใช้ AI เสมอ (ค่าเริ่มต้น): 2 เครดิต แม้ผลลัพธ์จะไม่ทราบก็ตาม AI สำรอง: 1 เครดิต รวมถึงกรณีใช้ AI สำรองและผลลัพธ์ที่ไม่ทราบ ปิด ใช้เฉพาะชุดข้อมูล (ไม่ใช้ AI): 1 เครดิตต่อคำขอที่เสร็จสมบูรณ์ รวมถึงผลลัพธ์ที่ไม่ทราบ เมื่อตีความชื่อเล่น: 1 เครดิตหากชุดข้อมูลระบุเพศได้ หรือรวม 2 เครดิตหากใช้ AI แม้ผลลัพธ์จะไม่ทราบก็ตาม

ค่าที่คุณส่ง (ที่อยู่อีเมลทั้งหมด) จะถูกส่งไปยัง GenderAPI.io และจะถูกส่งต่อไปยังบริการ AI ที่กำหนดค่าไว้ในโหมดใช้ AI เสมอ (ค่าเริ่มต้น) หรือเมื่อต้องใช้ AI สำรอง แต่จะไม่ถูกส่งต่อในโหมดปิด ดูวิธีจัดการข้อมูลเพิ่มเติม

ยังไม่มีคีย์ API ที่บันทึกไว้ ใช้การทดลองใช้ตาม IP ที่ใช้ร่วมกันได้ตราบที่ยังมีเครดิตเหลือ

การตอบกลับด้านล่างเป็นการตอบกลับจริงที่บันทึกเมื่อวันที่ 1 ตุลาคม 2026 เลือก “วิเคราะห์” เพื่อส่งคำขอ

การตอบกลับ V2 จริง · บันทึกเมื่อ 1 ตุลาคม 2026
ชื่อSomsak
เพศชาย
ความเชื่อมั่น98%
ประเทศไทย (TH)
แหล่งที่มาโมเดล AI
เครดิตที่ใช้2

การตอบกลับจริงนี้บันทึกเมื่อวันที่ 1 ตุลาคม 2026 โดยแทนที่เฉพาะยอดคงเหลือในบัญชี ค่าที่ได้จากคำขอจริงอาจแตกต่างกัน ผลการคาดการณ์ไม่ใช่ตัวตนที่ได้รับการยืนยัน

การเชื่อมต่อ

เลือกที่ที่จะประมวลผลข้อมูลอีเมล

Microsoft Excelติดตั้งส่วนเสริม →Google Sheetsเปิด Marketplace →Shopifyดูแอป →ประมวลผล Excel/CSV แบบกลุ่มเปิดเครื่องมือไฟล์ →Airtableดูส่วนขยาย →REST APIดู endpoint →

Microsoft Excel

ประมวลผลคอลัมน์ที่อยู่อีเมลด้วยส่วนเสริม Excel

เลือกวิธีวิเคราะห์ที่อยู่อีเมล แล้วระบุคอลัมน์ข้อมูลนำเข้าและคอลัมน์ผลลัพธ์ ใช้สูตร GENDER.FROM_EMAILเมื่อต้องการค้นหาแบบไดนามิกในแต่ละเซลล์ หรือใช้แถบด้านข้างเมื่อต้องการบันทึกผลลัพธ์เป็นค่าคงที่

วิดีโอแนะนำการแยกชื่อจากที่อยู่อีเมลใน Excelดูวิดีโอแนะนำ ExcelYouTube · เปิดในแท็บใหม่

Google Sheets

วิเคราะห์ที่อยู่อีเมลด้วยส่วนเสริมหรือสูตร

ใช้ส่วนเสริมกับแถวที่มีอยู่แล้ว ใช้เวิร์กโฟลว์ที่เหมาะสมกับแถวใหม่ และใช้สูตร GENDER เมื่อต้องการค้นหาทีละเซลล์

REST API

เพิ่มการวิเคราะห์ที่อยู่อีเมลในเซิร์ฟเวอร์ของคุณ

เรียก endpoint ที่อยู่อีเมลตามเอกสารจากเซิร์ฟเวอร์ และอย่าใส่คีย์ API ในเบราว์เซอร์หรือโค้ดสาธารณะ จัดการโครงสร้างการตอบกลับ รหัสข้อผิดพลาด และการใช้เครดิตอย่างชัดเจน

ตัวอย่างฟิลด์ชื่อและเพศที่แยกได้จากที่อยู่อีเมล
ภาพนี้แสดงผลลัพธ์ของการเชื่อมต่อรุ่นก่อน และไม่ได้แสดงกฎการตอบกลับปัจจุบันของ V2

ความแม่นยำและการใช้งานอย่างรับผิดชอบ

อย่าบังคับสร้างผลลัพธ์เมื่อที่อยู่ไม่มีชื่อ

ที่อยู่ตามบทบาท รหัสแบบสุ่ม และกล่องจดหมายที่ใช้ร่วมกันอาจไม่มีสัญญาณที่เชื่อถือได้ เก็บ data.result_status, data.reason และ data.confidence ไว้ และจัดการผลลัพธ์ที่ไม่แน่นอนแยกต่างหาก

คู่มือการใช้งาน V2

เก็บข้อมูลต้นฉบับแยกจากผลการคาดการณ์

เก็บตัวระบุเดิมของเรคคอร์ดไว้ API ไม่ได้เปิดดูโปรไฟล์ ไม่ได้ตรวจสอบว่าใครเป็นเจ้าของบัญชี และไม่ได้ยืนยันตัวตนของบุคคล ส่งบริบทประเทศเฉพาะเมื่อมีข้อมูลที่เชื่อถือได้ และอย่าอนุมานประเทศจากโดเมนหรือภาษาของเว็บไซต์

เรคคอร์ดฟิลด์วิธีตีความ
เรคคอร์ดต้นฉบับcontact_id / original_emailเก็บข้อมูลต้นฉบับไว้ในระบบของคุณ และอย่าใช้ผลการคาดการณ์แทนชื่อที่บุคคลนั้นให้ไว้เอง ค่าเหล่านี้ไม่ใช่ฟิลด์ในการตอบกลับของ API
ชื่อตัวเลือกdata.name / data.matchชื่อที่ถูกเลือกอาจเป็น null ไม่มีฟิลด์สำหรับนามสกุลที่ได้รับการยืนยัน และการจับคู่ไม่ได้พิสูจน์ตัวตนของเจ้าของกล่องจดหมาย
ผลการคาดการณ์data.gender / data.result_status / data.reasonบันทึกผลลัพธ์ที่ไม่ทราบเป็นค่า JSON null ดั้งเดิม เรคคอร์ดในชุดข้อมูลที่มีจำนวนเท่ากันอาจส่งคืนชื่อตัวเลือกโดยไม่มีเพศ
หลักฐานdata.source / data.confidence_kind / data.confidence / data.sample_countconfidence มีค่าระหว่าง 0 ถึง 1 ความถี่ในชุดข้อมูลกับคะแนนจาก AI วัดคนละสิ่งกัน และผลลัพธ์จาก AI มี sample_count เป็น null
บันทึกการดำเนินงานmeta.request_id / meta.usageเก็บรหัสคำขอและสถานะการหักเครดิตไว้ การไม่ได้รับการตอบกลับไม่ได้แปลว่างานนั้นไม่มีค่าใช้จ่ายหรือล้มเหลว

การค้นหาในชุดข้อมูลจะวิเคราะห์ส่วนหน้า @ ตัดส่วนต่อท้ายที่ขึ้นต้นด้วย + ออก แล้วประเมินชื่อตัวเลือก คำขอมาตรฐานอาจเพิ่มชื่อตัวเลือกจากส่วนต้นและส่วนท้ายของส่วนที่ประกอบกันได้ในจำนวนจำกัด หากมีหลายเรคคอร์ดที่ตรงกัน ระบบจะเลือกเรคคอร์ดที่มีจำนวนที่จัดเก็บไว้มากที่สุด ซึ่งไม่ได้หมายความว่าชื่อตัวเลือกนั้นเป็นชื่อจริงของบุคคล เมื่อส่งประเทศมา ระบบจะเลือกเรคคอร์ดของประเทศนั้นก่อนสำหรับชื่อตัวเลือกแต่ละชื่อ หากไม่มีอาจใช้เรคคอร์ดระดับโลกแทน ตรวจสอบ data.match.scope และ country_source

เลือกโหมดการประมวลผลและค่าใช้จ่ายเครดิต

ตัวเลือกการประมวลผลเครดิตต่อรายการที่สำเร็จ
options.ai_mode: offใช้เฉพาะชุดข้อมูล1 เครดิต
options.ai_mode: fallbackค้นหาในชุดข้อมูลก่อน หากระบุเพศไม่ได้จึงใช้ AI สำรองแบบปกติรวม 1 เครดิต รวมถึง AI
options.ai_mode: alwaysส่งให้ AI โดยตรง2 เครดิต
forceToGenderize: trueค้นหาในชุดข้อมูลก่อน แล้วตีความชื่อเล่นได้แม้ไม่มีชื่อจริง1 เมื่อชุดข้อมูลเพียงพอ หรือรวม 2 เมื่อใช้ AI

ค่าเริ่มต้นของคำขอเดี่ยวคือ fallback ส่วนรายการในคำขอแบบกลุ่มมีค่าเริ่มต้นเป็น off forceToGenderize เป็นตัวเลือกที่ไม่บังคับสำหรับชื่อ ที่อยู่อีเมล และชื่อผู้ใช้ เมื่อใช้ตัวเลือกนี้ให้ละ ai_mode หรือใช้ fallback เพราะใช้ร่วมกับ off และ always ไม่ได้ ผลลัพธ์ unknown ที่ดำเนินการสำเร็จก็ถูกหักเครดิตเช่นกัน ยอดคงเหลือเริ่มต้นที่มากกว่า 0 ก็เริ่มคำขอได้ และยอดคงเหลืออาจติดลบหลังการประมวลผล

เมื่อมีการใช้ AI ระบบ AI จะได้รับที่อยู่ทั้งหมดที่ส่งมา รวมถึงโดเมนและส่วนต่อท้ายหลังเครื่องหมาย + แม้จะได้รับคำสั่งให้ละเว้นส่วนเหล่านี้ก็ตาม forceToGenderize อาจส่งคืนเพศได้แม้ไม่พบชื่อจริง ซึ่งไม่ได้หมายความว่ามีการแยกชื่อที่ได้รับการยืนยันเข้าสู่ CRM ของคุณ

ทดสอบคำขออีเมลที่ใช้เฉพาะชุดข้อมูลก่อน

ตัวอย่างข้อมูลนำเข้าไม่ได้รับประกันผลการคาดการณ์ใดผลหนึ่ง ตั้งค่า GENDERAPI_API_KEY ในสภาพแวดล้อมของเซิร์ฟเวอร์ และอย่าใส่คีย์ในโค้ดฝั่งไคลเอนต์ที่เปิดเผยต่อสาธารณะ V1 และ V2 ใช้คีย์ API เดียวกันและยอดคงเหลือเดียวกันของบัญชี ตรวจสอบคีย์ด้วย /api/v2/usage และตรวจสอบว่า meta.access.mode เป็น api_key

เลือกภาษาโปรแกรม ตั้งค่าคีย์ API จากนั้นรันตัวอย่างบนเซิร์ฟเวอร์ของคุณ

คำขอคาดการณ์ทุกครั้งเป็นงานใหม่ที่มีการหักเครดิต รวมถึงคำขอที่ส่งซ้ำ ตัวอย่างเหล่านี้ไม่ส่งคำขอซ้ำโดยอัตโนมัติ ตรวจสอบสถานะการหักเครดิตก่อนส่งคำขออีกครั้ง

ก่อนรัน: การเข้าถึงและการจัดการข้อผิดพลาด

รันตัวอย่างเหล่านี้บนเซิร์ฟเวอร์ของคุณ ตั้งค่า GENDERAPI_API_KEY ในสภาพแวดล้อมของโปรเซสเป็นคีย์ API ที่มีอยู่ ตรวจสอบว่า meta.access.mode เป็น api_key เพราะคีย์ที่ระบบไม่รู้จักอาจทำให้ใช้การทดลองใช้ตาม IP แทน

การตอบกลับ JSON ที่มี HTTP 4xx และ 5xx จะคงเนื้อหาข้อผิดพลาดไว้และจบด้วยสถานะการออกที่ไม่ใช่ศูนย์ ตรวจสอบ code, action และ meta.usage.billing_status ก่อนส่งคำขอซ้ำ

คู่มือข้อผิดพลาดและการส่งคำขอซ้ำ →
cURL
curl --silent --show-error --fail-with-body --max-time 30 \
  --request POST 'https://api.genderapi.io/api/v2/gender' \
  --header "Authorization: Bearer ${GENDERAPI_API_KEY:?Set GENDERAPI_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "email",
  "value": "alice.smith@example.com",
  "options": {
    "ai_mode": "off"
  }
}'

cURL 7.76+ ในเชลล์ POSIX รันในเทอร์มินัล เอกสารของรันไทม์

JavaScript / Node.js
// Server-side Node.js. Save as example.mjs.
const apiKey = process.env.GENDERAPI_API_KEY;
if (!apiKey) throw new Error("Set GENDERAPI_API_KEY");
const body = {
  "type": "email",
  "value": "alice.smith@example.com",
  "options": {
    "ai_mode": "off"
  }
};

const response = await fetch("https://api.genderapi.io/api/v2/gender", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
  redirect: "error",
});
const raw = await response.text();
if (!(response.headers.get("content-type") ?? "").includes("json")) {
  throw new Error(`HTTP ${response.status}: expected JSON; request ID ${response.headers.get("x-request-id")}`);
}
const result = JSON.parse(raw); // Also accepts application/problem+json.
if (!response.ok) {
  console.error(`HTTP ${response.status}`, result);
  process.exitCode = 1; // A retry is a new operation; inspect billing first.
} else {
  console.log(JSON.stringify(result, null, 2));
  // For batches, inspect every item: HTTP 200 may contain item errors.
}

Node.js 22+ พร้อม fetch ในตัว บันทึกเป็น example.mjs แล้วรัน node example.mjs เอกสารของรันไทม์

Python
import json
import os
import sys
import urllib.error
import urllib.request

api_key = os.environ.get("GENDERAPI_API_KEY")
if not api_key:
    raise RuntimeError("Set GENDERAPI_API_KEY")
body = json.loads("{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}")

class NoRedirect(urllib.request.HTTPRedirectHandler):
    def redirect_request(self, req, fp, code, msg, headers, newurl):
        return None

request = urllib.request.Request(
    "https://api.genderapi.io/api/v2/gender",
    method="POST",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + api_key,
        "Content-Type": "application/json",
    },
)
opener = urllib.request.build_opener(NoRedirect())
try:
    response = opener.open(request, timeout=30)
except urllib.error.HTTPError as error:
    response = error  # Keep the Problem Details body on non-2xx responses.
with response:
    status = response.status
    raw = response.read().decode("utf-8")
    if "json" not in response.headers.get("Content-Type", ""):
        raise RuntimeError(f"HTTP {status}: expected a JSON response")
    result = json.loads(raw)
print(json.dumps(result, indent=2), file=sys.stderr if status >= 300 else sys.stdout)
if not 200 <= status < 300:
    sys.exit(1)  # Inspect code, action and billing before retrying.
# For batches, inspect every item even when HTTP status is 200.

Python 3.10+ พร้อมไลบรารีมาตรฐาน บันทึกเป็น example.py แล้วรัน python3 example.py เอกสารของรันไทม์

PHP
<?php
$apiKey = getenv('GENDERAPI_API_KEY');
if (!$apiKey) {
    throw new RuntimeException('Set GENDERAPI_API_KEY');
}
$body = json_decode('{"type":"email","value":"alice.smith@example.com","options":{"ai_mode":"off"}}', true, 512, JSON_THROW_ON_ERROR);

$ch = curl_init('https://api.genderapi.io/api/v2/gender');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($body, JSON_THROW_ON_ERROR),
]);
$raw = curl_exec($ch);
if ($raw === false) {
    throw new RuntimeException(curl_error($ch));
}
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE) ?: '';
curl_close($ch);
if (strpos($contentType, 'json') === false) {
    throw new RuntimeException("HTTP $status: expected a JSON response");
}
$result = json_decode($raw, true, 512, JSON_THROW_ON_ERROR);
$output = json_encode($result, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR) . PHP_EOL;
if ($status < 200 || $status >= 300) {
    fwrite(STDERR, $output); // Preserve the Problem Details body.
    exit(1);
}
echo $output;
// For batches, inspect every item; HTTP 200 can contain item errors.

PHP 8+ พร้อมส่วนขยาย cURL บันทึกเป็น example.php แล้วรัน php example.php เอกสารของรันไทม์

Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;

public class GenderApiExample {
    private static String requiredEnv(String name) {
        String value = System.getenv(name);
        if (value == null || value.isBlank()) throw new IllegalStateException("Set " + name);
        return value;
    }

    public static void main(String[] args) throws Exception {
        String apiKey = requiredEnv("GENDERAPI_API_KEY");
        String body = "{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}";
        HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))
            .followRedirects(HttpClient.Redirect.NEVER)
            .build();
        HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.genderapi.io/api/v2/gender"))
            .timeout(Duration.ofSeconds(30))
            .header("Authorization", "Bearer " + apiKey)
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(body, StandardCharsets.UTF_8))
            .build();
        HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8));
        if (!response.headers().firstValue("content-type").orElse("").contains("json")) {
            throw new IllegalStateException("HTTP " + response.statusCode() + ": expected JSON");
        }
        // JSON text; parse with your application's JSON library when integrating.
        if (response.statusCode() < 200 || response.statusCode() >= 300) {
            System.err.println(response.body()); // Includes Problem Details.
            System.exit(1);
        }
        System.out.println(response.body());
        // For batches, inspect each item's data or error, including on HTTP 200.
    }
}

Java 17+ พร้อมไคลเอนต์ HTTP มาตรฐาน บันทึกเป็น GenderApiExample.java แล้วรัน java GenderApiExample.java เอกสารของรันไทม์

C# / .NET
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;

string RequiredEnv(string name) =>
    !string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable(name))
        ? Environment.GetEnvironmentVariable(name)!
        : throw new InvalidOperationException($"Set {name}");

var apiKey = RequiredEnv("GENDERAPI_API_KEY");
using var handler = new HttpClientHandler { AllowAutoRedirect = false };
using var client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(30) };
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.genderapi.io/api/v2/gender");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
request.Content = new StringContent("{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}", Encoding.UTF8, "application/json");

using var response = await client.SendAsync(request);
var raw = await response.Content.ReadAsStringAsync();
if (!(response.Content.Headers.ContentType?.MediaType?.Contains("json") ?? false))
    throw new InvalidOperationException($"HTTP {(int)response.StatusCode}: expected JSON");
using var result = JsonDocument.Parse(raw);
if (!response.IsSuccessStatusCode)
{
    Console.Error.WriteLine(result.RootElement); // Preserve Problem Details.
    Environment.ExitCode = 1;
}
else
{
    Console.WriteLine(result.RootElement);
    // For batches, inspect every item even on HTTP 200.
}

แอปพลิเคชันคอนโซล .NET 8+ ใช้เป็น Program.cs ในโปรเจกต์คอนโซล แล้วรัน dotnet run เอกสารของรันไทม์

Go
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "strings"
    "time"
)

func requiredEnv(name string) string {
    value := os.Getenv(name)
    if value == "" { panic("Set " + name) }
    return value
}

func run() error {
    apiKey := requiredEnv("GENDERAPI_API_KEY")
    body := "{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}"
    request, err := http.NewRequest("POST", "https://api.genderapi.io/api/v2/gender", strings.NewReader(body))
    if err != nil { return err }
    request.Header.Set("Authorization", "Bearer " + apiKey)
    request.Header.Set("Content-Type", "application/json")
    client := &http.Client{
        Timeout: 30 * time.Second,
        CheckRedirect: func(req *http.Request, via []*http.Request) error {
            return http.ErrUseLastResponse
        },
    }
    response, err := client.Do(request)
    if err != nil { return err }
    defer response.Body.Close()
    raw, err := io.ReadAll(response.Body)
    if err != nil { return err }
    if !strings.Contains(response.Header.Get("Content-Type"), "json") || !json.Valid(raw) {
        return fmt.Errorf("HTTP %d: expected a JSON response", response.StatusCode)
    }
    if response.StatusCode < 200 || response.StatusCode >= 300 {
        return fmt.Errorf("HTTP %d: %s", response.StatusCode, raw)
    }
    fmt.Println(string(raw))
    // For batches, inspect every item even on HTTP 200.
    return nil
}

func main() {
    if err := run(); err != nil {
        fmt.Fprintln(os.Stderr, err) // Keep Problem Details for error handling.
        os.Exit(1)
    }
}

Go 1.22+ พร้อมไลบรารีมาตรฐาน บันทึกเป็น main.go แล้วรัน go run main.go เอกสารของรันไทม์

จัดการผลลัพธ์ของรายการและการส่งคำขอซ้ำ

POST /api/v2/gender/batch รับได้สูงสุด 50 รายการเมื่อใช้คีย์ API และสูงสุด 10 รายการในการทดลองใช้ตาม IP กำหนด type, value และ options ให้แต่ละรายการแยกกัน หากต้องการใช้ AI สำรองแบบปกติ ต้องระบุ fallback ในแต่ละรายการอย่างชัดเจน id ต้องไม่ซ้ำกันภายในคำขอแบบกลุ่ม และ index เริ่มจาก 0 ภายในคำขอแบบกลุ่มที่ส่ง เก็บรหัสงานและรหัสแถวต้นฉบับของคุณแยกไว้

HTTP 200 ไม่ได้แปลว่าทุกรายการดำเนินการสำเร็จ ให้จัดการผลลัพธ์ identified, unknown และ error แยกกัน meta.summary.succeeded นับทั้ง identified และ unknown ประเมิน data.gender, source, confidence_kind, confidence, match และ reason ไปพร้อมกัน และอย่าถือว่าคะแนนจาก AI กับความถี่ในชุดข้อมูลเป็นสิ่งเดียวกัน

เมื่อ meta.usage.billing_status เป็น confirmed ให้ส่งซ้ำเฉพาะข้อผิดพลาดที่อนุญาตให้ส่งคำขอซ้ำได้ หากสถานะเป็น unconfirmed หรือไม่ได้รับการตอบกลับ ให้หยุดและตรวจสอบการหักเครดิตก่อน การส่งรายการเดิมซ้ำ รวมถึงผลลัพธ์ unknown ที่ดำเนินการสำเร็จ จะเป็นงานใหม่ที่มีค่าใช้จ่าย จึงไม่ควรส่งรายการทั้งหมดซ้ำโดยไม่ตรวจสอบ

ข้อกำหนดของคำขอแบบกลุ่ม · ฟิลด์ในการตอบกลับ · ตัวเลือก AI · การประเมินความแม่นยำและค่าความเชื่อมั่น · นโยบายความเป็นส่วนตัว

ส่วนเสริมสำหรับ Excel และ Google Sheets รวมถึงการเชื่อมต่อสำเร็จรูปอื่น ๆ อาจใช้วิธีเชื่อมต่อและรูปแบบผลลัพธ์ของตัวเอง อย่าถือว่าผลลัพธ์จากเครื่องมือเหล่านี้เป็นไปตามโครงสร้าง JSON ของ V2 นี้ และให้ตรวจสอบคู่มือล่าสุดของการเชื่อมต่อนั้น

คำถามที่พบบ่อย

ค้นหาชื่อและเพศจากที่อยู่อีเมล

แยกชื่อจากที่อยู่อีเมลได้หรือไม่?

สำหรับที่อยู่ส่วนบุคคลที่รองรับ GenderAPI สามารถแยกชื่อตัวเลือกจากส่วนหน้า @ และส่งคืนเพศ ประเทศ และค่าความเชื่อมั่นเมื่อมีผลลัพธ์ ชื่อตัวเลือกเป็นผลการคาดการณ์ ไม่ใช่ชื่อที่ได้รับการยืนยันของเจ้าของกล่องจดหมาย

ได้ชื่อจากที่อยู่อีเมลทุกที่อยู่หรือไม่?

ไม่ ที่อยู่ตามบทบาท รหัสแบบสุ่ม และส่วนหน้า @ ที่ไม่มีชื่อจริงอาจไม่มีสัญญาณที่เชื่อถือได้ ตรวจสอบ data.result_status, data.reason, data.confidence และ data.confidence_kind ในการตอบกลับของ V2

คำขออีเมลถูกจัดเก็บหรือไม่?

ตามนโยบายที่เผยแพร่ คำขออีเมลจะไม่ถูกเก็บรักษาไว้เป็นบันทึกคำขอที่นำกลับมาใช้ซ้ำได้ บันทึกทางเทคนิคและบันทึกด้านความปลอดภัยซึ่งแยกต่างหากเป็นไปตามระยะเวลาการเก็บรักษาที่ระบุไว้ในนโยบายความเป็นส่วนตัว อย่ากรอกข้อมูลส่วนบุคคลที่ละเอียดอ่อนในเดโมสาธารณะ

ใช้ใน Excel และ Google Sheets ได้หรือไม่?

ได้ ประมวลผลคอลัมน์ที่อยู่อีเมลได้ด้วยส่วนเสริม Excel ส่วนเสริม Google Sheets หรือเครื่องมือไฟล์ Excel/CSV การเชื่อมต่อเหล่านี้ใช้รูปแบบผลลัพธ์ของตัวเองซึ่งต่างจาก JSON ของ V2

API ส่งคืนฟิลด์ใดบ้าง?

V2 ส่งคืน data.name, data.gender, data.match พร้อมฟิลด์แหล่งที่มาและค่าความเชื่อมั่น ส่วน meta มีรหัสคำขอและการใช้เครดิต ชื่อตัวเลือกหรือเพศอาจเป็น null และไม่มีฟิลด์สำหรับนามสกุลที่ได้รับการยืนยัน

AI ถูกใช้เมื่อใด?

คำขอเดี่ยวของ V2 เปิด AI สำรองแบบปกติไว้เป็นค่าเริ่มต้น เดโมนี้ใช้คำขอมาตรฐานหรือ forceToGenderize ได้ ส่วน off และ always ต้องกำหนดในคำขอ API AI สำรองแบบปกติใช้รวม 1 เครดิต และ always ใช้ 2 เครดิต เมื่อใช้ forceToGenderize ผลจากชุดข้อมูลใช้ 1 เครดิต ผลจาก AI ใช้รวม 2 เครดิต และผลลัพธ์ยังอาจเป็น unknown ได้

ทดลองใช้โดยไม่มีค่าใช้จ่ายได้หรือไม่?

บัญชีที่ลงทะเบียนแล้วได้รับ 200 เครดิตทุกวันโดยไม่มีค่าใช้จ่าย และการทดลองใช้ตาม IP ที่ใช้ร่วมกันให้ 10 เครดิตต่อที่อยู่ IP สาธารณะในแต่ละรอบ 24 ชั่วโมง หากไม่มีคีย์หรือระบบไม่รู้จักคีย์ อาจใช้การทดลองใช้ตาม IP แทน จึงควรตรวจสอบ meta.access.mode ในการตอบกลับ ระบบหักเครดิตตามงาน ไม่ได้นับตามจำนวนคำขอ

เผยแพร่: 18 กรกฎาคม 2025ตรวจสอบล่าสุด:

พร้อมสำหรับเวิร์กโฟลว์ API

ทดสอบการวิเคราะห์ที่อยู่อีเมลบนเซิร์ฟเวอร์

ใช้ endpoint ที่อยู่อีเมลตามเอกสาร และเก็บคีย์ API ไว้บนเซิร์ฟเวอร์เท่านั้น

เอกสาร API ที่อยู่อีเมล

ทดสอบต่อ

ใช้คีย์ API ของ GenderAPI

กรอกคีย์ API จากบัญชี GenderAPI เพื่อทดสอบต่อเมื่อเครดิตทดลองใช้ตาม IP ที่ใช้ร่วมกันในรอบ 24 ชั่วโมงหมดแล้ว การบันทึกคีย์จะไม่ส่งคำขอ เมื่อพร้อมแล้วให้กดส่งอีกครั้ง

จัดเก็บเฉพาะในแท็บเบราว์เซอร์นี้ และจะถูกลบเมื่อปิดแท็บ