Eligibility API Resources
| Resource | Description |
|---|---|
| API Reference | Describe the end points, attributes and how to use the API in detail |
| Swagger | Swagger file |
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-Keyheader. - 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/jsonis 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 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
The API allows two types of fiber eligibility checks via the following parameter:
- allforwan: If set to true, the API calculates eligibility for Dedicated Fiber instead of FTTE/FTTO, Shared Fiber instead of FTTH and MOBILE. Otherwise, the API determines eligibility for FTTH, FTTE, FTTO and MOBILE.
Note: Since December 3, the API response will switch to returning eligibility for Dedicated Fiber and Shared Fiber.
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 | |
| allforwan | String | If set to true, the API calculates eligibility for Dedicated Fiber, Shared Fiber and MOBILE. When set to false (or not provided), the API calculates eligibility for FTTH, FTTE, FTTO and MOBILE. |
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 |
| allforwan | String | If set to true, the API calculates eligibility for Dedicated Fiber, Shared Fiber and MOBILE. When set to false (or not provided), the API calculates eligibility for FTTH, FTTE, FTTO and MOBILE. |
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 and MOBILE. if not specified, the eligibility will be calculated for all fiber and mobile support | |
| allforwan | String | If set to true, the API calculates eligibility for Dedicated Fiber, Shared Fiber and MOBILE. When set to false (or not provided), the API calculates eligibility for FTTH, FTTE, FTTO and MOBILE. |
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. |
| allforwan | String | If set to true, the API calculates eligibility for Dedicated Fiber, Shared Fiber and MOBILE. When set to false (or not provided), the API calculates eligibility for FTTH, FTTE, FTTO and MOBILE. |
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 Fiber and Mobile 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. |
| ---- oiName | String | FTTE Properties: Indicates the building operator responsible for the installation and management of the FTTE within buildings. |
| --- 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 |
| ---primaryCode | String | Contains the primary code related to the FTTH eligibility status. Possible values: 0, 1, 2, 3, 4 |
| ---secondaryCode | String | Contains the secondary code related to the FTTH eligibility status. Possible values: A, BThe primaryCode concatenated with the secondaryCode gives more detail regarding the eligibility status. possible values for (primaryCode, secondaryCode) :
|
| --- comments | Array of strings | An array of comments related to the FTTH service availability. |
| --- properties | Object (FtthProperties) | Contains properties related to the FTTH service. |
| ---- oiName | String | FTTH Properties: Indicates the building operator responsible for the installation and management of the FTTH within buildings. |
| --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. |
| --shared_fiber | Object | if allforwan=true, contains information about shared fiber service availability. |
| ---status | String | The eligibility status of the shared fiber service at the point of interest. Possible values: eligible, notEligible, notComputed |
| ---primaryCode | String | Contains the primary code related to the shared fiber eligibility status. Possible values: 0, 1, 2, 3, 4 |
| ---secondaryCode | String | Contains the secondary code related to the shared fiber eligibility status. Possible values: A, BThe primaryCode concatenated with the secondaryCode gives more detail regarding the eligibility status. possible values for (primaryCode, secondaryCode) :
|
|---comments|Array of strings|An array of comments related to the shared fiber service availability.| |---properties|Object (sharedFiberProperties)|Contains properties related to the shared fiber service.| |----oiName|String|shared fiber Properties: Indicates the building operator responsible for the installation and management of the shared fiber within buildings.| |--dedicated_fiber|Object|Support: Contains information about dedicated fiber service availability.| |---status|String|The eligibility status of dedicated fiber service at the point of interest. Possible values: eligible, notEligible, notComputed| |---properties|Object (dedicatedFiberProperties)|Contains properties related to the dedicated fiber service.| |----isOptimalAvailable|Boolean|Dedicated fiber Properties: Indicates whether the optimal fiber service is available at the point of interest.| |----oiName|String|Dedicated fiber Properties: Indicates the building operator responsible for the installation and management of the dedicated fiber within buildings| |----isFiberAvailable|Boolean|Dedicated fiber Properties: Indicates whether the dedicated fiber service is available| |----zoning|String|Dedicated fiber Properties: Indicate the zoning information.| |-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. |