Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beskrivning

Tar emot felanmälan, samt tillhandahåller master data för nya felanmälningar.

Aktuell version: integration mot ISYcase för SBK-relaterade felanmälningar - i övrigt så skickas felanmälan vidare via e-post till kundtjänst (digilogt)

Fas 2: addera bildanalys samt integrationer mot fler verksamhetssystem (digitalt)

Mer information: Felanmälan

Livscykelstatus

Test

Lösningsbeskrivning

Gliffy
imageAttachmentIdatt86442117
macroIddf280ba3-c550-4e27-b653-4c987cfc4001
baseUrlhttps://sundsvall.atlassian.net/wiki
nameincident-API
diagramAttachmentIdatt88080415
containerId22315023
timestamp1613027090720

Hantering av personuppgifter

<Vilka personuppgifter hanteras och varför?>För att möjliggöra återkoppling till intressenter så sparas intressentens person-id och det angetts.

API Specifikation

Version 1.5

Senast ändrad:

Ändringar

1.1 Errorreport ändrat till Incident

1.2 statusupdate borttaget och utbytt mot patch-anrop 2021-02-09

1.3 Uppdaterat sendincident att använda personId, incidentId är ändrat till en guid, alla properties i JSON-objekt börjar på liten bokstav 2021-02-15

1.4 Uppdaterat vilka parametrar som är obligatoriska i POST 2021-02-16

1.5 Lagt till attachments till JSON-objekt för att skicka in nytt ärende 2021-05-09

 

POST

api/sendincident

Exempelanrop:

Code Block
languagejson
{
    "personId": <Guid>,
    "phoneNumber": "070123456789",
    "email": "test@test.se",
    "contactMethod": "email",
    "category": 6,
    "description": "Någon har kastat tugummi i en park",
    "mapCoordinates": "62.23162,17.27403",
    "attachments": [
        {
            "category": "BILD",
            "extension": "png",
            "mimeType": "image/png",
            "file": "<base64>"
        }
    ]
}


Fältet Image är en Base64-textsträng för bifogad bild.
Fältet Category är en siffra som motsvarar en kategori som hämtas via anropet api/validcategories

Obligatoriska fält är category, description och attachments
Övriga fält kan lämnas tomma eller utelämnas helt.

 

PATCH

api/{id}/status

Uppdaterar status för ett ärende (id). Tar emot ett JSON-objekt med följande format:

Code Block
languagejson
{
    “status”: <statusId>
}


Fältet status är en siffra som motsvarar en kategori som hämtas via anropet api/validstatuses

Exempelanrop:

api/3/status

Body:

Code Block
languagejson
{
    “status”: 2
}

GET

api/validstatuses

Listar samtliga giltiga statusar.

Exempelsvar:

Code Block
languagejson
[
    {
        "STATUS_ID": 1,
        "status": "open"
    },
    {
        "STATUS_ID": 2,
        "status": "resolved"
    },
    {
        "STATUS_ID": 3,
        "status": "rejected"
    }
]


api/validcategories

Listar samtliga giltiga kategorier

Exempelsvar:

Code Block
[
    {
        "CATEGORY_ID": 1,
        "category": "Belysning"
    },
    {
        "CATEGORY_ID": 2,
        "category": "Bro/Tunnel/Konstruktion"
    },
    {
        "CATEGORY_ID": 3,
        "category": "Felparkerat och övergivet fordon"
    }
]

api/setincidentfeedback

Uppdaterar vart ärendet ska, t.ex. Stadsbyggnadskontoret. Tar emot två query-parametrar, incidentid(ärende-ID), samt feedback(vart ärendet ska, t.ex. Stadsbyggnadskontoret).
Exempelanrop: api/setincidentfeedback?incidentid=1&feedback=Stadsbyggnadskontoret

 

api/listincidents

Listar de ärenden som finns i databasen, tar emot två query-parametrar, offset(hur många poster som ska hoppas över) samt limit(hur många poster som ska skickas), vilket möjliggör paginering. Om ingen parameter anges skickas alla poster, om endast offset anges skickas 100 poster per anrop.

Exempelanrop api/listincidents?offset=5&limit=5
Vilket returnerar 5 poster och hoppar över de 5 första i databasen.
Exempelsvar:

Code Block
languagejson
[
    {
        "incidentId": <guid>,
        "status": 1    },
    {
        "incidentId": <guid>,
        "status": 1    },
    {
        "incidentId": <guid>,
        "status": 1    },
    {
        "incidentId": <guid>,
        "status": 1    },
    {
        "incidentId": <guid>,
        "status": 1
    }
]

 

api/getincident/{id} 

api/getincident/{externalCaseId} 

Returnerar ett ärende med angivet ID.

Exempelanrop: api/geterrand/00000000-0000-0000-0000-000000000000

Exempelsvar:

Code Block
languagejson
{
    "incidentID": <guid>,
    "personID": <guid>,
    "created": "2020-12-10T22:33:07.000Z",
    "phoneNumber": "070123456789",
    "email": "test@test.se",
    "contactMethod": "email",
    "updated": null,
    "category": 6,
    "description": "Någon har kastat tugummi i en park",
    "mapCoordinates": "62.23162,17.27403",
    "attachments": [
        {
            "category": "Bild",
            "extension": "png",
            "mimetype": "image/png",
            "note": "Bifogad bild",
            "file": <Base64>,
            "IncidentId": "61922068-4dac-4aa7-bcb3-6428c4232ced",
            "name": "987dc019dd3aaa766b9f5f29aa0c69d7bc98",
            "created": "2020-12-10T22:33:07.000Z"
        }
    ]
}

 

Fältet fileinnehåller en Base64-textsträng som motsvarar den bild som bifogats med anmälan.

Fält som inte är ifyllda, till exempel att inget telefonnummer har angetts, kommer inte att skickas med.

När ett ärende skickas in skapas ett ID för personen som skickat, om en person tidigare skickat ett ärende, används det tidigare ID:t. Fältet category motsvarar en kategori i anropet api/validcategories under attachments innebär category kategorin för den bifogade filen.

Säkerhetsklassning

Säkerhetsklass 1

Autentiseringsmetod: Oauth2

(Ref: Säkerhetsklassning av APIer )

API-ägare

<Kontaktuppgifter till den verksamhet som äger APIets livscykel>

Teknisk ägare

https://sundsvall.atlassian.net/wiki/spaces/API

För tekniska frågor: joel.lindberg@sundsvall.se

Länkar

<Länkar till dev-portal;

FAQ

<FAQ>