API generator CNP

Documentație, exemple de cod și testare live pentru generarea CNP-urilor cu parametri opționali.

← Înapoi la prezentarea API

POST
Singurul câmp obligatoriu este limit. Poți genera doar cu numărul dorit sau poți adăuga oricare ori toate filtrele. Limita este de 10 cereri/minut pentru fiecare adresă IP.

Parametri

CâmpTipObligatoriuDescriere
limitintegerDaNumărul de CNP-uri returnate, minimum 1.
sstring/integerNuCifra S între 1 și 9.
birth_datestringNuData în format YYYY-MM-DD.
countystringNuCod valid de județ/regiune.
serialintegerNuNumăr inițial între 1 și 999.
modestringNusequential sau random.
langstringNuro implicit sau en.

Descarcă regiuni și opțiuni (JSON)

Exemple de integrare

Cerere
POST
curl -X POST 'https://verificarecnp.ro/api/v1/cnp/generate' \
  -H 'Content-Type: application/json' \
  -d '{"limit":2,"s":"1","birth_date":"1996-05-27","county":"40","serial":7,"mode":"sequential"}'
<?php

$payload = array (
  'limit' => 2,
  's' => '1',
  'birth_date' => '1996-05-27',
  'county' => '40',
  'serial' => 7,
  'mode' => 'sequential',
);
$ch = curl_init('https://verificarecnp.ro/api/v1/cnp/generate');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
const response = await fetch('https://verificarecnp.ro/api/v1/cnp/generate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    "limit": 2,
    "s": "1",
    "birth_date": "1996-05-27",
    "county": "40",
    "serial": 7,
    "mode": "sequential"
})
});
const result = await response.json();
import json
import urllib.request

payload = json.dumps({
    "limit": 2,
    "s": "1",
    "birth_date": "1996-05-27",
    "county": "40",
    "serial": 7,
    "mode": "sequential"
}).encode()
request = urllib.request.Request(
    'https://verificarecnp.ro/api/v1/cnp/generate', data=payload,
    headers={'Content-Type': 'application/json'}, method='POST'
)
result = json.load(urllib.request.urlopen(request))
Răspuns live
Pregătit
Apasă „Rulează testul” pentru rezultat.

Exemplu de răspuns JSON

JSON
{
    "success": true,
    "lang": "ro",
    "count": 2,
    "items": [
        {
            "cnp": "1960527400072",
            "s": "1",
            "person_type": "Masculin, născut 1900-1999",
            "gender": "Masculin",
            "gender_key": "male",
            "birth_date": "1996-05-27",
            "week_day": "Luni",
            "week_day_key": 1,
            "age": 30,
            "zodiac": "Gemeni",
            "zodiac_key": "gemini",
            "county_code": "40",
            "county": "București",
            "serial": "007",
            "control_digit": "2",
            "expected_digit": "2"
        },
        {
            "cnp": "1960527400080",
            "s": "1",
            "person_type": "Masculin, născut 1900-1999",
            "gender": "Masculin",
            "gender_key": "male",
            "birth_date": "1996-05-27",
            "week_day": "Luni",
            "week_day_key": 1,
            "age": 30,
            "zodiac": "Gemeni",
            "zodiac_key": "gemini",
            "county_code": "40",
            "county": "București",
            "serial": "008",
            "control_digit": "0",
            "expected_digit": "0"
        }
    ]
}

Răspunsuri de eroare

Fiecare eroare este returnată ca JSON împreună cu statusul HTTP corespunzător.

Status Semnificație
400 Bad RequestBody JSON malformat sau nevalid.
415 Unsupported Media TypeContent-Type nu este application/json.
422 Unprocessable ContentUnul sau mai multe câmpuri nu au trecut validarea.
429 Too Many RequestsLimita a fost depășită (10 cereri/minut).