.wpb_animate_when_almost_visible { opacity: 1; }

Orange Store Locator France 2.0

Find useful location and information about Orange stores, such as address, services provided and opening hours.

Use this API Contact us

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 and position.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 about credentials check that you provide the right Autorization header with the right Bearer

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
}

Consult other errors