openapi: 3.0.0
info:
title: Wholesale Broadband Access
version: v1.0.1
description: >-
KPN Wholesale Broadband Access (WBA) is a KPN Wholesale product offering copper and fiber access to wholesale customers. WBA has the following APIs available:
* Functional Product Information: The Functional Product Information (FPI) service is used to provide WBA access information for new and existing WBA connections. FPI provides carrier vendor information and WBA technology availability with actual up and down bitrates with a reliability per technology type.
* Carrier Information Product: The Carrier Information Product (CIP) service is used to provide information about the infrastructure and active services on the physical connection of a customer address.
### Key highlights
- **Security:** HTTPS, OAuth, Rate limits.
- **Versioning:** Supports version-less API, version tight. If no version
is provided (in the header) it defaults to latest version.
---
## [Source view](https://app.swaggerhub.com/apis/kpn/wholesale-broadband_access_fpi_cip/)
[Documentation view](https://app.swaggerhub.com/apis-docs/kpn/wholesale-broadband_access_fpi_cip/)
---
## [KPN API Store](https://developer.kpn.com/)
[Getting Started](https://developer.kpn.com/getting-started)
[KPN Wholesale Broadband Access](https://www.kpn-wholesale.com/product-information/broadband/wba.htm)
---
contact:
name: API Support
email: api_developer@kpn.com
url: 'https://developer.kpn.com/support'
termsOfService: 'https://developer.kpn.com/legal'
tags:
- name: default
description: ''
servers:
- url: 'https://api-prd.kpn.com/wba'
externalDocs:
description: HTTP response headers
url: https://developer.kpn.com/documentation-response-headers
paths:
'/fpi/addresses':
get:
summary: Retrieves Functional Product Information
tags: [default]
security:
- oauth2: []
description: |
This API is in line with WBA FPI v26.
The Functional Product Information (FPI) service is used to provide WBA access information for new and existing WBA connections. FPI provides carrier vendor information and WBA technology availability with actual up and down bitrates with a reliability per technology type. The reliability is defined as the probability that the bitrate can be achieved and is only applicable for WBA connections on copper lines. The provided reliability in FPI is within 50% to 100%. The reliability for fiber WBA connections is always 100%. It is allowed to request different reliability per copper technology type.
An address is mandatory in the FPI request.
For an existing WBA broadband connection, the WSO specifies the `xdf-access-serviceid`, provided by KPN when the connection was delivered. The `xdf-access-serviceid` is the unique identifier for the current access connection. The bitrates up/down are determined by measurement on the broadband connection of the `xdf-access-serviceid`.
An address can have one or more carrier vendors. FPI provides information for the following carrier vendors:
- MDF: WBA services on copper lines from central office (MDF)
- SDF: WBA services on copper lines from street cabinet (SDF)
- REGG: WBA Fiber to the Home (FttH) services from Reggefiber
- KPNFO: WBA Fiber to the Office (FttO) services form KPNFO
The API request should be of the form: `/fip/addresses?{query-parameters}`.
Example without URL encoding:
`/fpi/addresses?requested-zipcode=1234AB&requested-housenumber=12&requested-housenrext=A&connectionpointnumber=001&technologyreliability=[{"technology-type":"ADSL2+_ISDN","reliability":"80"},{"technology-type":"GPON"}]`
Example with URL encoding:
`/fpi/addresses?requested-zipcode=1234AB&requested-housenumber=12&requested-housenrext=A&connectionpointnumber=001&technologyreliability=%5B%7B%22technology-type%22%3A%22ADSL2+_ISDN%22%2C%22reliability%22%3A%2280%22%7D%2C%7B%22technology-type%22%3A%22GPON%22%7D%5D`
parameters:
- $ref: '#/components/parameters/requested-zipcode'
- $ref: '#/components/parameters/requested-housenumber'
- $ref: '#/components/parameters/requested-housenrext'
- $ref: '#/components/parameters/connectionpointnumber'
- $ref: '#/components/parameters/fiber-terminationpoint-id'
- $ref: '#/components/parameters/xdf-access-serviceid'
- $ref: '#/components/parameters/technologyreliability'
- $ref: '#/components/parameters/service-group'
responses:
'200':
description: WBA Functional Product Information response
content:
application/json:
schema:
type: object
properties:
enduserinfo:
$ref: '#/components/schemas/enduserinfo-fpi-schema'
actualuserinfo:
$ref: '#/components/schemas/actualuserinfo-schema'
carriervendor:
$ref: '#/components/schemas/carriervendor-fpi-schema'
technologyavailability:
$ref: '#/components/schemas/technologyavailability-schema'
errorinfo:
type: object
properties:
errorcode:
$ref: '#/components/schemas/errorcode-schema'
commentcode:
$ref: '#/components/schemas/commentcode-schema'
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'429':
description: Too many requests
'500':
description: Server error
'502':
description: Bad gateway
'503':
description: Server unavailable
'/cip/addresses':
get:
summary: Retrieves Carrier Information Product
description: |
This API is in line with WBA CIP v46.
The Carrier Information Product (CIP) service provides information about the infrastructure and active services on the physical connection of a customer address. For physical carrier Copper, the ISRA with current and future connection details of all copperlines are shown. For physical carrier Fiber, all fiber-terminationpoints are shown including current and future connection details. To support WSO’s clean order process, a list of house number extensions per carrier-vendor will be provided in case of a wrong or missing housenumber extension and there are no other identifiers (i.e. phone number or xdf-access-service-id) specified for the connection.
The Carrier Information service can be used for several scenarios:
1. Scenario for an address connected to physical carrier Copper. User creates a CIP request for physical carrier Copper and the connection details for the copper connection will be shown
2. Scenario for an address connected to physical carrier Fiber. User creates a CIP request for physical carrier Fiber and the connection details for the fiber connection will be shown
3. Scenario for an address connected to both Copper and Fiber. User creates a CIP request without specifying physical carrier (empty field) and the connection details for the copper and fiber connection will be shown.
When the user requests information for a Copper carrier, an optional phonenumber, xdf-service-id or a connectionpointnumber can be provided. The Carrier Info Product provides current and future type of services on all copper lines of the ISRA-connectionpoint. Note that there may be more than one ISRA-connectionpoints on the customer’s address.
In case one or two ISRA-connectionpoints exists, all connection details of those ISRA’s will be shown. If more than two ISRA-connectionpoints exist, the list of ISRA’s is shown without connection details and errorcode 642 will be returned When the user requests information for a Fiber carrier, an optional fiber-terminationpoint-id can be provided. The Carrier Info Product provides current and future type of services on the specified fiber-terminationpoint-id. If no fiber-terminationpoint was specified, the Carrier Info Service provides current and future type of services on all fiber-terminationpoints.
The API request should be of the form: `/cip/addresses?{query-parameters}`.
Example:
`/cip/addresses?requested-zipcode=1234AB&requested-housenumber=12&requested-housenrext=A&connectionpointnumber=001`
tags: [default]
security:
- oauth2: []
responses:
'200':
description: WBA Carrier Information Product response
content:
application/json:
schema:
type: object
properties:
enduserinfo:
$ref: '#/components/schemas/enduserinfo-cip-schema'
planneduserinfo:
$ref: '#/components/schemas/planneduserinfo-schema'
carriervendor:
$ref: '#/components/schemas/carriervendor-cip-schema'
copperinfo:
$ref: '#/components/schemas/copperinfo-schema'
fiberinfo:
$ref: '#/components/schemas/fiberinfo-schema'
errorinfo:
type: object
properties:
errorcode:
$ref: '#/components/schemas/errorcode-schema'
commentcode:
$ref: '#/components/schemas/commentcode-schema'
note:
$ref: '#/components/schemas/note-schema'
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'429':
description: Too many requests
'500':
description: Server error
'502':
description: Bad gateway
'503':
description: Server unavailable
parameters:
- $ref: '#/components/parameters/requested-zipcode'
- $ref: '#/components/parameters/requested-housenumber'
- $ref: '#/components/parameters/requested-housenrext'
- $ref: '#/components/parameters/physical-carrier'
- $ref: '#/components/parameters/requested-phonenumber'
- $ref: '#/components/parameters/copper-xdf-access-serviceid'
- $ref: '#/components/parameters/connectionpointnumber'
- $ref: '#/components/parameters/fiber-terminationpoint-id'
- $ref: '#/components/parameters/fiber-xdf-access-serviceid'
components:
securitySchemes:
oauth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials
parameters:
requested-zipcode:
in: query
required: true
name: requested-zipcode
description: 'The zipcode for which to retrieve the functional product information or carrier information.'
schema:
$ref: '#/components/schemas/zipcode-schema'
requested-housenumber:
in: query
required: true
name: requested-housenumber
description: 'The house number for which to retrieve the functional product information or carrier information.'
schema:
$ref: '#/components/schemas/housenumber-schema'
requested-housenrext:
in: query
name: requested-housenrext
description: 'The house number extension for which to retrieve the functional product information or carrier information.'
schema:
$ref: '#/components/schemas/housenrext-schema'
connectionpointnumber:
in: query
name: connectionpointnumber
description: 'The connectionpointnumber is an identification for the ISRA on the end-user’s address (e.g. 001, B, MTK, METERKAS). In case more connectionpoints exists on an address, the connectionpointnumber is required to retrieve connection details. If no connectionpointnumber was specified, the Carrier Information service will provide connection details for one or two ISRAs. If more than two ISRA’s are connected at the customers address, the Carrier Information service provides the list of available ISRA’s on the end-user address. This field is optional.'
schema:
$ref: '#/components/schemas/connectionpointnumber-schema'
fiber-terminationpoint-id:
in: query
name: fiber-terminationpoint-id
description: 'This is an optional field which specifies the fiber terminationpoint-id at the end-user’s address. In case of FTTH from carrier vendor Reggefiber (REGG), the fiber-terminationpoint-id is the name of the room on the address where the fiber is terminated. If a fiber-terminationpoint-id is specified, the Carrier Information Product will provide the current and future (planned) connection details for the given fiber-terminationpoint-id. If no fiber-terminationpoint-id is specified, the carrier-info will provide current and future connections of all fiber-terminationpoints on the end-user address.'
schema:
$ref: '#/components/schemas/fiber-terminationpoint-id-schema'
physical-carrier:
in: query
name: physical-carrier
description: 'Physical carrier of the connection between the end-user’s termination point (ISRA) and the remote access point (MDF/SDF/ODF). Valid input values are “Copper” or “Fiber”. This field is optional.'
schema:
$ref: '#/components/schemas/physical-carrier-schema'
requested-phonenumber:
in: query
name: requested-phonenumber
description: 'This is the phonenumber that will be used as reference for the copper-line and the ISRA. If a phonenumber is specified, address corrections can be done on zipcode, house number and house number extension. This field is optional.'
schema:
$ref: '#/components/schemas/phonenumber-schema'
service-group:
in: query
name: service-group
description: 'The service-group is a reference to the existing WBA service. The service-group is used for migration orders and for changes in existing WBA service of a WSO.'
schema:
$ref: '#/components/schemas/service-group-schema'
technologyreliability:
in: query
name: technologyreliability
description: |
The optional technologyreliability query parameter should be provided as JSON array of objects. FPI uses a list of default technology types and reliability when these parameters are not used. A specified technology type and reliability in FPI overrules the default setting. ADSL_ISDN, SDSL and ADSL2+_ISDN are not shown in the output, unless explicitly specified in the request.
Examples:
[
{
"technology-type":"ADSL2+_POTS",
"reliability":"80"
}
]
[
{
"technology-type":"GPON",
}
]
[
{
"technology-type":"ADSL2+_ISDN",
"reliability":"80"
},
{
"technology-type":"ADSL2+_POTS",
"reliability":"80"
}
]
[
{
"technology-type":"ADSL2+_POTS",
"reliability":"80"
},
{
"technology-type":"GPON"
}
]
Note to supply this as query parameter, the special characeters must be url encoded (incl the + in ADSL2+). i.e. technologyreliability=[{"technology-type":"ADSL2+_POTS","reliability":"80"},{"technology-type":"GPON"}] becomes technologyreliability=%5B%7B%22technology-type%22%3A%22ADSL2%2B_POTS%22%2C%22reliability%22%3A%2280%22%7D%2C%7B%22technology-type%22%3A%22GPON%22%7D%5D
content:
application/json:
schema:
$ref: '#/components/schemas/technologyreliability-schema'
xdf-access-serviceid:
in: query
name: xdf-access-serviceid
description: 'The xdf-access-service-id is a 1-to-1 relationship between the address and the active copperpair or fiber connection. The xdf-access-service-id is used to provide most accurate bitrate and available technology type information for an existing WBA connection. If an xdf-access-serviceid is specified, address corrections can be done on zipcode, house number and house number extension. This field is optional.'
schema:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
copper-xdf-access-serviceid:
in: query
name: copper-xdf-access-serviceid
description: 'The xdf-access-service-id is a 1-to-1 relationship between the address and the active copperpair. The xdf-access-service-id is used to provide most accurate bitrate and available technology type information for an existing WBA connection. If an xdf-access-serviceid is specified, address corrections can be done on zipcode, house number and house number extension. This field is optional.'
schema:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
fiber-xdf-access-serviceid:
in: query
name: fiber-xdf-access-serviceid
description: 'This is the xdf-access-serviceid of the fiber connection. If xdf-access-serviceid and fiber-terminationpoint-id both are filled, the service-id will be taken as leading.'
schema:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
schemas:
access-area-id-schema:
type: string
maxLength: 8
description: An Access Area consists of a set of locations with DSLAMs connected to the Ethernet Transport Network.
example: AA/12345
actualuserinfo-schema:
type: object
description: This object is copied from the user provided address (requested address). This container is not filled when an error is returned.
properties:
zipcode:
$ref: '#/components/schemas/zipcode-schema'
housenumber:
$ref: '#/components/schemas/housenumber-schema'
housenrext:
$ref: '#/components/schemas/housenrext-schema'
connectionpointnumber:
$ref: '#/components/schemas/connectionpointnumber-schema'
fiber-terminationpoint-id:
$ref: '#/components/schemas/fiber-terminationpoint-id-schema'
planneduserinfo-schema:
type: object
description: The “planned” user-info is the customer address from installed base. Zipcode and housenumber may be corrected in case a phonenumber or xdf-access-serviceid was specified in the request.
properties:
zipcode:
$ref: '#/components/schemas/zipcode-schema'
housenumber:
$ref: '#/components/schemas/housenumber-schema'
housenrext:
$ref: '#/components/schemas/housenrext-schema'
street:
$ref: '#/components/schemas/planned_user-street-schema'
city:
$ref: '#/components/schemas/planned-user-city-schema'
areapop-schema:
type: string
maxLength: 15
description: This field is filled with the AreaPoP (PoP location of the carrier vendor Fiber) connected to the customers address.
asw-schema:
type: string
maxLength: 2
description: 'Access Stability Value (ASW) is a broadband performance indicator from 1 (‘bad line’) to 10 (‘excellent line’). ASW is applicable for xDSL technology types on copper carriers except for technology type SDSL. ASW is not applicable for Fiber technology types FTTH and FTTO. ASW is determined by the actual speed measured on the DSL modem, the predicted speed for the same technology based on length and the line stability. ASW is determined on a weekly basis for active connections. An ASW value can be empty if one of the variables (actual speed, predicted speed, line stability) is not available.'
example: 8
availability-schema:
type: string
maxLength: 50
description: |
This field indicates the availability per technology type. A technology type can be Open (O), Planned (P), Closed (C) or Temporary Closed (TC). A technology type can be set to TC in case port-capacity is not available in the Distribution Point.''
example: O
carrier-status-schema:
type: string
description: |
In case of a full match, the carrier status for each carrier-vendor will be shown. For carrier-vendor MDF/SDF, carrier-status will be Open or Planned (e.g. High-Rise building, or another reason why copper status is planned). If Copper is not feasible on this address, carrier-status is set to Closed. For carrier-vendor REGG or KPNFO, carrier-status will be returned based on the nl-type. If Fiber is not available on this address, carrier-status is set to Closed. In case of a fiber NL-type 9, carrier status is set to Planned. In case of a partial address match on Copper, no carrier-status can be returned. In case of a partial address match on Fiber, the carrier-status will be selected.
example: O
bandwidth-up-schema:
type: string
maxLength: 50
description: 'This field provides the expected actual up bitrate in kbps, i.e. the actual bitrate as defined in the corresponding technology standard for an xDSL modem or a fiber NT (see WBA Annex 2).'
example: 20139
bandwidth-down-schema:
type: string
maxLength: 50
description: 'This field provides the expected actual down bitrate in kbps, i.e. the actual bitrate as defined in the corresponding technology standard for an xDSL modem or a fiber NT (see WBA Annex 2).'
example: 71968
bonding-allowed-schema:
type: string
pattern: '(0|1|2|3)?'
maxLength: 1
example: 2
description: |
Bonding allowed information is mainly based on the quality of the copper cable and must not be confused with free available copper pairs. Refer to the table below with the values for the field bonding-allowed.
0: No pair bonding. Bonding is not available and will not become available.
1: Pair bonding upgrade not yet finished. Bonding not available yet. Check on quality of additional connections needed for bonding is not yet finished.
2: Pair bonding upgrade finished. Bonding is available. Quality of additional connections for bonding is checked
3: Temporary not available. Bonding temporary not available.
cable-length-schema:
type: string
maxLength: 12
description: 'Length of the copper cable connection (in meters) which can be used to determine NLS-type 3 category. In case this length <25m and no free copper pairs are available, a new line can be requested as NLS-type 3. In case this length is >=25m and no free copper pairs are available, WSO needs to request a quotation for installation of a new NLS-type 3 line via infraportal https://www.vwtelecom.com/cit-team WSO can submit a WBA order on NLS-type 1, when copperpair on ISRA is delivered.'
example: 55
location-ftu-schema:
type: string
maxLength: 50
enum:
- METERBOX
- LIVINGROOM
- BASEMENT
- OTHER
description: |
Location of the FTU. This can have the following values:
- METERBOX
- LIVINGROOM
- BASEMENT
- OTHER
example: LIVINGROOM
mdf-cable-length-schema:
type: string
maxLength: 12
description: The total length from MDF to the end of the cable. The house connection cable, having a separate cable-length is connected on any point in the distribution cable, not necessary on the end of the cable, but probably closer to the MDF.
network-provider-schema:
type: string
maxLength: 50
description: This is the network provider (owner of the network) of the passive connection. In case of KPN this field is filled with KPN Network NL.
example: KPN Network NL
carriervendor-fpi-schema:
type: array
items:
type: object
description: 'The carriervendor object has carrier vendor information (MDF, SDF, REGG or KPNFO) for the requested address.'
properties:
carrier-vendor-id:
$ref: '#/components/schemas/carrier-vendor-id-schema'
carrier-status:
$ref: '#/components/schemas/carrier-status-schema'
asw:
$ref: '#/components/schemas/asw-schema'
ftu-type:
$ref: '#/components/schemas/ftu-type-schema'
current-nt-type:
$ref: '#/components/schemas/current-nt-type-schema'
nl-type:
$ref: '#/components/schemas/nl-type-schema'
plan-date:
$ref: '#/components/schemas/plan-date-schema'
has-date:
$ref: '#/components/schemas/has-date-schema'
san-only:
$ref: '#/components/schemas/san-only-schema'
commentcode:
$ref: '#/components/schemas/commentcode-schema'
addresslist:
type: array
items:
type: object
description: |
The addresslist optional object is used in case of a partial address match. All known addresses (list of house number extension) for the carrier-vendor (MDF, SDF, REGG, KPNFO) will be provided. In case of a full match and multiple copper or fiber termination points exists, FPI will return the list of known Copper ISRA connectionpoint (only connectionpoint number) or fiber-termination point on the requested address.
properties:
zipcode:
$ref: '#/components/schemas/zipcode-schema'
housenumber:
$ref: '#/components/schemas/housenumber-schema'
housenrext:
$ref: '#/components/schemas/housenrext-schema'
isra-specs:
$ref: '#/components/schemas/isra-specs-schema'
fiber-terminationpoint-id:
$ref: '#/components/schemas/fiber-terminationpoint-id-schema'
carriervendor-cip-schema:
type: array
items:
type: object
description: 'The optional carriervendor object is used when the requested housenumber-extension does not exists and there is no other identifier (phonenumber or xdf-access-serviceid) in the request to identify the connection. All known addresses per carrier-vendor / physical-carrier will be provided including carrier-status (Open, Closed, Planned) and planned-nl-type for fiber. Errorcode 251 is returned in case requested zipcode and housenumber exists, but the requested housenumber extension is missing or incorrect. The list of known housenumber extensions on the requested addresses is provided for each carrier-vendor (MDF, SDF, REGG, non-network). The WSO can choose a valid housenumber extension from the list. Errorcode 202 will be returned in case the requested zipcode and housenumber is unknown.'
properties:
carrier-vendor-id:
$ref: '#/components/schemas/carrier-vendor-id-schema'
physical-carrier:
$ref: '#/components/schemas/physical-carrier-schema'
address:
type: array
items:
type: object
description: |
This is the list of the known zipcode, house number, house number extension, carrier-status and planned-nl-type per carrier-vendor (REGG, KPNFO, MDF or non-network). Note that in CIPv44, housenrext has a max of 5 positions.
properties:
zipcode:
$ref: '#/components/schemas/zipcode-schema'
housenumber:
$ref: '#/components/schemas/housenumber-schema'
housenrext:
$ref: '#/components/schemas/housenrext-schema'
carrier-status:
$ref: '#/components/schemas/carrier-status-schema'
planned-nl-type:
$ref: '#/components/schemas/nl-type-schema'
carrier-vendor-id-schema:
type: string
maxLength: 50
description: 'The carrier-vendor is the provider of the WBA physical carrier between DSLAM port and customer location, i.e.: - Copper carrier: MDF, SDF - Fiber carrier: REGG, KPNFO. Non-network will be returned for an existing address where no infrastructure (fiber or copper) is found in the installed base.'
example: REGG
cgb-name-schema:
type: string
maxLength: 16
example: Asd-C
description: This is the MDF-location where the end-user address is connected to.
city-schema:
type: string
maxLength: 24
example: Den Haag
planned-user-city-schema:
type: string
maxLength: 80
example: Den Haag
commentcode-schema:
type: string
maxLength: 80
description: |
Commentcodes are never blocking but meant to inform the WSO about certain situations.
Information about commentcodes can be found in the document *WBA Fulfillment Error Comment Code List*, which is provided to every KPN Wholesale Broadband Access customer.
example: 9065
connectionpointnumber-schema:
type: string
maxLength: 3
minLength: 0
pattern: '\d{3}'
example: 001
construction-type-schema:
type: string
enum:
- EXISTING_CONSTRUCTION
- NEW_CONSTRUCTION
- UNKNOWN
maxLength: 50
description: |
Possible values for this field are:
- EXISTING_CONSTRUCTION (“bestaande bouw”)
- NEW_CONSTRUCTION (“nieuwbouw”)
- UNKNOWN
example: EXISTING_CONSTRUCTION
copperinfo-schema:
type: object
description: 'This object is present in the response for physical-carrier “Copper” and will be returned when requested address has copper connections.'
properties:
carrier-vendor-id:
$ref: '#/components/schemas/carrier-vendor-id-schema'
carrier-status:
$ref: '#/components/schemas/carrier-status-schema'
requestedlinedetails:
type: object
description: 'This object is filled when a phonenumber and/or xdf-access-serviceid was specified in the request.'
properties:
main-phonenumber:
$ref: '#/components/schemas/phonenumber-schema'
currenttelephonytype:
$ref: '#/components/schemas/telephonytype-schema'
xdf-access-serviceid:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
additional-xdf-access-serviceid:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
status-connection:
$ref: '#/components/schemas/status-connection-schema'
isra-pin:
$ref: '#/components/schemas/isra-pin-schema'
plandate:
$ref: '#/components/schemas/plan-date-schema'
connectionpointinfo:
type: array
items:
type: object
properties:
cgb-name:
$ref: '#/components/schemas/cgb-name-schema'
isra-specs:
$ref: '#/components/schemas/isra-specs-schema'
number-of-nl1-lines:
$ref: '#/components/schemas/number-of-nl-lines-schema'
number-of-nl2-lines:
$ref: '#/components/schemas/number-of-nl-lines-schema'
san-only:
$ref: '#/components/schemas/san-only-schema'
bonding-allowed:
$ref: '#/components/schemas/bonding-allowed-schema'
plandate:
$ref: '#/components/schemas/plan-date-schema'
cable-length:
$ref: '#/components/schemas/cable-length-schema'
mdf-cable-length:
$ref: '#/components/schemas/mdf-cable-length-schema'
copperconnection:
type: array
items:
type: object
properties:
current-typeofconnection:
$ref: '#/components/schemas/typeofconnection-schema'
current-xdf-access-serviceid:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
current-phonenumber:
$ref: '#/components/schemas/phonenumber-schema'
current-telephony-type:
$ref: '#/components/schemas/telephonytype-schema'
future-typeofconnection:
$ref: '#/components/schemas/typeofconnection-schema'
future-xdf-access-serviceid:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
future-phonenumber:
$ref: '#/components/schemas/phonenumber-schema'
future-telephony-type:
$ref: '#/components/schemas/telephonytype-schema'
current-nt-type-schema:
type: string
maxLength: 50
description: The nt-type as found in the inventory. This might either be an active line of an inactive line.
example: KPN-G
diy-allowed-schema:
type: string
pattern: '({true|false})?'
maxLength: 5
description: |
The Area PoP location can be managed by Reggefiber and DiY is not allowed in this case. Possible values are:
- false (DiY is not allowed, this Area PoP and ordertype is managed by Reggefiber)
- true (DiY is allowed on this Area PoP)
enduserinfo-fpi-schema:
type: object
description: This container has the address details with xdf-access-serviceid, connectionpointnumber and fiber-terminationpoint-id as provided in the FPI request. The fields requested-housenumber, requested-zipcode are functional mandatory, the other fields are optional.
properties:
requested-housenumber:
$ref: '#/components/schemas/housenumber-schema'
requested-housenrext:
$ref: '#/components/schemas/housenrext-schema'
requested-zipcode:
$ref: '#/components/schemas/zipcode-schema'
connectionpointnumber:
$ref: '#/components/schemas/connectionpointnumber-schema'
fiber-terminationpoint-id:
$ref: '#/components/schemas/fiber-terminationpoint-id-schema'
xdf-access-serviceid:
$ref: '#/components/schemas/xdf-access-serviceid-schema'
service-group:
$ref: '#/components/schemas/service-group-schema'
required:
- requested-housenumber
- requested-zipcode
enduserinfo-cip-schema:
type: object
description: The requested elements are echoed from the input. Optional field requested-phonenumber is included, since this may be a different phonenumber (i.e. an ISDN-2 subnumber) than the main-phonenumber.
properties:
requested-housenumber:
$ref: '#/components/schemas/housenumber-schema'
requested-housenrext:
$ref: '#/components/schemas/housenrext-schema'
requested-zipcode:
$ref: '#/components/schemas/zipcode-schema'
requested-phonenumber:
$ref: '#/components/schemas/phonenumber-schema'
required:
- requested-housenumber
- requested-zipcode
errorcode-schema:
type: integer
maxLength: 5
description: |
If the errorcode is not equal to 0, there was an error in the validations and the information request could not be fulfilled. This can be syntax errors on the structure of the xml message (errorcode 701), authorization error (errocode 801) or functional errors on provided input data.
Information about errorcodes can be found in the document *WBA Fulfillment Error Comment Code List*, which is provided to every KPN Wholesale Broadband Access customer.
fiber-terminationpoint-id-schema:
type: string
maxLength: 64
minLength: 0
example: 6.17
description: 'This is the identification of the fiber termination point on the customer address (for Reggefiber: Room). There may be more fiber-terminationpoint-ids on an end-user address, each with a unique identification.'
fiberinfo-schema:
type: object
description: This object is present in the message for physical-carrier “Fiber”.
properties:
carrier-vendor-id:
$ref: '#/components/schemas/carrier-vendor-id-schema'
areapop:
$ref: '#/components/schemas/areapop-schema'
connectionpointinfo:
type: array
items:
type: object
properties:
fiber-terminationpoint-id:
$ref: '#/components/schemas/fiber-terminationpoint-id-schema'
network-provider:
$ref: '#/components/schemas/network-provider-schema'
ftu-type:
$ref: '#/components/schemas/ftu-type-schema'
location-ftu:
$ref: '#/components/schemas/location-ftu-schema'
power-outlet-available:
$ref: '#/components/schemas/power-outlet-available-schema'
ftu-close-to-isra:
$ref: '#/components/schemas/ftu-close-to-isra-schema'
nl-type:
$ref: '#/components/schemas/nl-type-schema'
construction-type:
$ref: '#/components/schemas/construction-type-schema'
diy-allowed:
$ref: '#/components/schemas/diy-allowed-schema'
carrier-status:
$ref: '#/components/schemas/carrier-status-schema'
plan-date:
$ref: '#/components/schemas/plan-date-schema'
has-date:
$ref: '#/components/schemas/has-date-schema'
fiberconnection:
type: array
items:
type: object
properties:
current-typeofconnection:
$ref: '#/components/schemas/typeofconnection-schema'
current-xdf-connectionid:
$ref: '#/components/schemas/odf-connection-id-schema'
future-typeofconnection:
$ref: '#/components/schemas/typeofconnection-schema'
future-xdf-connectionid:
$ref: '#/components/schemas/odf-connection-id-schema'
ftu-close-to-isra-schema:
type: string
pattern: '({true|false})?'
maxLength: 5
description: 'Possible values are: true, false'
example: true
ftu-type-schema:
type: string
maxLength: 50
description: 'The FTU is used for installation of the NT (Network Termination device) at the customer premises. FPI provides the ftu-type to be installed at the customer location when ordering a WBA service. Examples of FTU types are: FTU_GN01, FTU_GN02, FTU_ZS_GN01. In case of partial address match, the field ftu-type is empty. Standard FTU-Type for Reggefiber NL-type 7, 8, 9 and 11 is FTU_TK01. The FTU-type is relevant for the installation of the NT-type. Fiber Termination Unit for carrier-vendor KPNFO (FTTO) is currently MB4.'
example: FTU_GN01
housenumber-schema:
type: string
maxLength: 5
minLength: 1
example: 12
housenrext-schema:
type: string
maxLength: 5
minLength: 0
example: A
isra-specs-schema:
type: string
maxLength: 85
description: 'The ISRA specs of a copper termination point of the customer address, connected to the Distribution Point'
example: 001/MK/MK
isra-pin-schema:
type: string
maxLength: 4
description: In case xDF-access-serviceid was provided, ISRA pin can be shown in output. “isra-pin” (or stift number) is a numeric field with leading zero’s.
example: 0006
nl-type-schema:
type: string
maxLength: 10
description: |
The nl-type (NewLineService type) is only shown for carrier-type Fiber and cannot be shown for Copper. It describes the status of pre-provisioned physical fiber connection to the end-user’s home address. In case of partial address match, nl-type is empty. In case of a full address match on fiber, the following nl-types can be shown:
- HBOB: Haalbaarheidsonderzoek in Buitengebied
- HBOR: Haalbaarheidsonderzoek veroorzaakt door Opleverstatus of RedenNA (Niet Aangesloten)
- IO: Indirect orderbaar
- IO_H: Indirect orderbaar – nog geen HASdatum
- IO_O: Indirect orderbaar – langdurige obstructie
- 6: Standaard
- 7: Na-Aansl T1
- 8: Na-Aansl T2
- 8H: Na-Aansl HBO
- 9: Levering tijdens nieuwbouw en Project-HAS
- 11: FTU Ombouw
- NO: Niet orderbaar
- NO_D: Niet orderbaar – Doorvoerafhankelijkheid
- NO_H: Niet orderbaar – Haalbaarheidsonderzoek
- NO_V: Niet orderbaar – Vraagbundeling
- 21: KPN's FTTO access network is available on this business park and WBA on FTTO is available. Further a fiber connection with free fibers is available on this address. Only patching and configuration work is needed to enable WBA on FTTO
- 23: KPN's FTTO access network is available on this business park and WBA on FTTO is available. But this address is not connected or there are no free fibers available in the customer connection. Digging, patching and configuration work is needed to connect the address to the access network
- 24: KPN's FTTO The carrier-status is set to Closed (e.g. nl-type HBOB) or Planned (nl-type 9) when the fiber is not ready or not yet available for ordering.
example: 6
note-schema:
type: string
maxLength: 200
description: Note field contains additional information for ordering such as complex address.
number-of-nl-lines-schema:
type: string
pattern: '(\d(0,10))?'
maxLength: 10
example: 2
description: |
Number of NL1 lines: Number of NL type 1 copper connections on the ISRA (with or without services)
Number of NL2 lines: Number of NL type 2 copper connections on the ISRA. In case the field number-of-nl-lines is not filled, the number of NL2 Lines cannot be determined accurately. Order will be handled manually by KPN Backoffice.
odf-connection-id-schema:
type: string
maxLength: 20
description: |
Current odf connection id: For carrier-vendor-id REGG, this field is filled with the current ODF ConnectionID.
Future odf connection id: For carrier-vendor-id REGG, this field is filled with the future (planned) ODF ConnectionID.
patchless-possible-schema:
type: string
pattern: '({true|false})?'
maxLength: 5
description: |
Patchless-possible is used for Coper and Fiber Technology types. Patchless-possible is set to true to indicate that the related technology type is supported by the current DSLAM port. An order for this technology type can be executed without crosswire manipulation. Patchless-possible will be returned when on the provided ISRA only one active connection is found, or user has provided an xdf-access-serviceid or a fiber-terminationpoint-id is provided. Patchless-possible is set to false when multiple active connections are found on the provided address. Xdf-access-serviceid is leading in case provided in the input else address will be leading. Commentcode 9079 will be shown in case xdf-access-serviceid is unkown. Patchless-possible is applicable for Copper and Fiber technology types:
- true: if single service exists and the requested technology type is supported on the current DSLAM port
- false: if multiple services exist at the customer address, or requested technology is not supported on the DSLAM port.
example: true
phonenumber-schema:
type: string
pattern: '(0[1-9]\d{8})?'
description: |
Main phonenumber: Identifies the phone number on which the access may be ordered. Can be different from input in case of ISDN2.
example: 0201234567
Current, Future phonenumber: In case the current type of connection = Telephony, this field is filled with the current phone number.
physical-carrier-schema:
type: string
example: Copper
plan-date-schema:
type: string
pattern: '(\d{8})?'
maxLength: 8
description: |
The plan-date will only be provided for a carrier-status Planned. For carrier-vendor MDF/SDF plan-date is only provided when there is a full match. For carrier-vendor REGG of KPNFO, plan-date will be shown when fiber was delivered in the home / building or a plan-date in future in case of a NL-type 9. Date in format CCYYMMDD
Functional Product Information (FPI)) Copperinfo plandate: If status connection is 1,2,3,4,5 or 6 there is a running order. The plandate is shown for the running order on the telephonenumber or xdf-access-serviceid specified in the input. Date format: CCYYMMDD
Carrier Information Product (CIP) Copperinfo plandate: Plandate for delivery of copper cable connection in the building/house (i.e. a new connection in a building on a new address). Plandate is filled with a date in the future. Plandate is not applicable (not filled) in case of a san-only address. Date format: CCYYMMDD
Carrier Information Product (CIP) Fiberinfo plandate: Plandate when fiber was delivered in the home / building or a plandate in future in case of a NL-type 9. Date format: CCYYMMDD
example: 20190815
plandate-reliability-schema:
type: string
maxLength: 15
description: 'Presentation of a plandate and reliability is in the following format: - Week reliability: field is filled with “dd-mm-yyyy” (NEN ISO 8601 date format) - Month reliability: abbreviation for Month and year. Following abbreviations are used for month: -- Jan. Feb. Mar. Apr. May. June, July, Aug. Sept. Oct. Nov. Dec. -- Example: Dec. 2017 -- Quarter reliability: Q4 2017'
example: Dec. 2017
has-date-schema:
type: string
pattern: '(\d{8})?'
maxLength: 8
description: 'Home connection: Date at which an appointment is made with end-user to install the fiber, including FTU-Type, in the home / building. Has-date is only provided for carrier-vendor REGG in case carrier-status is Panned. Date in format CCYYMMDD'
example: 20190815
san-only-schema:
type: string
pattern: '({true|false})?'
description: 'SAN-only indicates that a copper connection to the house is planned but is built on customer request only. Tariff is according to NL type 1, but different lead-time is used to allow digging to be executed.'
example: true
service-group-schema:
type: string
maxLength: 12
description: 'The service-group is a reference to the existing WBA service. The service-group is used for migration orders and for changes in existing WBA service of a WSO.'
soft-connect-possible-schema:
type: string
pattern: '({true|false})?'
maxLength: 5
description: 'Soft-connect-possible indication will be returned when the connection to the DSLAM port was not removed (soft-cease). This is currently only applicable on Copper connections. A real-time NL-type 1 without Test and Label order is possible for a soft-cease connection. In case of PAN capacity problems, it may occur that a soft-cease connection is taken for another new connection and since the soft-connect-possible attribute is not real-time updated it will be visible a few days later (weekly update). In the ordering phase however, the soft-cease situation is checked with installed base and if it is not a soft-cease situation, the normal NL-type 1 (or NL-type 2/3 in case NL-type 1 is not available) will be followed. Note that this is considered as a rare situation because PAN capacity problems will less occur because most of connections are being delivered from street cabinets.'
example: true
status-connection-schema:
type: string
maxLength: 2
description: |
The field “status-connection” is filled with:
0: Operational, in use
1: Broadband order in progress
2: Telephony order in progress
3: Terminate broadband order in progress
4: Terminate telephony order in progress
5: Other telephony order in progress
6: Linesharing order in progress
99: Others
example: 3
street-schema:
type: string
maxLength: 24
example: Boonstraat
planned_user-street-schema:
type: string
maxLength: 80
example: Boonstraat
supported-on-current-nt-schema:
type: string
pattern: '({true|false})?'
maxLength: 5
description: Only filled for PON based technologies.
example: true
technologyreliability-schema:
type: array
#example: [{"technology-type":"ADSL2+_ISDN","reliability":"80"},{"technology-type":"GPON"}]
items:
type: object
properties:
technology-type:
$ref: '#/components/schemas/technology-type-schema'
reliability:
$ref: '#/components/schemas/reliability-schema'
required:
- technology-type
technology-type-schema:
type: string
description: |
This field contains the technology type. When provided a technology type as part of the request make sure to url encode it, e.g. ADSL2+_POTS becomes ADSL2%2B_POTS. If no technology types are specified in the input, the default available technology type and reliability list is shown in the FPI output. The default setting is as follows:
| Technology type | Default reliability | Shown in FPI output if not specified in FPI request |
|-----------------|---------------------|-----------------------------------------------------|
| ADSL_ISDN | 80% | No |
| SDSL | 90% | No |
| ADSL2+_ISDN | 80% | No |
| ADSL2+_POTS | 80% | Yes |
| VDSL2_POTS | 90% | Yes |
| VVDSL2_POTS | 90% | Yes |
| BVDSL2_POTS | 90% | Yes |
| BVVDSL2_POTS | 90% | Yes |
| VPLUS_POTS | 90% | Yes |
| BVPLUS_POTS | 90% | Yes |
| EoF | 100% | Yes |
| GoF | 100% | Yes |
| GPON | 100% | Yes |
| XGSPON | 100% | Yes |
enum:
- ADSL_ISDN
- ADSL2%2B_POTS
- ADSL2%2B_ISDN
- SDSL
- VDSL2_POTS
- BVDSL2_POTS
- VVDSL2%2BPOTS
- BVVDSL2%2BPOTS
- VPLUS_POTS
- BVPLUS_POTS
- EoF
- GoF
- GPON
- XGSPON
maxLength: 50
example: VVDSL2_POTS
power-outlet-available-schema:
type: string
maxLength: 50
enum:
- YES
- NO
- UNKNOWN
description: |
Indication for availability of a power outlet. Possible values are:
- NO
- YES
- UNKNOWN
example: YES
reliability-schema:
type: string
pattern: '(\d{0,3})?'
maxLength: 3
minLength: 0
description: 'This field is the probability of the bitrate up and down that can be achieved with a specific technology type. The probability is an indication for the reliability of the bandwidth. For a copper line, the reliability is within 50 .. 99%. The reliability for SDSL is always 90%. The reliability for fiber is always 100%. Refer to the table in the description of the technology-field.'
example: 90
technologyavailability-schema:
type: array
description: 'The technologyavailability array can have multiple occurrences. Available technology types, bitrates with reliability are shown.'
items:
type: object
properties:
patchless-possible:
$ref: '#/components/schemas/patchless-possible-schema'
soft-connect-possible:
$ref: '#/components/schemas/soft-connect-possible-schema'
supported-on-current-nt:
$ref: '#/components/schemas/supported-on-current-nt-schema'
technology-type:
$ref: '#/components/schemas/technology-type-schema'
bandwidth-up:
$ref: '#/components/schemas/bandwidth-up-schema'
bandwidth-down:
$ref: '#/components/schemas/bandwidth-down-schema'
reliability:
$ref: '#/components/schemas/reliability-schema'
carrier-vendor-id:
$ref: '#/components/schemas/carrier-vendor-id-schema'
access-area-id:
$ref: '#/components/schemas/access-area-id-schema'
commentcode:
$ref: '#/components/schemas/commentcode-schema'
availability:
$ref: '#/components/schemas/availability-schema'
plandate:
type: string
pattern: '(\d{6})?'
maxLength: 6
description: This field is not used. Plandates will be presented in the field “plandate-reliability”
plandate-reliability:
$ref: '#/components/schemas/plandate-reliability-schema'
telephonytype-schema:
type: string
maxLength: 50
description: |
This field is filled with the type of the telephony service: POTS, ISDN, MI, MP. MI = multiple ISDN, MP = multiple POTS.
Current telephonytype: If current-phonenumber is filled, this field, current telephonytype, provides the telephony type, i.e. ISDN, POTS, MI or MP. Note that POTS or ISDN telephony can be shared with broadband. MI and MP cannot be shared with broadband.
Future telephonytype: If future-phonenumber is filled, this field, future telephonytype, provides the telephony type, i.e. ISDN, POTS, MI or MP. Note that POTS or ISDN telephony can be shared with broadband. MI and MP cannot be shared with broadband.
example: POTS
xdf-access-serviceid-schema:
type: string
maxLength: 20
minLength: 0
example: CDQ12344
description: |
Copperinfo: In case a phonenumber was specified and it is a shared line service, (broadband and POTS/ISDN telephony), this field is filled with xDF-access-service ID.
Additional xdf service id: xDF-access-service ID of the second copper line, which is used in case of a bonded service.
Current mdf service id: In case the current type of connection = Broadband, this field is filled with the current xDF-Service-ID.
Future mdf service id: In case the planned type of connection = Broadband, this field is filled with the future xDF-Service-ID.
typeofconnection-schema:
type: string
maxLength: 15
example: 3
description: |
This field is filled with the (current or future) type of connection.
0: Not in use
1: Fixed Line service
2: Telephony service
3: MDF Broadband service (1 xdf-access-serviceid)
4: SDF Broadband service (1 xdf-access-serviceid)
5: ODF Broadband service (1 odf-connection-id)
6: ODF Broadband service blocked
7: ODF Broadband service defect
8: Unknown service
9: No change (no planned order)
10: MDF Bundle (2 xdf-access-serviceids)
11: SDF Bundle (2 xdf-access-serviceids)
For carrier-vendor-id REGG, this field is filled with the future (planned) status of the connection.
zipcode-schema:
type: string
pattern: '[1-9]\d{3}[A-Z]{2}'
maxLength: 6
minLength: 6
example: 1234AB