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, includingoperator_curent: null— portability is not published here either. - A number with an unrecognised format does not stop the batch: it gets
valid: falsewith 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."
}
}
body: {"numere": ["0721234567", "0264405300"]}
POSThttps://oneapi.ro/api/telecom/v1/analizeaza-lot
{
"data": {
"inregistrari": 2,
"sumar": {
"valide": 2,
"invalide": 0,
"bloc_nealocat": 0,
"mobil": 1,
"fix": 1
},
"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."
}
}
body: {"numere": ["+40721234567", "1910", "0800800800"]}
POSThttps://oneapi.ro/api/telecom/v1/analizeaza-lot
{
"data": {
"inregistrari": 3,
"sumar": {
"valide": 3,
"invalide": 0,
"bloc_nealocat": 0,
"mobil": 1,
"fix": 0
},
"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
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | numere is missing, is not a list, has more than 50 items or an item is longer than 32 characters. |
| 429 | cota_depasita | The 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."
}
}