Skip to content

Latest commit

 

History

History
295 lines (270 loc) · 10.5 KB

feasibility.md

File metadata and controls

295 lines (270 loc) · 10.5 KB

Feasibility API

Feasibility API används av Tjänsteleverantör för att kunna hitta avlämningspunkter och svara på om en fastighet/lägenhet är inkopplad i ett nät. Tjänsteleverantör ser även vilken teknisk kapacitet varje access har genom de tekniska tjänster som är definierade på accessen.

Exempel

Request:

GET /api/2.3.1/accesses/ HTTP/1.1

Response:

HTTP/1.1 200 OK
Last-Modified: Fri, 31 Aug 2012 12:03:28 GMT
Content-Type: application/json
[
    {
        "accessId": "STTA0001",
        "streetName": "Testvägen",
        "streetNumber": "100",
        "streetLittera": "",
        "postalCode": "10000",
        "city": "Ankeborg",
        "countryCode": "SE",
        "premisesType": "MDU_APARTMENT",
        "mduApartmentNumber": "1001",
        "mduDistinguisher": "12121212",
        "outlet": "A-11-14",
        "population": "Hemsöhem",
        "services": [
            {
                "service": "BB-100-100",
                "connection": "2014-03-01"
            }, {
                "service": "BB-100-10",
                "connection": "2013-10-12"
            }, {
                "service": "BB-10-10",
                "connection": "2013-10-12"
            }, {
                "service": "IPTV",
                "connection": "2013-10-12"
            }, {
                "service": "VOIP",
                "connection": "2013-08-13"
            }
        ],
        "coFiberConverter": "LASER_3001X_MK2",
        "coCpeSwitch": "",
        "coCpeRouter": "NETGEAR WNDR4000"
    }
]

Fältbeskrivningar

  • null är inte ett giltigt värde för något fält.
  • Fält markerade med obligatoriskt får inte vara tomma strängen ("")
Fält Förklaring
accessId Ett, per kommunikationsoperatör, unikt ID på en access.
Får enbart bestå av tecknen a-z, A-Z, 0-9, '-' och '.'. text, obligatoriskt, max 32 tecken, [a-zA-Z0-9-.]+
streetName Gatunamn.
I fallet "Kungsgatan 10G" är StreetName "Kungsgatan". text, obligatoriskt
streetNumber Gatunummer.
I fallet "Kungsgatan 10G" är StreetNumber "10". I fallet "Lantvägen 550-70" är StreetNumber "550". Enbart siffror. text
streetLittera Gatubokstav/Uppgång.
I fallet "Kungsgatan 10G" är StreetLittera "G". I fallet "Lantvägen 550-70" är StreetLittera "70". text
postalCode Postnummer. Exempelvis "41369". Min 10000, max 99999. Alltid fem siffror. text, obligatoriskt
city Postort. Exempelvis "Göteborg". text, obligatoriskt
countryCode Landskod. Följer ISO 3166-1 för landskoder. Exempel: "SE" för Sverige. text, ISO 3166-1, obligatoriskt
premisesType PremisesType beskriver avlämningspunktens lokal. Vid MDU_APARTMENT och MDU_COMMON måste MduDistinguisher eller MduApartmentNumber vara populerade.obligatoriskt
MDU_APARTMENT
Lägenhet i flerbostadshus. Delad fastighetsbeteckning.
MDU_COMMON
Gemensamt utrymme i flerbostadshus. Delad fastighetsbeteckning.
RESIDENTIAL_HOUSE
Bostad som har egen fastighetsbeteckning.
COMMERCIAL
Lokal, men utan tillträde från allmänheten. Till exempel ett kontor.
PUBLIC
Inrättning dit allmänheten har tillträde. Till exempel en restaurang eller ett gym.
UNKNOWN
Okänd.
mduApartmentNumber Lägenhetsnummer enligt Lantmäteriet. Används för att tillsammans med en adress identifiera en unik access. I fallet när kund vill beställa tjänster kan de inte aktiveras hos KO utan att TL har fastställt vilket AccessID kunden har. Genom att unikt identifiera lägenheten med mduApartmentNumber eller mduDistinguisher kan TL fastställa exakt vilken access som skall aktiveras. text, 4 digits, obligatoriskt1

