Portail/Guides d'Intégration/REST API Universel
Spécification Technique Officielle

Guide d'Intégration API REST Universel (Tous Projets)

Référence complète de l'API REST pour intégrer l'autocomplétion BAN et le moteur d'éligibilité multi-technologies dans n'importe quelle application (Node.js, React, Python, PHP, Mobile, cURL).

Version : 2.4.0 (2026)Protocole : HTTPS / REST / JSONAuthentification : X-API-Key Header

1. Spécification & Authentification

L'API Telxora est une API REST standard fournissant des données au format JSON UTF-8. Elle est accessible depuis n'importe quel langage serveur ou application cliente disposant d'un client HTTP.

headers • HTTP Headers
1X-API-Key: telecom_live_sk_partner_sample_2026
2Accept: application/json

2. Liste Exhaustive des Endpoints

GET/api/v1/search/autocomplete

Autocomplétion BAN officielle. Paramètres : q (min 2 chars), limit (défaut 5).

GET/api/v1/eligibility

Calcul d'éligibilité multi-technologies. Paramètres : ban_id, partner.

GET/api/v1/search/imb

Résolution directe d'identifiant immeuble ARCEP. Paramètre : imb_id.

3. Exemple Node.js / TypeScript (Fetch / Axios)

index.ts • Node.js / Fetch
1const API_KEY = 'telecom_live_sk_partner_sample_2026';
2const BASE_URL = 'https://backend.eligentra.telxora.com/api/v1';
3
4async function checkEligibility(banId, partner = 'XIWO') {
5 const url = `${BASE_URL}/eligibility?ban_id=${encodeURIComponent(banId)}&partner=${encodeURIComponent(partner)}`;
6 const response = await fetch(url, {
7 method: 'GET',
8 headers: {
9 'X-API-Key': API_KEY,
10 'Accept': 'application/json'
11 }
12 });
13
14 if (!response.ok) {
15 throw new Error(`Erreur API: ${response.status}`);
16 }
17
18 const data = await response.json();
19 return data;
20}
21
22// Appel d'exemple
23checkEligibility('75102_7065_00012')
24 .then(res => console.log('Résultat Éligibilité :', res))
25 .catch(err => console.error(err));

4. Exemple Python (HTTPX / Requests)

client.py • Python (HTTPX)
1import httpx
2
3API_KEY = "telecom_live_sk_partner_sample_2026"
4BASE_URL = "https://backend.eligentra.telxora.com/api/v1"
5
6def check_eligibility(ban_id: str, partner: str = "XIWO") -> dict:
7 headers = {
8 "X-API-Key": API_KEY,
9 "Accept": "application/json"
10 }
11 with httpx.Client(base_url=BASE_URL, headers=headers, timeout=10.0) as client:
12 response = client.get("/eligibility", params={"ban_id": ban_id, "partner": partner})
13 response.raise_for_status()
14 return response.json()
15
16if __name__ == "__main__":
17 result = check_eligibility("75102_7065_00012")
18 print("Eligible:", result.get("eligible"))
19 print("Technologies:", result.get("technologies"))

5. Exemple PHP Natif (cURL)

client.php • PHP Natif (cURL)
1<?php
2$apiKey = 'telecom_live_sk_partner_sample_2026';
3$banId = '75102_7065_00012';
4$url = 'https://backend.eligentra.telxora.com/api/v1/eligibility?ban_id=' . urlencode($banId) . '&partner=XIWO';
5
6$ch = curl_init($url);
7curl_setopt_array($ch, [
8 CURLOPT_RETURNTRANSFER => true,
9 CURLOPT_HTTPHEADER => [
10 'X-API-Key: ' . $apiKey,
11 'Accept: application/json'
12 ],
13 CURLOPT_TIMEOUT => 8,
14]);
15
16$response = curl_exec($ch);
17$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
18curl_close($ch);
19
20if ($httpCode === 200) {
21 $data = json_decode($response, true);
22 print_r($data);
23} else {
24 echo "Erreur HTTP : " . $httpCode;
25}

6. Hiérarchie & Normalisation des Technologies

Le résultat de l'API priorise toujours l'accès offrant le meilleur débit garanti :

Priorité 1
Fibre FTTH
1 Gbps / Symétrique
Priorité 2
5G / 4G Box
Jusqu'à 300 Mbps
Priorité 3
Radio FWA 5GHz
Jusqu'à 100 Mbps
Priorité 4
Satellite
Jusqu'à 50 Mbps

7. Infrastructures & Partenaires

L'API fait la distinction entre l'Opérateur d'Infrastructure (OI, déployeur du réseau physique tel qu'Orange, SFR, Altitude, Axione) et l'Opérateur Commercial (OC, fournisseur de services tel que XIWO, Free, Bouygues). En cas de conflit, la base nationale ARCEP fait foi.

8. Validation & Données de Test

Adresse FTTH Live : 12 Rue de la Paix 75002 Paris →ban_id: 75102_7065_00012
Adresse Radio Live : 25 Rue Vincent Raspail 97110 Pointe-à-Pitre →ban_id: 97120_0290_00025