Versions Compared

Key

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

Beskrivning

Möjlighet att skicka mail till en medborgares eller ett företags digitala brevlåda.
Brevlådeoperatörer som stödjs: Kivra, Min Myndighetspost, Fortnox och Billo

Borttagna brevlådeoperatörer: e-boks, Digimail

Användning av tjänsten

Denna tjänst har en del riktliner för hur meddelanden bör utformas och hur stora bilagor som kan bifogas:

Utforming av meddelanden

  • Ett komplett meddelande får vara max 2 MB, inklusive bilagor och meddelande. Tjänsten gör en kontroll på detta och kommer att ge ett felmeddelande om det är för stort. Anledningen är helt enkelt att inte alla brevlådeoperatörer stödjer större meddelanden och att en leverans därför inte kan garanteras.

  • Varje meddelande måste ha ett icke-tomt meddelande (body), utöver eventuell bilaga, som kan vara antingen av typen text/plain eller text/html.

    • HTML-meddelanden går att styla och https://www.digg.se/digital-post/offentlig-aktor/teknisk-beskrivning-av-digital-post/utforma-meddelanden beskriver bäst hur dessa meddelanden bör utformas.
      I princip går det att skicka vad man vill men tjänsten gör alltid en validering mot https://validator.w3.org/ och om denna inte går igenom kommer vi att neka meddelandet. Det går även att Base64-encoda bilder och infoga dessa, däremot är det inte tillåtet att länka till bilder på internet.
      Hela meddelandet/bodyn måste vara Base64-encodad.

    • text/plain går ej att formatera och lämpar sig bäst för t.ex. en enda mening. Får inte vara Base64-encodad.

Bilagor

  • Det går att skicka med 0 → n bilagor till ett meddelande. För tillfället stödjer vi enbart pdf-bilagor.

  • Bilagorna måste Base64-encodas, ingen kontroll görs på deras “korrekthet” så detta är upp till avsändaren att säkerställa.

    • Tänk på att Base64-encodning lägger på ~33% till storleken av pdf:en.

  • Samtliga bilagor inklusive meddelandet måste vara under 2MB i storlek annars nekar tjänsten utskicket.

    • Max-storleken beräknas på hela meddelandet som skickas så om bilagan/bilagorna är exakt 2MB kommer det att nekas pga. den overhead som SOAP-meddelandet lägger på.

Livscykelstatus

Produktion

Lösningsbeskrivning

Gliffy
https://sundsvall.atlassian.net/wiki
imageAttachmentIdatt975798291
baseUrlhttps://sundsvall.atlassian.net/wiki
macroId3aec7bee-a29e-4a2e-a8c2-e3c2e70b79f0baseUrl
displayNamedigital-mail-sender-gliffy
namedigital-mail-sender-gliffy
diagramAttachmentIdatt976420878
containerId892960792
pagePin6
timestamp1669195187224

Hantering av personuppgifter

I fallet där ett digitalt mail skall skickas till en medborgare hämtas personnummer via CitizenMapping då personnummer är tvingande för att få reda på vilken bredvlåda medborgaren har.

API specifikation (wip)

openapi: 3.0.1 info: title: api-digitalmailsender contact: {} license: name: MIT License url: opensource.org/licenses/MIT version: "1.0" servers: - url: http://nowhere-for-now:8740 tags: - name: Digital Mail paths: /sendDigitalMail: post: tags: - Digital Mail operationId: sendDigitalMail requestBody: content: application/json: schema: $ref: '#/components/schemas/DigitalMailRequest' required: true responses: "404": description: Not Found content: application/json: schema: $ref: '#/components/schemas/Problem' "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Problem' "400": description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Problem' "200": description: Successful Operation content: application/json: schema: $ref: '#/components/schemas/DigitalMailResponse' /api-docs: get: tags: - API summary: OpenAPI operationId: getApiDocs responses: "200": description: OK content: application/yaml: schema: type: string x-auth-type: None x-throttling-tier: Unlimited x-wso2-mutual-ssl: Optional components: schemas: Attachment: required: - body - contentType - filename type: object properties: contentType: type: string description: "Allowed type is: application/pdf" example: APPLICATION_PDF enum: - application/pdf body: type: string description: Base64-encoded body filename: type: string description: The name of the file example: sample.pdf description: "An attachment, e.g. pdf, docx etc." BodyInformation: required: - body - contentType type: object properties: contentType: type: string description: "The content type for the message, text/plain for only text,\ \ text/html for html messages." example: text/html enum: - text/plain - text/html body: type: string description: "Base64 encoded representation of the message, must be UTF-8\ \ encoded." example: PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij48dGl0bGU+VGVzdDwvdGl0bGU+PC9oZWFkPjxib2R5PjxwPkhlbGxvPC9wPjwvYm9keT48L2h0bWw+ description: "The body of the message, base64 encoded" DigitalMailRequest: required: - bodyInformation - headerSubject - municipalityId - partyId - supportInfo type: object properties: partyId: type: string description: partyId for the person or organization the digital mail should be sent to example: 6a5c3d04-412d-11ec-973a-0242ac130003 municipalityId: type: string description: MunicipalityId example: "2281" headerSubject: type: string description: The subject of the digital mail. example: Viktig information från Sundsvalls kommun supportInfo: $ref: '#/components/schemas/SupportInfo' attachments: type: array items: $ref: '#/components/schemas/Attachment' bodyInformation: $ref: '#/components/schemas/BodyInformation' SupportInfo: required: - contactInformationEmail - contactInformationPhoneNumber - contactInformationUrl - supportText type: object properties: supportText: type: string description: Information text describing the different ways the recipient may contact the sender. example: Kontakta oss via epost eller telefon. contactInformationUrl: type: string description: Url where the recipient may find more information. example: https://sundsvall.se/ contactInformationPhoneNumber: type: string description: Phone number the recipient may call to get in contact with the sender. example: "4660191000" contactInformationEmail: type: string description: Email address the recipient may use to get in contact with the sender. example: sundsvalls.kommun@sundsvall.se description: Contains contact information and where the recipient may turn to for questions. Problem: type: object properties: instance: type: string format: uri type: type: string format: uri parameters: type: object additionalProperties: type: object status: $ref: '#/components/schemas/StatusType' title: type: string detail: type: string StatusType: type: object properties: reasonPhrase: type: string statusCode: type: integer format: int32 DeliveryStatus: type: object properties: delivered: type: boolean partyId: type: string transactionId: type: string DigitalMailResponse: type: object properties: deliveryStatus: $ref: '#/components/schemas/DeliveryStatus' securitySchemes: {}
swaggeropen-ui
api
urlhttps://
api-i.sundsvall.se/digitalmailsender/1.0/api-docs

Säkerhetsklassning

Säkerhetsklass 1

Autentiseringsmetod: Oauth2

Teknisk ägare

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

Källkod

https://github.com/OpenSundsvall/api-service-digital-mail-sender

FAQ

Exempel