Exempel: 1101, 0901, 1201, 1213.

[1] En av mduApartmentNumber, mduDistinguisher måste finnas om premisesType är "MDU_APARTMENT".
mduDistinguisher Alternativ lokalbeteckning som identifierar lägenheten unikt per adress. Behöver inte följa Lantmäteriets format. text, obligatoriskt2

Exempel: 28, 65113, 1234-1919.

[2] En av mduApartmentNumber, mduDistinguisher måste finnas om premisesType är "MDU_APARTMENT".
outlet Uttagsnummer som identifierar porten i lägenhet/villa. Typiskt är porten hos slutkund märkt med uttagsnummer. Outlet behöver vara unikt per adress. text
population Anger delbestånd i hela beståndet. Hela beståndet hämtas alltid in, men det kan filtreras och göras säljbart i olika etapper. text
services Anger accessens tekniska tjänster och feasibility per teknisk tjänst. För beskrivning, se följande två rader i listan över fältbeskrivningar.
Oavsett vilken Service Provider som hämtar feasibility-data skall services innehålla samma information.
obligatorisk
services / service Id/namn på tekniskt tjänst som avses. Den tekniska tjänsten kan beställas via Service Activation API. obligatorisk
services / connection Anger när accessen kopplas in och den tekniska tjänsten blir aktiverbar första gången. På det angivna datumet, eller om connection är "YES", skall det gå att aktivera tjänster på accessen.
Om tjänsten är aktiverbar men datumet är okänt kan "YES" användas för att indikera det. Datumet får tidigast vara 1970-01-01.

"YES", "NO" eller ISO-8601 datum (YYYY-MM-DD), obligatoriskt
Exempel: YES, NO, 2012-07-01
coFiberConverter Typ (tillverkare, modell) av Fiber Konverter Switch som "accessen" är kopplad till. Skall enbart användas för utrustning som KO tillhandahåller. text
coCpeSwitch Om CPEn är en Switch, är detta typen (tillverkare, modell) som är inkopplad. Enbart en av CpeSwitch och CpeRouter får finnas. Skall enbart användas för utrustning som KO tillhandahåller. text
coCpeRouter Om CPEn är en Router, är detta typen (tillverkare, modell) som är inkopplad. Enbart en av CpeSwitch och CpeRouter får finnas. Skall enbart användas för utrustning som KO tillhandahåller. text

Begränsningsmekanism

If-Modified-Since används för att be om inkrementella uppdateringar av accesser. På det viset kan anropet ske ofta men fortfarande vara billigt.

Vid första anropet sker ingen begränsning. Då ber TL om fullständiga beståndet. Vid påföljande anrop används If-Modified-Since. Värdet för headern är föregående svars värde på Last-Modified.

Av den anledningen är "Last-Modified" obligatoriskt vid HTTP Status 200.

Se RFC-2616. Exemplen använder ingen autentisering.

If-Modified-Since = "If-Modified-Since" ":" HTTP-date

När en access förekommer i ett svar skall den alltid skickas i sin helhet: med accessens samtliga fält och tjänster.

Begränsningsmekanism - Exempel

Exempel på anropssekvens:

Request:

GET /api/2.3.1/accesses/ HTTP/1.1

Response:

HTTP/1.1 200 OK
Last-Modified: Fri, 31 Aug 2012 12:03:28 GMT
Content-Type: application/json
...

Vid påföljande anrop skickas "If-Modified-Since"-header för att bara be om uppdaterade poster.

Request:

GET /api/2.3.1/accesses/ HTTP/1.1
If-Modified-Since: Fri, 31 Aug 2012 12:03:28 GMT
...

Om det finns uppdaterade poster kan svaret se ut såhär:

Response:

HTTP/1.1 200 OK
Last-Modified: Mon, 03 Sep 2012 09:54:55 GMT
Content-Type: application/json
...

Om det inte finns uppdaterade poster ser svaret istället ut såhär:

Response:

HTTP/1.1 304 Not Modified