Tulkitse JSON-vastaus
Onnistuneet yksittäiset vastaukset sisältävät kentät data ja meta. Seuraava tietoaineistoesimerkki on todellinen vastaus, joka haettiin 1. lokakuuta 2026 API-avaimella; vain tilin saldo on korvattu. Se ei kuvaa tuotteen mitattua tarkkuutta, ja reaaliaikainen pyyntö voi palauttaa eri tuloksen. API-avaimella tehdyt pyynnöt palauttavat arvon access.mode: api_key, ja vain kokeilua koskevat kiintiökentät ovat null; IP-kokeilun pyynnöt palauttavat arvon ip_trial sekä kokeilun rajan ja nollausajan.
{
"data": {
"input": {
"type": "name",
"value": "Juha",
"country": "FI"
},
"name": "juha",
"gender": "male",
"country": "FI",
"confidence": 0.9988558352402745,
"confidence_kind": "observed_frequency",
"sample_count": 874,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "juha",
"method": "normalized",
"scope": "country",
"country": "FI"
}
},
"meta": {
"request_id": "010b6440-a403-4d2e-bc0f-f44e6c03891c",
"duration_ms": 10,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}Ennustevastauksen kentät
| Kenttä | Tyyppi | Voi olla null | Esimerkki | Kuvaus |
|---|---|---|---|---|
data.input | object | Ei | {"type":"name","value":"Juha","country":"FI"} | Syötteen tyyppi, arvo ja maa. forceToGenderize on mukana, kun sen arvo on true. |
data.name | string | Kyllä | "juha" | Osumana löytynyt tai poimittu etunimi; null, jos sellaista ei ole. |
data.gender | string | Kyllä | "male" | male, female tai JSON null. Päätelmä, ei vahvistettu henkilöllisyys. |
data.result_status | string | Ei | "identified" | identified, kun sukupuoli palautetaan; muuten unknown. |
data.reason | string | Kyllä | null | null identified-tuloksissa. Tuntemattoman tuloksen syyt: not_found, no_name_candidate, ambiguous tai insufficient_evidence. |
data.confidence | number | Kyllä | 0.95 | Pistemäärä väliltä 0–1 tai null. Jos sukupuoli on null, myös luottamusarvo on null. |
data.confidence_kind | string | Kyllä | "observed_frequency" | observed_frequency: hallitsevan sukupuolen määrä jaettuna tietoaineiston kokonaismäärällä. model_reported: tekoälyn pistemäärä, ei kalibroitu todennäköisyys. Null, jos arvoa ei ole saatavilla. |
data.sample_count | integer | Kyllä | 1200 | Tietoaineiston otoskoko tai null. Tekoäly ei keksi otoskokoa. |
data.source | string | Ei | "dataset" | dataset, ai tai none. |
data.country | string | Kyllä | "FI" | Tietoaineistoon tai ai_association-arvoon perustuva maayhteys, tai null. Ei vahvista kansalaisuutta, asuinpaikkaa tai etnistä taustaa. |
data.country_source | string | Kyllä | "dataset" | Maayhteyden lähde: dataset, ai_association tai null. |
data.match | object | Ei | {"name":"juha","method":"normalized","scope":"country","country":"FI"} | Tietoaineistosta löytynyt nimi, menetelmä (normalized, token, substring tai model_inference), laajuus (country tai global) ja vastaava maa. Puuttuvat tiedot ovat null. |
Palautetut syötekentät
| Kenttä | Tyyppi | Voi olla null | Esimerkki | Kuvaus |
|---|---|---|---|---|
data.input.type | string | Ei | "name" | Syötteen luokka: name, email tai username. |
data.input.value | string | Ei | "Juha" | Lähetetty ennustearvo. |
data.input.country | string | Kyllä | "FI" | Lähetetty maakonteksti; null, jos jätetty pois. |
data.input.forceToGenderize | boolean | Ei | true | Mukana vain lempinimitilan ollessa käytössä; muuten puuttuu. |
Tietoaineisto-osuman kentät
| Kenttä | Tyyppi | Voi olla null | Esimerkki | Kuvaus |
|---|---|---|---|---|
data.match.name | string | Kyllä | "juha" | Valittu tietoaineiston ehdokas; null, jos riviä ei valittu. |
data.match.method | string | Kyllä | "normalized" | normalized, token, substring tai model_inference; null, jos ei saatavilla. |
data.match.scope | string | Kyllä | "country" | country tai global tietoaineistohaussa; null tekoälytuloksille tai jos perusteet puuttuvat. |
data.match.country | string | Kyllä | "FI" | Valitun tietoaineistorivin maa; null globaaleille riveille tai tekoälylle. |
Käyttöoikeus, veloitus ja pyynnön metatiedot
| Kenttä | Tyyppi | Voi olla null | Esimerkki | Kuvaus |
|---|---|---|---|---|
meta.request_id | string | Ei | "550e8400-e29b-41d4-a716-446655440000" | Tämän HTTP-yrityksen yksilöllinen tunniste; myös X-Request-ID-otsakkeessa. |
meta.duration_ms | integer | Ei | 42 | Pyynnön käsittelyaika millisekunteina. |
meta.access.mode | string | Ei | "api_key" | api_key, ip_trial tai unauthenticated. Tarkista api_key käyttäessäsi maksullista tiliä. |
meta.access.reason | string | Kyllä | null | Kokeiluun siirtymisen syy: api_key_missing, api_key_invalid tai api_key_not_found; muuten null. |
meta.usage.charged_credits | integer | Kyllä | 1 | Veloitetut nettokrediitit. Nolla ennen veloitusta tai vahvistetun täyden palautuksen jälkeen; null, jos veloitusta ei ole vahvistettu. |
meta.usage.remaining_credits | integer | Kyllä | 99 | Saldo toiminnon valmistuessa. Voi olla negatiivinen; null, jos saldoa ei saada tai veloitusta ei ole vahvistettu. |
meta.usage.billing_status | string | Ei | "confirmed" | not_charged, confirmed tai unconfirmed. Tarkista ennen epäonnistuneen ennusteen uutta yritystä. |
meta.usage.resets_at | string | Kyllä | "2026-09-27T12:00:00.000Z" | IP-kokeilun nollausaika UTC-ajassa (ISO 8601); null API-avaintileillä tai jos aika ei ole tiedossa. |
meta.usage.limit | integer | Kyllä | 10 | IP-kokeilun krediittikiintiö; null API-avaintileille. |
meta.usage.period_seconds | integer | Kyllä | 86400 | IP-kokeilujakson pituus sekunteina; null API-avaintileille. |
Onnistunut tuntematon tulos
HTTP 200 tarkoittaa, että toiminto valmistui; se ei takaa sukupuolta. Säilytä JSON null -arvo äläkä muunna sitä arvoksi male tai female, tyhjäksi merkkijonoksi tai nollaluottamukseksi. Tarkista data.result_status ja data.reason erillään HTTP-virheistä.
Tämä todellinen, vain tietoaineistoa käyttävä esimerkki, joka haettiin 1. lokakuuta 2026, palauttaa arvot source: none ja reason: not_found ja maksaa silti 1 krediitin. Jos valitulla tietoaineiston rivillä on tasatilanne, tulos voi olla reason: ambiguous, ja sample_count säilyy. Tuntematon tekoälytulos käyttää arvoja source: ai ja reason: insufficient_evidence.
{
"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
}
},
"meta": {
"request_id": "54fdcd4e-f8bc-4224-918f-3a5732e08b9c",
"duration_ms": 10,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}Tulkitse luottamusarvo ja osuman perusteet
Luottamusarvo 0,9 ilmoitetaan asteikolla 0–1. observed_frequency-arvossa se tarkoittaa hallitsevaa määrää jaettuna valitun tietoaineiston kokonaismäärällä; se ei ole tuotteen mitattu kokonaistarkkuus. model_reported-pistemäärän antaa tekoäly, eikä sitä ole kalibroitu tietoaineiston esiintymistiheyksiin.
Valitse sovelluksesi kynnysarvot omien arviointiaineistojesi ja confidence_kind-kentän perusteella. Älä järjestä tietoaineiston ja tekoälyn pistemääriä suoraan keskenään ikään kuin ne mittaisivat samaa asiaa. Tekoälytuloksissa match.name, match.scope ja match.country ovat null, koska tietoaineiston riviä ei valittu; match.method on model_inference.
Koko nimen tietoaineistotulos voi perustua nimen osaan eikä koko merkkijonoon. data.input säilyttää lähetetyn arvon; data.name kuvaa palautetun nimen ja data.match ehdokkaan sekä hakualueen.
Päätä, mitä sovelluksesi tekee seuraavaksi
Käsittele ensin pyyntö- ja kohdekohtaiset virheet ja tarkista sitten result_status. Yksittäisessä ennusteessa lue data; eräpyynnössä tee sama päätös jokaisen onnistuneen kohteen data-kentän perusteella. Säilytä tuntemattomat tulokset sovelluksessasi äläkä pakota niille merkintää male tai female.
| Tulos | Mitä se tarkoittaa | Suositeltu käsittely |
|---|---|---|
| identified; gender: male tai female | Päätelmä tuotti sukupuolen tietoaineiston tai tekoälyn perusteella. | Käytä juuri tälle confidence_kind-arvolle arvioitua käytäntöä; säilytä source ja osuman perusteet. |
| unknown; reason: not_found | Mikään tallennettu tietoaineiston tietue ei vastannut jäsennettyjä ehdokkaita. | Pidä gender-arvona null. Tietoinen uusi pyyntö eri tekoälyasetuksilla on uusi laskutettava toiminto. |
| unknown; reason: no_name_candidate | Tietoaineistoa varten tehty jäsennys ei löytänyt käyttökelpoista nimiehdokasta. | Säilytä null; tarkista syötteen tyyppi ja arvo ennen kuin valitset lisäpäätelmän. |
| unknown; reason: ambiguous | Valitulla tietoaineiston rivillä miesten ja naisten määrät ovat tasan; sample_count voi silti olla mukana. | Älä ratkaise tasatilannetta itse äläkä muunna null-luottamusarvoa nollaksi. |
| unknown; reason: insufficient_evidence | Tekoäly suoritti pyynnön, mutta sillä ei ollut riittävästi perusteita sukupuolen palauttamiseen. | Käsittele tulos valmiina tuntemattomana tuloksena, ei palveluntarjoajan virheenä eikä automaattisen uudelleenyrityksen kohteena. |
| Problem Details tai kohteen error | Suoritus epäonnistui esimerkiksi virheen ai_upstream_error tai prediction_timeout vuoksi. | Tallenna virhekoodi ja pyynnön tunniste, tarkista laskutus ja noudata uudelleenyritysohjeita. |
Valitse kynnysarvot oman arviointisi perusteella
Mikään yleinen luottamusarvon raja ei tee ennusteesta oikeaa. Arvioi observed_frequency ja model_reported erikseen edustavilla, toisistaan riippumatta luokitelluilla esimerkeillä omasta käyttötapauksestasi. Tietoaineiston esiintymistiheys ja tekoälyn itse ilmoittama pistemäärä ovat eri signaaleja, vaikka molempien arvo sattuisi olemaan 0,9. Mittaa, kuinka usein käytäntösi antaa vastauksen ja kuinka usein nämä vastaukset ovat oikein; säilytä kaikelle muulle tuntematon tulos tai manuaalinen tarkistus.
Jos esimerkiksi result_status on identified mutta confidence_kind on model_reported, käytä tekoälylle arvioitua käytäntöä äläkä tietoaineiston kynnysarvoa. Jos forceToGenderize oli käytössä, sukupuoli yhdessä arvon name: null kanssa on kelvollinen tulos: aliaksesta voidaan päätellä sukupuoli, vaikka todellista etunimeä ei poimittaisi. Päätä gender- ja result_status-kenttien perusteella, eikä pelkän name-kentän perusteella, antoiko päätelmä vastauksen. Kyse on edelleen arviosta, ei henkilöllisyyden vahvistuksesta.