Table of Contents
Prerequisite authentication
Orange Store Locator API requires an access_token
. Get it from the token endpoint https://api.orange.com/oauth/v3/token
. If you need more details on how to get OAuth access token, read the detailed authentication method documentation.
Base URL
The Base URL is the root URL for all of the API, if you ever make a request to this API and you get back a 404 NOT FOUND response then check the Base URL first.
The Base URL for Orange Store Locator API is:
https://api.orange.com/poi/v2
The documentation below assumes you are prepending the Base URL to the endpoints in order to make requests.
Resources
Shops
Get Orange stores info by providing at least one search parameter, for example you can list stores information with a given city.
Request
curl -X GET -H "Authorization: Bearer {access_token}" \
https://api.orange.com/poi/v2/shops?city=velizy
Reply
Headers
HTTP/1.1 200 OK
X-Result-Count: 1
X-Total-Count: 1
Body
[
{
"id": "69474",
"url": "http://agence.orange.fr/17045-boutique-orange-partenaire-franchise-generale-de-telephone-velizy-villacoublay",
"name": "Boutique Orange Vélizy 2 niveau bas - Vélizy Villacoublay",
"description": "",
"active": true,
"location": {
"address1": "CENTRE COMMERCIAL VELIZY 2",
"address2": "NIVEAU BAS PORTE 4",
"address3": "",
"department": "78",
"city": "VELIZY VILLACOUBLAY",
"country": "France",
"postalCode": "78140",
"timezone": "UTC+01:00"
},
"contacts": {
"personalClientPhone": "0139461428",
"professionalClientPhone": "",
"phoneLabel": "3900(Particuliers)/3901(Professionnels)"
},
"position": {
"longitude": 2.22141,
"latitude": 48.78139,
"distance": 9.9999999E7
},
"codes": {
"erd": "25340",
"adv": "78PHSEVELI",
"edo": "69474",
"siret": "43772384401116"
},
"services": [
{
"id": 5,
"label": "Assistance Livebox"
},
{
"id": 6,
"label": "Espace Photo"
},
{
"id": 7,
"label": "Service PickUp"
},
{
"id": 9,
"label": "Eligibilite de la boutique Fibre Optique"
}
],
"operationalHours": {
"monday": [
{
"from": "T10:00",
"to": "T20:00"
}
],
"tuesday": [
{
"from": "T10:00",
"to": "T22:00"
}
],
"wednesday": [
{
"from": "T10:00",
"to": "T22:00"
}
],
"thursday": [
{
"from": "T10:00",
"to": "T22:00"
}
],
"friday": [
{
"from": "T10:00",
"to": "T22:00"
}
],
"saturday": [
{
"from": "T10:00",
"to": "T20:00"
}
],
"sunday": []
},
"exceptionalEvents": []
}
]
Search parameters
You could retrieve store by specifying attributes in the querystring
. Here's the exhaustive list of available parameters :
- id: ORANGE unique identifier of the shop site (If specified other search parameters are ignored)
- city: Full or partial city name
- postalCode: Exact required postal code
- keyword: Global search made accross the following fields: name; description; address1; address2, city
- position.lat: Latitude coordinate
- position.long: Longitude coordinate
- position.radius: Radius in meters to search around
position.lat
andposition.long
- services: Exact service id (Services list is available throw /poi/v2/services endpoint)
Filter parameters
- active: Precise that the shop is still active (default true)
- offset: Defines the offset from the first result you want to fetch
- limit: Maximun results (default = 50)
- full: Return all shops
For detailed information on parameters, check the API reference
Pagination
After each resquest, explore the http headers
to retrieve the number of results
X-Result-Count: Number of shops in the JSON response
X-Total-Count: Total number of reply available
If X-Total-Count
is bigger than X-Result-Count
, you need to request again by incrementing the offset with the X-Result-Count
value.
Errors
If you get a
401
http error talking aboutcredentials
check that you provide the rightAutorization
header with the rightBearer
In case of invalid request, you will receive a 400
error code with detailed information in the body message. For example by requesting with an invalid search field:
curl -X GET -H "Authorization: Bearer {access_token}" \
https://api.orange.com/poi/v2/shops?exoticfield=true
You will get the following error :
HTTP/1.1 400 Bad Request
{
"message": "Missing query-string parameter",
"description": "Missing parameter",
"code": 27
}