oneapi
Sign in
Telecom v1 / Telecom

Batch phone number analysis

The same analysis as analizeaza, on up to 50 numbers in one request, in the order sent. Each result carries introdus, so the response maps back to the row in the client's database.

POST
https://oneapi.ro/api/telecom/v1/analizeaza-lot

Request body

Sent as JSON in the request body (Content-Type: application/json) — not in the query string.

NameTypeDescriptionAccepted values
numererequired string[] The list of numbers to analyse, at most 50 per request. Each 3–32 characters; 0721…, +40 264 … and spaced forms are accepted.
A small contact list Request body
{
    "numere": [
        "0721234567",
        "+40 264 405 300",
        "0312345678",
        "1910"
    ]
}
One mobile and one landline Request body
{
    "numere": [
        "0721234567",
        "0264405300"
    ]
}
International prefix, short and toll-free Request body
{
    "numere": [
        "+40721234567",
        "1910",
        "0800800800"
    ]
}

Query parameters

This route accepts no query parameters.

How it behaves

  • The request body has a single field, numere: a list of 1–50 numbers, each 3–32 characters, in any common form. For more, send successive batches.
  • Each result is exactly the one from POST /analizeaza, including operator_curent: null — portability is not published here either.
  • A number with an unrecognised format does not stop the batch: it gets valid: false with the reason, and the rest are analysed normally.
  • The method is POST for the same reason as the single analysis: the numbers are the client's data and are never stored.

What it is for

  • Cleaning a customer database: flag the numbers that cannot exist (unallocated block) and split mobile from landline.
  • Preparing an SMS campaign: keep only mobile numbers, without hundreds of separate calls.
  • Normalising a contact import to E.164, in chunks of 50.

Response structure

All fields below live inside data.

FieldTypeDescription
inregistrari integer Câte numere s-au analizat.
sumar object The tally of the results: valide, invalide, bloc_nealocat (valid format but outside every allocated block), mobil, fix.
sumar.valide integer Câte au valid: true.
sumar.invalide integer Câte au valid: false.
sumar.bloc_nealocat integer Câte au format valid, dar nu sunt în niciun bloc alocat.
sumar.mobil integer Câte sunt mobile.
sumar.fix integer Câte sunt fixe.
rezultate[] object[] One result per number, in the order sent, with exactly the shape of /analizeaza.
observatie string Cum se citește lotul.
rezultate[].introdus string The number sent, so the result maps back to the row in your database.

Response examples

body: {"numere": ["0721234567", "+40 264 405 300", "0312345678", "1910"]}

POSThttps://oneapi.ro/api/telecom/v1/analizeaza-lot
{
    "data": {
        "inregistrari": 4,
        "sumar": {
            "valide": 4,
            "invalide": 0,
            "bloc_nealocat": 1,
            "mobil": 1,
            "fix": 2
        },
        "rezultate": [
            {
                "valid": true,
                "introdus": "0721234567",
                "format": {
                    "e164": "+40721234567",
                    "national": "0721234567",
                    "fara_prefix": "721234567"
                },
                "tip": "mobil",
                "bloc_alocat": true,
                "operator_alocare": "VODAFONE ROMANIA S.A.",
                "bloc": {
                    "domeniu": "72",
                    "primul": "721000000",
                    "ultimul": "721999999",
                    "dimensiune": 1000000
                },
                "observatie": "Operatorul e cel care a primit blocul la alocare. Dacă numărul a fost portat, deținătorul actual poate fi altul — ANCOM nu publică portabilitatea.",
                "sursa": {
                    "ancom": "Resurse de numerotație",
                    "actualizat": "2026-10-02 11: 46: 30"
                }
            }
        ],
        "observatie": "Rezultatele sunt în ordinea trimisă; `introdus` leagă fiecare rezultat de numărul lui. `bloc_nealocat` numără numerele cu format valid care nu se află în niciun bloc alocat — cel mai probabil inventate."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatToken missing, invalid, expired or revoked.
403feature_indisponibilThe current plan does not include the feature the route depends on.
422validarenumere is missing, is not a list, has more than 50 items or an item is longer than 32 characters.
429cota_depasitaThe plan's monthly quota has been exceeded (see Retry-After).

All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.

{
    "eroare": {
        "cod": "validare",
        "mesaj": "numere is missing, is not a list, has more than 50 items or an item is longer than 32 characters."
    }
}