KPN

Disturbance Check - KPN

KPN

Check for network disturbance for any address in the Netherlands

Fast and reliable network disturbance information

  • Network

API reference on SwaggerHub API reference on Postman

Introduction

This API allows you to check whether there are any network disturbances for any address in the Netherlands.

Conceptual model

Conceptual model

API workflow

Sequence diagram

Getting started

Authentication

OAuth 2.0

For accessing and/or manipulating the resources, the client application (your application) needs to be granted permission to do so. The OAuth 2.0 standard defines a protocol that allows such third party authorization through the use of access tokens. Access tokens are central in the protocol. These tokens, in the form of strings, are delivered by an authorization server (our authentication server) and they enable the client application to securely access protected data on behalf of the resource owner (the end user).

We use Client Credentials Grant. This means the application makes the request to the authentication service by sending authorization credentials. The service responds with an access token among other useful information.

Get access token

Copy your app's credentials and replace APP_CONSUMER_KEY and APP_CONSUMER_SECRET with the copied values, then execute below curl command to receive access token.

curl -X POST  'https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials'  -H 'content-type: application/x-www-form-urlencoded'  -d 'client_id=APP_CONSUMER_KEY&client_secret=APP_CONSUMER_SECRET'

Note: If you are using cURL for Windows then please use the below command.

curl -X POST "https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials" -H "content-type: application/x-www-form-urlencoded" -d "client_id=APP_CONSUMER_KEY&client_secret=APP_CONSUMER_SECRET"

The authorization service returns a JSON message that contains the access token field.

{
    "refresh_token_expires_in": "0",
    "api_product_list": "[xxxxxxx]",
    "api_product_list_json": [
        " xxxxxxx"
    ],
    "organization_name": "kpn",
    "developer_email": "demo123@kpn.com",
    "token_type": "Bearer",
    "issued_at": "1521039195424",
    "client_id": "APP_CONSUMER_KEY",
    "access_token": "haf2SDl07E9N7RluNQ4kJ1TkGgso",
    "application_name": "6e38ed2d-48b1-4362-97d6-04254065d79c",
    "scope": "",
    "expires_in": "3599",
    "refresh_count": "0",
    "status": "approved"
}

How to...

Check network disturbances for an address

SwaggerHub:

  1. Check disturbance GET /address.
  2. Click Try it out.
  3. Supply zip_code and house_number.
  4. Click Execute.
  5. Check the response code and message.

Postman:

  1. GET (CheckDisturbance).
  2. Supply zip_code and house_number.
  3. Click Send.
  4. Check the response code and message.

If it's a valid address, the result of the call will look like the following:

{
    "broadband": [
        {
            "id": 2068,
            "affected_elements_count": 1,
            "affected_customers_count": 316,
            "communicated_customers_sms_count": 147,
            "communicated_customers_email_count": 150,
            "type": "geographical-broadband",
            "cause": "disturbance",
            "source": "gui",
            "service": null,
            "state": "open",
            "start_date": "2018-11-14T14:18:00Z",
            "end_date": "2018-11-15T18:18:00Z",
            "region": "HOOGEZAND",
            "description": null,
            "long_description": "<p>Door een storing ervaar je mogelijk verminderde dienstverlening van internet, bellen, tv-kijken of pinnen op je vaste aansluiting. Onze excuses hiervoor. Wij stellen alles in het werk om de storing zo spoedig mogelijk op te lossen.</p>\r\n\r\n<p><b>Storing opgelost</b><br>\r\nMaar werkt het toch nog niet goed? Schakel dan je modem uit en weer aan. Schakel na 10 minuten ook je tv-ontvanger uit en weer aan. Binnen 15 minuten werken de diensten weer.</p>",
            "serviceguard_ticket_id": null,
            "created_at": "2018-11-14T14:20:03.581084Z",
            "communication_type": null,
            "user": null
        }
    ],
    "fixed": [],
    "mobile": [],
    "generic": [
        {
            "id": 1419,
            "affected_elements_count": 0,
            "affected_customers_count": 0,
            "communicated_customers_sms_count": 0,
            "communicated_customers_email_count": 0,
            "type": "generic",
            "cause": "disturbance",
            "source": "gui",
            "service": "Webmail",
            "state": "open",
            "start_date": "2018-03-26T13:27:34Z",
            "end_date": "2018-08-31T21:59:00Z",
            "region": null,
            "description": "Webmail niet beschikbaar",
            "long_description": "",
            "serviceguard_ticket_id": "webmail",
            "created_at": "2017-07-31T12:52:51.495004Z",
            "communication_type": null,
            "user": 8
        },
        {
            "id": 1438,
            "affected_elements_count": 0,
            "affected_customers_count": 0,
            "communicated_customers_sms_count": 0,
            "communicated_customers_email_count": 0,
            "type": "generic",
            "cause": "disturbance",
            "source": "gui",
            "service": "Other",
            "state": "open",
            "start_date": "2018-03-26T13:26:36Z",
            "end_date": "2018-04-26T13:26:49Z",
            "region": null,
            "description": "Prepaid opwaarderen niet mogelijk",
            "long_description": "Tijdelijk is het niet mogelijk om u prepaid tegoed op te waarderen.",
            "serviceguard_ticket_id": "prepaid",
            "created_at": "2017-08-16T09:56:33.942384Z",
            "communication_type": null,
            "user": 8
        }
    ]
}

Return codes

Code   Description
200   Success
201   Created
202   Accepted
302   Found. Link in location header
400   Bad request
401   Unauthorized
403   Forbidden
404   Not found
405   Method not allowed
412   Precondition failed
429   Too many requests
500   Internal server error
502   Bad gateway
503   Service unavailable

API versions

Version   Description
1.0   Initial Version