oneapi
Autentificare
Identificatori v1 / Identificatori

Validare în lot

Validează multe valori deodată, fiecare cu tipul ei declarat ori detectat. Răspunsul are verdictul pe fiecare şi un sumar: câte valide, câte nu.

POST
https://oneapi.ro/api/identificatori/v1/valideaza

Corpul cererii

Se trimite ca JSON, în corpul cererii (Content-Type: application/json) — nu în şirul de interogare.

NumeTipDescriereValori acceptate
valoriobligatoriu listă Minim 1, maxim 200.
tipopțional text Maxim 24. max 24 car.
Tipuri explicite Corpul cererii
{
    "valori": [
        {
            "valoare": "BTRLRO22",
            "tip": "bic"
        },
        {
            "valoare": "17621339",
            "tip": "cui"
        }
    ]
}
Cu detecţie Corpul cererii
{
    "valori": [
        {
            "valoare": "RO49AAAA1B31007593840000"
        }
    ]
}
Amestecat, cu o valoare necitibilă Corpul cererii
{
    "valori": [
        {
            "valoare": "RO49AAAA1B31007593840000"
        },
        {
            "valoare": "BTRLRO22"
        },
        {
            "valoare": "abc"
        }
    ]
}

Parametri de interogare

Ruta nu acceptă parametri de interogare.

Cum se comportă

  • Corpul are valori — o listă de cel mult 200 de elemente {valoare, tip?} — și, opțional, tip la nivelul cererii, care se aplică tuturor elementelor fără tip propriu.
  • Fără tip, fiecare valoare trece prin detecție. Rezultatul poartă atunci tip_detectat și detectie_sigura, ca să știi dacă ai o potrivire fără echivoc. Dă tipul explicit când îl cunoști: e mai rapid și mai sigur.
  • CNP-ul nu se acceptă aici, nici ca tip de element, nici la nivelul cererii. Un lot de coduri numerice personale e exact forma de prelucrare pe care ruta dedicată o evită prin POST fără cache și fără retenție; a o permite pe altă ușă ar anula regula.
  • POST, nu GET, și pentru loturi mari, și fiindcă lista de identificatori a cuiva n-are ce căuta într-un URL care ajunge în loguri.

La ce folosește

  • Cureți o bază de contacte, marcând identificatorii care nu trec cifra de control.
  • Validezi un fișier importat înainte de a-l încărca, într-o singură cerere.
  • Verifici un amestec de tipuri fără să știi dinainte care e care.

Structura răspunsului

Toate câmpurile de mai jos sunt în data.

CâmpTipDescriere
inregistrari integer Câte valori s-au procesat.
valide integer Câte au trecut validarea.
invalide integer Câte n-au trecut.
rezultate[] array Rezultatul fiecărei valori, în ordinea în care au fost trimise.
rezultate[].tip string
rezultate[].valoare string Valoarea publicată de sursă pentru combinaţia de mai sus.
rezultate[].valid boolean
rezultate[].normalizat string
rezultate[].componente.institutie string
rezultate[].componente.tara string Ţara la care se referă valoarea.
rezultate[].componente.tara_nume string
rezultate[].componente.locatie string
rezultate[].componente.cod_de_test boolean
rezultate[].componente.sediu_central boolean
rezultate[].observatie string Precizare despre cum se citeşte valoarea de alături.
observatie string Precizare despre cum se citeşte răspunsul: o convenţie de calcul sau o limită a datelor.
rezultate[].tip_detectat string Prezent doar când tipul n-a fost dat explicit.
rezultate[].detectie_sigura boolean Dacă detecția a găsit exact un singur tip valid.
rezultate[].eroare Prezent doar când tipul cerut pentru elementul acela nu există.

Exemple de răspuns

corp: {"valori": [{"valoare": "BTRLRO22", "tip": "bic"}, {"valoare": "17621339", "tip": "cui"}]}

POSThttps://oneapi.ro/api/identificatori/v1/valideaza
{
    "data": {
        "inregistrari": 2,
        "valide": 2,
        "invalide": 0,
        "rezultate": [
            {
                "tip": "bic",
                "valoare": "BTRLRO22",
                "valid": true,
                "normalizat": "BTRLRO22",
                "componente": {
                    "institutie": "BTRL",
                    "tara": "RO",
                    "tara_nume": "România",
                    "locatie": "22",
                    "cod_de_test": false,
                    "sediu_central": true
                },
                "observatie": "Verificare de FORMĂ. Registrul BIC e produs comercial SWIFT, deci nu putem confirma că instituția există sau cine e — doar că șirul respectă ISO 9362."
            }
        ],
        "observatie": "Când nu dai `tip`, se detectează după formă — iar formele se suprapun (13 cifre pot fi și un cod de produs). Dă tipul explicit când îl cunoști."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareLipsește valori, sunt peste 200 de elemente, un tip nu există, sau s-a cerut tipul cnp.
429cota_depasitaCota lunară a planului a fost depăşită (vezi Retry-After).

Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.

{
    "eroare": {
        "cod": "validare",
        "mesaj": "Lipsește valori, sunt peste 200 de elemente, un tip nu există, sau s-a cerut tipul cnp."
    }
}