Table of Contents
Prerequisite authentication
API Key
The API requires an API-Key to access to it
- Your Orange Business representative will provide you this API key.
- The API key must be added to HTTP headers of each API call.
- It has to be put in the
X-Api-Key
header. - The API requires also the generation of an API-Key. API-Key expires after 2 years and must be renewed by asking to Orange Support.
oAuth2
The access to this API is secured by the OAuth 2.0 framework with the Client Credentials grant type, which means that you will have to present an OAuth 2.0 access_token
whenever you want to request this API.
It's easy to negotiate this access_token
: just send a request to the proper token negotiation endpoint, with a Basic Authentication header valued with your own client_id
and client_secret
.
For this API, the token negotiation endpoint is:
https://api.orange.com/oauth/v3/token
A technical guide is available to learn how to negotiate and manage these access_token
.
Important
- Please pay particular attention to properly handle authentication error responses in your application. See the section Errors
- The access_token default lifetime is 60 minutes.
- Header
Accept: application/json
is now required, when it’s omitted you will receive an error 406 error.
Base URL
The Base URL is the first part of the full invocation URL, just before the resource paths. Whenever you make requests on this API, you will need to prepend the following Base URL to the resource paths defined for this API.
If you request this API and encounter a 404 NOT FOUND HTTP error response, please check first that the Base URL is correct.
The Base URL for this API is:
https://api.orange.com/eligibility/b2b/v1/
Method and URL
Ressource | Method | Description |
---|---|---|
/poi | GET | This endpoint retrieves POI information based on the provided query parameters |
Input
This API is designed to calculate the eligibility for fiber, copper and mobile supports based on the provided query parameters:
- fullTextAddress: The full text address to search for
- buildingCode: The building code
- geoCoding coordinates : The geographic latitude and longitude coordinates of the location
- ND: The landline number associated with the location
Eligibility check by Address
Attribute | Type | Required | Description |
---|---|---|---|
fullText | String | X | The full text address to search for. Respecting the following format: [street number] [optional complement(if exists)] [street name], [postal code] [city] . |
buildingName | String | The building name |
Note:
- If there are matching POIs, the API will return a list of POIs corresponding to the provided address.
- If no matching address is found, the API will return "404 Not Found" Error.
- If the buildingName is specified as a parameter for the request, the API will search for the specified building name within the provided address:
- If a matching building is found, the API will retrieve the building code and calculate the eligibility, and return the corresponding POI.
- If no matching building is found, the API will return an appropriate error message.
Eligibility check by buildingCode
Attribute | Type | Required | Description |
---|---|---|---|
buildingCode | String | X | The buildingCode to search for. respecting the following format: IMB/[A-Z0-9]{5}/[A-Z]{1}/[A-Za-z0-9]{4}. Example IMB/12345/X/04U5 |
Note:
- If there is a matching POI, the API will return the POI corresponding to the provided building code.
- If no matching building code is found, the API will return "404 Not Found" Error.
Eligibility check by geographic coordinates
Attribute | Type | Required | Description |
---|---|---|---|
latitude | String | X | Represents the latitude of the geographic coordinates. Must be between -90 and 90 and cannot contain more than 10 digits after the decimal point. |
longitude | String | X | Represents the longitude . Longitude must be between -180 and 180 and cannot contain more than 10 digits after the decimal point. Latitude must be between -90 and 90 and cannot contain more than 10 digits after the decimal point. |
perimeter | String | Define the calculation radius for buildings in the surroundings in metters. Possible values: 50, 160, 600, and 1000. If the perimeter is not specified, the calculation is done over 160m. | |
support | String | Contains the name of the support for which the eligibility should be calculated; Possible values: FTTH, FTTO, FTTE, COPPER, MOBILE. if not specified, the eligibility will be calculated for all fiber, copper and mobile support |
Eligibility check by ND
Attribute | Type | Required | Description |
---|---|---|---|
nd | String | X | Contains the value of the landline number: ND (designation number), which is 10 numeric characters long. |
Note:
- If there is a matching POI, the API will return the POI corresponding to the provided ND.
- If no matching ND is found, the API will return "404 Not Found" Error.
Output
A Point of Interest (POI) represents a geographic location that can either be an address or a building. Each POI contains information about the eligibility of Copper and Fiber supports.
Attribute | Type | Description |
---|---|---|
id | String | A unique identifier for the point of interest record. |
building | Object | PointOfInterest: Contains information about the building associated with the point of interest. |
- id | String | A unique identifier for the building. |
geoCoding | Object | PointOfInterest: Contains geocoding information for the point of interest. |
- longitude | Number | The longitude of the point of interest. |
- latitude | Number | The latitude of the point of interest. |
formattedAddress | String | A human-readable address string for the point of interest. in the following format: street_number optional_complement street_name, postal_code city |
address | Object | PointOfInterest: Contains detailed address information for the point of interest. |
- cityCode | String | The city code for the address. |
- postalCode | String | The postal code for the address. |
- rivoliCode | String | The RIVOLI code for the address. |
- streetNumber | String | The street number for the address. |
- streetNumberSuffix | String | The street number suffix for the address, if applicable. |
supports | Object | PointOfInterest: Contains information about the available networking services at the point of interest. |
- fiber | Object | Contains information about the fiber network services available at the point of interest. |
--ftte | Object | Support: Contains information about Fiber to the Enterprise (FTTE) service availability. |
---status | String | The eligibility status of the FTTE service at the point of interest. Possible values: eligible , notEligible , notComputed |
--- properties | Object (FtteProperties) | Contains properties related to the FTTE service. |
---- isOptimalAvailable | Boolean | FTTE Properties: Indicates whether the optimal fiber FTTE service is available at the point of interest. |
--- comments | Array of strings | An array of comments related to the FTTE service availability. |
--ftth | Object | Support: Contains information about Fiber to the Home (FTTH) service availability. |
---status | String | The eligibility status of the FTTH service at the point of interest. Possible values: eligible , notEligible , notComputed |
--- comments | Array of strings | An array of comments related to the FTTH service availability. |
--ftto | Object | Support: Contains information about Fiber to the Office (FTTO) service availability. |
---status | String | The eligibility status of the FTTO service at the point of interest. Possible values: eligible , notEligible , notComputed |
--- properties | Object (FtteProperties) | Contains properties related to the FTTO service. |
----isFiberAvailable | Boolean | FTTO Properties: Indicates whether the FTTO fiber service is available |
----zoning | String | FTTO Properties: The zoning information for the FTTO service. |
--- comments | Array of strings | An array of comments related to the FTTO service availability. |
-copper | Object | Contains information about the copper network services available at the point of interest. |
--commercialClosureDate (Copper) | String | Contains information about the commercial closure date of the copper services. |
---adsl | Object | Copper technology: Contains information about the Asymmetric Digital Subscriber Line (ADSL) service availability. |
----status | The eligibility status of the copper service at the point of interest. | |
----properties | Contains properties related to the copper service. | |
-----bandwidth | Object | Copper Properties: Contains bandwidth information for the service. |
-----unit | String | Copper Properties: The unit of measurement for bandwidth (e.g., Mbps). |
-----countCopperPair | Integer | Copper Properties: The number of copper pairs available for the copper service at the point of interest. |
----comments | Array of strings | An array of comments related to the ADSL service availability. |
---sdsl | Object | Contains information about the Symmetric Digital Subscriber Line (SDSL) service availability. |
----status | The eligibility status of the copper service at the point of interest. | |
----properties | Contains properties related to the copper service. | |
-----bandwidth | Object | Copper Properties: Contains bandwidth information for the service. |
-----unit | String | Copper Properties: The unit of measurement for bandwidth (e.g., Mbps). |
-----countCopperPair | Integer | Copper Properties: The number of copper pairs available for the copper service at the point of interest. |
-----countRequiredPairs | Integer | Copper Properties: The number of required copper pairs for the SDSL service at the point of interest. |
----comments | Array of strings | An array of comments related to the SDSL service availability. |
----comments | Array of strings | An array of comments related to the SDSL service availability. |
-mobile | Object | Contains informations about each mobile technologie. |
--mobileTechnologies | Array of strings | Contains mobile technologie coverage details |
---technology | String | Name of the Mobile technology; Possible values: 2G, 3G, 3G900, 3G2K, 4G, 5G, 5G2100, 5G3500, LORA, PMR, LTEM, LTEM-EC. |
---quality | String | Level of mobile coverage quality. Possible values: Excellent coverage, Very good coverage, Good coverage, Average coverage, No coverage. |
---coverageQualityScore | String | Coverage quality. Values: 0, 1, 2, 3, 4 in relation to coverage quality: 0: No coverage. 4: Excellent coverage. |
---message | String | Information on coverage quality; Possible values: Your mobile device should work outdoors and in most cases indoors as well. , Your mobile device should operate outdoors and, in some cases, indoors. ,Your mobile device should operate in most cases outdoors and, in some cases, indoors. ,Your mobile device should operate in most cases outdoors but probably not indoors. ,Your mobile device should not operate either outdoors or indoors. |
createdAt | String | PointOfInterest: The date and time when the point of interest record was created. |
updatedAt | String | PointOfInterest: The date and time when the point of interest record was last updated. |
Examples
Errors
HTTP Code | Code | Message | Description |
---|---|---|---|
401 | 42 | Expired credentials | If the provided credentials were out-of-date. You should request a new access_token .Note that:
401 errors: check that you provide the right Autorization header with the right Bearer . |
400 | 400100 | malformatted value | In case of invalid request to the API ( Ex. malformatted Address |
400 | 40024 | Invalid body field | Ex. buildingCode not respecting the expected pattern |
400 | 4005 | Missing value | Missing required value |
400 | 4041 | Address not found | Address not found |
400 | 4042 | unknown building | unknown building |
503 | 2600 | The service is temporarily unavailable | Source backend service is temporarily unavailable, please try again later. |
500 | 1 | Internal error | Generic failure message, used if no more precise code can be provided. |