Getting started
Introduction
This API allows to check the elibibility to FTTE and FTTH for a given site. Tests can be conducted on the basis of :
- ND active or inactive
- Precable number
- Prestation number
- Standard address
- Geographical coordinates (GPS format WGS84)
- Textual address
- Building code
It is requested to sign a contract with the marketing department of Orange Public Initiative Networks to access this service.
The RIP API Operator Eligibility enables to deliver eligibility through the e-service Operator Eligibility available in the "Espace Opérateurs RIP"
Content version of 04/12/2023
Optimum Ethernet extension on VENU
From 05/02 to 05/29 the addresses of RIP VENU will be ineligible for passive FTTE offers
In the API response for FTTE Passive offers
qualificationItemResult =notEligible
AND qualificationItemReason =freezeBeforeClosing
For active offers
qualificationItemResult =notEligible
AND qualificationItemReason =notDeployed
Content version of 01/03/2022
Extension of FTTE eligibility on the RIP domain
If zone Is not PREBLOM :
- If an address is eligible on FTTH, it must be eligible for the passive FTTE NRO and passive FTTE PM offers
- If an address is not eligible on FTTH, it must be not eligible for the passive FTTE NRO and passive FTTE PM offers
Add new eligibility statuses according to following conditions as described in the following table :
FTTE_NRO_reason | FTTE_PM_reason | FTTE_active_reason | Conditions |
---|---|---|---|
temporaryGel | temporaryGel | - | Building status is deployed, arcep commissioning date < current date, order acceptance date < current date and the address is not blocked |
exlusionZone | exlusionZone | - | Building status is deployed, arcep commissioning date < current date, order acceptance date < current date, the address is blocked, rip = 'ARTD' and Typology = 'Exlusion Offer FTTE' |
PartiallydeployedExtention | PartiallydeployedExtention | - | Building state is deployed, arcep commissioning date < today's date, order acceptance date < today's date, the address is blocked, rip is not 'LOAN' and the specific building state is planned or empty |
- | - | PartiallydeployedExtention | Building state is deployed, arcep commissioning date < current date, order acceptance date < current date, the address is blocked, rip is not 'LOAN', the specific building state is planned or empty , the NRO reference is present in NRO ready and NRO status =D |
If zone Is PREBLOM : :
Remove eligibility tests for FTTH offers if the zone is PREBLOM: addresses may be eligible for passive FTTE (passive FTTE NRO and passive FTTE at PM) even if they are not FTTH eligible.
Content version of 06/30/2022
Purchase of the PREBLOM for the 2 RIPs Vienne and 2 Sèvres:
Make the addresses behind the PMs acquired by Orange not eligible for passives FTTE offers for the 2 RIPs Vienne and 2 Sèvres.
Content version of 05/24/2022
Removal of FTTE eligibility for RIPs on IMBs not eligible for FTTH for areas tagged "BLOM"
Exclude non-FTTH eligible buildings/addresses from "Partially Deployed" eligibility,in the BLOM zone: These addresses can be eligible for passive FTTE (Passive FTTE NRO and Passive FTTE PM) only if they are FTTH eligible before in the BLOM area.
Content version of 03/07/2022
RIP API subscription
Make the RIP API operational to allow eligibility testing on the RIP space.
Content version of 01/24/2022
Extension of FTTE eligibility on the RIP domain
extend the coverage area of passive FttE and Optimum Ethernet offers on RIPs on any site eligible for FTTH.
- The concerned sites will have the message characteristic with the value `extension_plan.
Note: The extension will depend on the commercial data received and will potentially be progressive.
Security
Please read before client security measures, good practices for a secure integration of Orange APIs
How to authenticate
⚠ This API requires an OAuth 2.0 2-legged authentication. Please follow the method described here.
End Point
https://api.orange.com/ripoperatoreligibility/v1
Methods and URL
Ressource | Method | Description |
---|---|---|
/productRIPQualification | POST | Check eligibility of an access to optic fiber offers for a given site based a several criteria. |
Example of request with headers and body
curl -X POST -H "Authorization: Bearer i6m2iIcY0SodWSe...L3ojAXXrH" -H "Content-Type: application/json" -d '{ "contextType": "nd", "category": { "name": "ftte" }, "publicKey": { "name": "nd", "value": "0123456789" }}' https://api.orange.com/ripoperatoreligibility/v1/productRIPQualification
Glossary
Accronyme | Definition |
---|---|
ND | Designation Number. 10-digit number of a telephone service subscriber. |
Prestation number | 8 characters. |
FTTE | Fiber To The Entreprise (Mutualized Optical local loop). |
FTTH | Fiber To The Home (Mutualized Optical local loop). |
Service description
Ressources and entry parameters
Parameters | Type | Description |
---|---|---|
contextType | String | The contextType field is used to define how to test the site eligibility. This field must be populated with one of the following values: nd for active ND (if the ND is inactive, the test will automatically be on the inactive ND), ndetoile for inactive ND, address , fulltext , geographiclocation , prestation , precable . In case of a move in progress : an active ND points to the new address, an inactive ND points to the previous address, an active ND can therefore be active (on the new address) and inactive (on the previous address), an active ND cannot be active on several addresses |
category | Object | The category object must always be entered to determine the offer to be tested |
--.name | String | The category.name field determines the offer covered by the test. It must be entered with the following values : ftte for FTTE offer, ftth for FTTH offer. |
publicKey | Object | The publicKey object is mandatory for a search by contextType = nd , precable , prestation or buildingCode . |
--.name | String | The publicKey.name field must be filled with the nd , prestation or precable value. |
--.value | String | The publicKey.value field must contain either the ND on which an eligibility test is done (The ND must begin with 01, 02, 03, 04 ou 05 and contain a total of 10 digits, example: "0123456789") or the prestation number (8 uppercase characters, example : "9999ZZZ9") or the precable number or the building code (example: IMB/99999/X/0099). |
place | Object | The place object contains all the information for a query by address or geolocation. |
--.geographicAddress | Object | The geographicAddress object is required to perform a test based on a standardized address. |
--.--.streetNr | String | The streetNr field contains the street number. |
--.--.streetNrSuffix | String | The streetNrSuffix field contains the suffix of the street number (A, B, C, bis, ter, etc). |
--.--.rivoliCode | String | The rivoliCode field contains the 4 alphanumeric (999F) Rivoli code. |
--.--.cityCode | String | The cityCode field contains the 5 alphanumeric INSEE code (59221, 2A004). |
--.--.geographicSubAddress | Object | If multiple buildings or precable numbers are located at the same address, the geographicSubAddress object is used to specify the building code or target copper line number. |
--.--.--.buildingCode | String | The buildingCode field contains the buiding code for an address with several buildings. |
--.geographicLocation | Object | The geographicLocation object is required to perform a test based on geographical coordinates. |
--.--.x | String | The x field contains the longitude of a site whose value is between -180 and 180 and can not contain more than 10 digits after the decimal point. |
--.--.y | String | The y field contains the latitude of a site whose value is between -90 and 90 and can not contain more than 10 digits after the decimal point. |
--.nonFormattedAddress | Object | The nonFormattedAddress object is required to perform a test based on textual address. |
--.--.fulltext | String | The fulltext field contains the textual address. To optimize successful return, the format should be "[streetNr] [streetNrSuffix] [streetName] [postCode] [city]" in lowercase without accent and ponctuation. Note that the "address" field of the Operator Eligibility e-service uses the same rules. As a reminder, it is preferable to use the normalized address to target an address accurately. |
Output parameters
Parameters | Type | Description |
---|---|---|
place | Object | The place object is set if an offer is available. It contains the geographicSite object. |
--.geographicSite | Object | The geographicSite objet contains the address on which the availability test has been done. It can be different than the input address and it contains the address and the normalizedAddress fields. |
--.--.address | String | Contains the textual address. |
--.--.normalizedAddress | Object | The normalizedAddress object contains the standardized address (inseeCode, rivoliCode, streetNr, streetNrSuffix), the textual address cut out and additional information from the address geographicSubAddress. |
--.--.--.inseeCode | String | The inseeCode contains the INSEE codefield contains the 5 alphanumeric INSEE code (59221, 2A004). |
--.--.--.rivoliCode | String | The rivoliCode field contains the 4 alphanumeric (999F) Rivoli code. |
--.--.--.streetNr | String | The streetNr field contains the street number and streetNrSuffix only for FTTE offers (ex. "3C"). |
--.--.--.streetNrSuffix | String | The streetNrSuffix field contains the suffix of the street number (bis, ter, ...). |
--.--.--.streetType | String | Contains the street type |
--.--.--.streetName | String | Contains the street name |
--.--.--.postcode | String | Contains the postcode |
--.--.--.locality | String | Contains locality type (ex : "lieu dit") |
--.--.--.city | String | Contains city name |
--.--.--.geographicSubAddress | Array | The geographicSubAddress contains additional information from the address. It will contain a list if multiple buildings or copper lines are located at the same address (see qualificationResult=notComputed ). |
--.--.--.--.buildingName | String | On FTTE OR FTTH offers only. The buildingName field contains the buiding code for an address with several buildings. |
--.--.--.--.buildingCode | String | On FTTE OR FTTH offers only. The buildingCode field contains the buiding code for an address with several buildings. |
--.--.--.--.geographicLocation | Object | The geographicLocation object contains the geographical coordinates with the accuracy level of the geolocation : longitude, latitude and accuracy. |
--.--.--.--.--.longitude | Double | The longitude field contains the longitude of a site whose value is between -180 and 180 and can not contain more than 15 digits after the decimal point. |
--.--.--.--.--.latitude | Double | The latitude field contains the latitude of a site whose value is between -90 and 90 and can not contain more than 15 digits after the decimal point. |
--.--.--.--.--.accuracy | String | The accuracy field contains the street, number or building value which determines the level of accuracy. |
qualificationResult | String | The qualificationResult field is set with notComputed value when there is more than one building at the same address : the productOfferingQualificationItem field will be then empty and the geographicSubAddress field will contain the additional information from returned addresses. |
productOfferingQualificationItem | Array | The productOfferingQualificationItem field contain an array of values ??with the fields qualificationItemResult, qualificationItemReason, productOffering and product. |
--.qualificationItemResult | String | The qualificationItemResult field contains the availability result. It returns one the following values: eligible or notEligible . |
--.qualificationItemReason | String | The qualificationItemReason field contains the detailed information of availability. Possible values for FTTE : deployed , partiallyDeployed , deploying , notDeployed , notFound . Possible values for FTTH : marketable , linkable , notYetAvailable , deployingBuildingSoon , deployedDistrict , deployingDistrict , deployingDistrictSoon , deployingCity , notDeployed , notFound . |
--.productOffering | Object | The productOffering object contains information of an offer. |
--.--.name | String | The name field contains the name of the offer bearing the eligibility result. Possible values for FTTE : FTTE passif PM , FTTE passif NRO , FTTE active Entreprises , FTTE active LAN . Possible values for FTTH : Accès aux lignes FTTH , FTTH activé . |
--.product | Object | The product field contains the characteristics array. |
--.--.characteristics | Array | The characteristics field contains an array of characteristics about the offer. It includes values of name and value |
--.--.--.name | String | The name field contains the characteristic's name |
--.--.--.value | String | The value field contains the characteristic's value |
The characteristic's values depends on the offer. They are described in the following chapter.
FTTE offers characteristics
Characteristic's name | Associated offer | Description |
---|---|---|
nroCode | FTTE passif NRO | NRO code (ie: 59480QUE) |
pmCode | FTTE passif PM | PM code (ie: FI-59221-000D) |
message | All | If the PM is part of the extention plan, the message will be set to extension_plan until the PM is resumed |
coverageArea | FTTE Active LAN, FTTE Active Entreprise | Zone de couverture |
blom | All | Boucle Locale Optique Mutualisee (ex : Orange, Vendee Numerique) |
oiCode | All | Infrastructure operator code PIN (Public Initiative Network) |
FTTH offers characteristics
| Characteristic's name | Associated offer | Description | | :------------------------ | :--------------- | :----------- | |cause|FTTH Active| Ineligibility cause. Possible value : ActiveLayerNotDeployed
| |siteType|All| Building type. Possible values : PAVILLON
ou IMMEUBLE
| |buildingManager|All| Company name of building manager | |buildingStatus|All| building state. Possible values CIBLE
, RACCORDABLE DEMANDE
, SIGNE
, EN COURS DE DEPLOIEMENT
, DEPLOYE
et ABANDONNE
| |logementNumber|All| Number of appartments (residential or professionnal) | |linkTypePBPTO|All|PBPTO link type. Possible values (ex. AEOR
for "AERIEN ORANGE"). Download the link type list of PBPTO | |orderAcceptanceDate|All| Order acceptance date (format "AAAA-MM-JJ")| |commercialLaunchDate|All| Commercial launching date (format "AAAA-MM-JJ")| |blockingReason|All| Blocking reason Download the list of blocking causes | |unblockedDate|All| Previsional unblocking date (format "JJ/MM/AAAA")| |oiCode|All| Infrastructure operator code PIN (ex: VENU, ATHD)| |oiName|All| Boucle Locale Optique Mutualisée (ex : Vendée Numérique, Alliance Très Haut Débit) | |pmCode|All| PM code(ex: FI-59221-000D)| |nroCode |All| NRO code (ex: 59480QUE)|
Use case examples for FTTE eligibility tests
Here are few use cases of the API
The ressource and method used are the same for all examples: Resource: /productRIPQualification Method: POST
1. I want to check a site eligibility to FTTE offers from the following ND 01 23 45 67 89
{
"contextType": "nd",
"category": {
"name": "ftte"
},
"publicKey": {
"name": "nd",
"value": "0123456789"
}
}
I get :
{
"code": 30,
"message": "ND not found",
"description": "The ND is not found."
}
2. I want to check a site eligibility to FTTE offers from a standardized address
{
"contextType": "address",
"category": {
"name": "ftte"
},
"place": {
"geographicAddress": {
"rivoliCode": "0082",
"cityCode": "53068",
"streetNr": "59"
}
}
}
I get :
{
"place": {
"geographicSite": {
"address": "59 CHEMIN DE LA MARE, 53400 CHERANCE",
"normalizedAddress": {
"inseeCode": "53068",
"rivoliCode": "0082",
"streetNr": "59",
"streetNrSuffix": "",
"streetType": "CHEMIN",
"streetName": "DE LA MARE",
"postcode": "53400",
"city": "CHERANCE",
"geographicSubAddress": [
{
"buildingCode": "IMB/53068/X/0052",
"geographicLocation": {
"longitude": -0.9485705070969273,
"latitude": 47.813891088641164,
"accuracy": "building"
}
}
]
}
}
},
"productOfferingQualificationItem": [
{
"qualificationItemResult": "eligible",
"qualificationItemReason": "partiallyDeployed",
"productOffering": {
"name": "FTTE Passif",
},
"product": {
"characteristics": [
{
"name": "nroCode",
"value": "53084XCR"
},
{
"name": "oiCode",
"value": "MAYE"
},
{
"name": "oiName",
"value": "Mayenne Fibre"
}
]
}
},
{
"qualificationItemResult": "eligible",
"qualificationItemReason": "partiallyDeployed",
"productOffering": {
"name": "FTTE Passif PM",
},
"product": {
"characteristics": [
{
"name": "pmCode",
"value": "FI-53084-0002"
},
{
"name": "oiCode",
"value": "MAYE"
},
{
"name": "oiName",
"value": "Mayenne Fibre"
}
]
}
}
],
}
3. I want to check a site eligibility to FTTE offers from a building by setting a standardized address which has multiple buildings
{
"contextType": "address",
"category": {
"name": "ftte"
},
"place": {
"geographicAddress": {
"rivoliCode": "012R",
"cityCode": "85020"
}
}
}
I get :
{
"place": {
"geographicSite": {
"normalizedAddress": {
"inseeCode": "85020",
"rivoliCode": "012R",
"streetNr": "0",
"streetNrSuffix": "",
"streetType": null,
"postcode": null,
"geographicSubAddress": [
{
"buildingName": "M1",
"buildingCode": "IMB/85020/X/000I",
"geographicLocation": {
"longitude": -0.577069805672707,
"latitude": 46.37015128478206
}
},
{
"buildingName": "M2",
"buildingCode": "IMB/85020/X/000J",
"geographicLocation": {
"longitude": -0.5778780066646744,
"latitude": 46.370427632662306
}
},
{
"buildingName": "M3",
"buildingCode": "IMB/85020/X/000K",
"geographicLocation": {
"longitude": -0.5781887929655724,
"latitude": 46.37064472824139
}
},
{
"buildingName": "M4",
"buildingCode": "IMB/85020/X/000L",
"geographicLocation": {
"longitude": -0.5785192115884559,
"latitude": 46.37001502349033
}
},
{
"buildingName": "M5",
"buildingCode": "IMB/85020/X/000M",
"geographicLocation": {
"longitude": -0.5786817666276524,
"latitude": 46.36965072159087
}
},
{
"buildingName": "M6",
"buildingCode": "IMB/85020/X/000N",
"geographicLocation": {
"longitude": -0.5774959712805582,
"latitude": 46.369609155977024
}
}
]
}
}
},
"qualificationResult": "notComputed",
"productOfferingQualificationItem": [],
}
I want to check a site eligibility to FTTE offers by choosing one of the buildings :
{
"contextType": "address",
"category": {
"name": "ftte"
},
"place": {
"geographicAddress": {
"rivoliCode": "012R",
"cityCode": "85020",
"geographicSubAddress": {
"buildingCode": "IMB/85020/X/000I"
}
}
}
}
I get:
{
"place": {
"geographicSite": {
"normalizedAddress": {
"inseeCode": "85020",
"rivoliCode": "012R",
"streetNr": "0",
"streetNrSuffix": "",
"streetType": null,
"postcode": null,
"geographicSubAddress": [
{
"buildingName": "M1",
"buildingCode": "IMB/85020/X/000I",
"geographicLocation": {
"longitude": -0.577069805672707,
"latitude": 46.37015128478206,
"accuracy": "building"
}
}
]
}
}
},
"productOfferingQualificationItem": [
{
"qualificationItemResult": "eligible",
"qualificationItemReason": "deployed",
"productOffering": {
"name": "FTTE Passif",
},
"product": {
"characteristics": [
{
"name": "nroCode",
"value": "85020BNW"
},
{
"name": "oiCode",
"value": "VENU"
},
{
"name": "oiName",
"value": "Vendée Numérique"
}
]
}
},
{
"qualificationItemResult": "notEligible",
"qualificationItemReason": "notDeployed",
"productOffering": {
"name": "FTTE Passif PM",
},
"product": {
"characteristics": [
{
"name": "oiCode",
"value": "VENU"
},
{
"name": "oiName",
"value": "Vendée Numérique"
}
]
}
}
],
}
4. I want to check a site eligibility to FTTE offers from GPS coordinates
{
"contextType": "geographiclocation",
"category": {
"name": "ftte"
},
"place": {
"geographicLocation": {
"x": "3.516726",
"y": "50.319779"
}
}
}
Use case examples for FTTH eligibility tests
Here are few use cases of the API
The ressource and method used are the same as the FTTE offer. Only the value of the object category changes and has the value "ftth" instead of "ftte". For example : Resource: /productRIPQualification Method: POST
1. I want to check eligibility to FTTH offers from a textual address 59 CHEMIN DE LA MARE, 53400 CHERANCE
{
"contextType": "fulltext",
"category": {
"name": "ftth"
},
"place": {
"nonFormattedAddress": {
"fullText": "59 CHEMIN DE LA MARE, 53400 CHERANCE"
}
}
}
I get :
{
"place": {
"geographicSite": {
"address": "59 CHEMIN DE LA MARE, 53400 CHERANCE",
"normalizedAddress": {
"inseeCode": "53068",
"rivoliCode": "0082",
"streetNr": "59",
"streetType": "CHEMIN",
"streetName": "DE LA MARE",
"postcode": "53400",
"city": "CHERANCE",
"geographicSubAddress": [
{
"buildingCode": "IMB/53068/X/0052",
"geographicLocation": {
"longitude": -0.9485705042736172,
"latitude": 47.81389107120403,
"accuracy": "building"
}
}
]
}
}
},
"productOfferingQualificationItem": [
{
"qualificationItemResult": "eligible",
"qualificationItemReason": "marketable",
"productOffering": {
"name": "Accès aux lignes FTTH",
},
"product": {
"characteristics": [
{
"name": "buildingStatus",
"value": "DEPLOYE"
},
{
"name": "orderAcceptanceDate",
"value": "2020-05-14"
},
{
"name": "commercialLaunchDate",
"value": "2020-05-29"
},
{
"name": "siteType",
"value": "PAVILLON"
},
{
"name": "logementNumber",
"value": "1"
},
{
"name": "linkTypePBPTO",
"value": "aéro-souterrain"
},
{
"name": "pmCode",
"value": "FI-53084-0002"
},
{
"name": "nroCode",
"value": "53084XCR"
},
{
"name": "oiCode",
"value": "MAYE"
},
{
"name": "oiName",
"value": "Mayenne Fibre"
}
]
}
},
{
"qualificationItemResult": "eligible",
"qualificationItemReason": "marketable",
"productOffering": {
"name": "FTTH activé",
},
"product": {
"characteristics": [
{
"name": "buildingStatus",
"value": "DEPLOYE"
},
{
"name": "orderAcceptanceDate",
"value": "2020-05-14"
},
{
"name": "commercialLaunchDate",
"value": "2020-05-29"
},
{
"name": "siteType",
"value": "PAVILLON"
},
{
"name": "logementNumber",
"value": "1"
},
{
"name": "linkTypePBPTO",
"value": "aéro-souterrain"
},
{
"name": "pmCode",
"value": "FI-53084-0002"
},
{
"name": "nroCode",
"value": "53084XCR"
},
{
"name": "oiCode",
"value": "MAYE"
},
{
"name": "oiName",
"value": "Mayenne Fibre"
}
]
}
}
],
}
2. I want to check a site eligibility to FTTE offers from a building code
{
"contextType": "buildingCode",
"category": {
"name": "ftth"
},
"publicKey": {
"name": "buildingCode",
"value": "IMB/53068/X/0052"
}
}
I get :
{
"place": {
"geographicSite": {
"address": "59 CHEMIN DE LA MARE, 53400 CHERANCE",
"normalizedAddress": {
"inseeCode": "53068",
"rivoliCode": "0082",
"streetNr": "59",
"streetType": "CHEMIN",
"streetName": "DE LA MARE",
"postcode": "53400",
"city": "CHERANCE",
"geographicSubAddress": [
{
"buildingCode": "IMB/53068/X/0052",
"geographicLocation": {
"longitude": -0.9485705042736172,
"latitude": 47.81389107120403,
"accuracy": "building"
}
}
]
}
}
},
"productOfferingQualificationItem": [
{
"qualificationItemResult": "eligible",
"qualificationItemReason": "marketable",
"productOffering": {
"name": "Accès aux lignes FTTH",
},
"product": {
"characteristics": [
{
"name": "buildingStatus",
"value": "DEPLOYE"
},
{
"name": "orderAcceptanceDate",
"value": "2020-05-14"
},
{
"name": "commercialLaunchDate",
"value": "2020-05-29"
},
{
"name": "siteType",
"value": "PAVILLON"
},
{
"name": "logementNumber",
"value": "1"
},
{
"name": "linkTypePBPTO",
"value": "aéro-souterrain"
},
{
"name": "pmCode",
"value": "FI-53084-0002"
},
{
"name": "nroCode",
"value": "53084XCR"
},
{
"name": "oiCode",
"value": "MAYE"
},
{
"name": "oiName",
"value": "Mayenne Fibre"
}
]
}
},
{
"qualificationItemResult": "eligible",
"qualificationItemReason": "marketable",
"productOffering": {
"name": "FTTH activé",
},
"product": {
"characteristics": [
{
"name": "buildingStatus",
"value": "DEPLOYE"
},
{
"name": "orderAcceptanceDate",
"value": "2020-05-14"
},
{
"name": "commercialLaunchDate",
"value": "2020-05-29"
},
{
"name": "siteType",
"value": "PAVILLON"
},
{
"name": "logementNumber",
"value": "1"
},
{
"name": "linkTypePBPTO",
"value": "aéro-souterrain"
},
{
"name": "pmCode",
"value": "FI-53084-0002"
},
{
"name": "nroCode",
"value": "53084XCR"
},
{
"name": "oiCode",
"value": "MAYE"
},
{
"name": "oiName",
"value": "Mayenne Fibre"
}
]
}[enter link description here](/ope-contents/channels/87afd7365baec589/offers/TELItsCLGPyV2dah/products/LUHZllBvIB2KfUcT/contents/VjAGwh6JWnFvryfJ)
}
],
}
Appendix
History of document
Version | Modification date | Description of changes | API | API version corresponding to this documentary version |
---|---|---|---|---|
v1.0 | 25/01/2021 | Initialisation | RIP API Operator Eligibility | v1.0 |