Beskrivning
Funktion som hanterar utgående kommunikation till våra intressenter.
Kommunikationsmöjligheter:
Bubblare:
Bubblare:
Dessutom sparas, för identifierade mottagare, kommunikationshistorik.
Livscykelstatus
Produktion
Lösningsbeskrivning
Gliffy |
---|
imageAttachmentId | att29425686 |
---|
macroId | 5403c848-f47c-4944-9cae-039096781462 |
---|
baseUrl | https://sundsvall.atlassian.net/wiki |
---|
name | messagingAPI |
---|
diagramAttachmentId | att30179333 |
---|
containerId | 30081025 |
---|
timestamp | 1641819939751 |
---|
|
Hantering av personuppgifter
Vilka personuppgifter hanteras och varför?
API-specifikation
Swagger ui |
openapi: 3.0.1
info:
title: Messaging
contact: {}
license:
name: MIT License
url: https://opensource.org/licenses/MIT
version: '@project.version@'
servers:
- url: http://localhost:8080
description: Generated server url
paths:
/webmessage:
post:
tags:
- Sending Resources
summary: Send a single web message
operationId: sendWebMessage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebMessageRequest'
required: true
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/MessageResponse'
"400":
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
/sms:
post:
tags:
- Sending Resources
summary: Send a single SMS
operationId: sendSms
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SmsRequest'
required: true
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/MessageResponse'
"400":
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
/messages:
post:
tags:
- Sending Resources
summary: Send a batch of messages as e-mail or SMS to a list of parties
operationId: sendMessage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageRequest'
required: true
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/MessagesResponse'
"400":
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
/email:
post:
tags:
- Sending Resources
summary: Send a single e-mail
operationId: sendEmail
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailRequest'
required: true
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/MessageResponse'
"400":
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
/digitalmail:
post:
tags:
- Sending Resources
summary: Send a single digital mail to one or more parties
operationId: sendDigitalMail
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DigitalMailRequest'
required: true
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/MessageResponse'
"400":
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
/status/{messageId}:
get:
tags:
- Status and History Resources
summary: Get the status for a single message
operationId: getMessageStatus
parameters:
- name: messageId
in: path
required: true
schema:
type: string
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/MessageStatusResponse'
"404":
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
/conversationHistory/{partyId}:
get:
tags:
- Status and History Resources
summary: Get the entire conversation history for a given party
operationId: getConversationHistory
parameters:
- name: partyId
in: path
required: true
schema:
type: string
- name: fromDate
in: query
description: "Format: yyyy-MM-dd (ISO8601)"
required: false
schema:
type: string
format: date
- name: toDate
in: query
description: "Format: yyyy-MM-dd (ISO8601)"
required: false
schema:
type: string
format: date
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/HistoryResponse'
/batchStatus/{batchId}:
get:
tags:
- Status and History Resources
summary: Get the status for a message batch
operationId: getBatchStatus
parameters:
- name: batchId
in: path
required: true
schema:
type: string
responses:
"500":
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
"200":
description: Successful Operation
content:
'*/*':
schema:
$ref: '#/components/schemas/BatchStatusResponse'
"404":
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/Problem'
/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:
ExternalReference:
required:
- key
- value
type: object
properties:
key:
type: string
description: The external reference key
example: flowInstanceId
value:
type: string
description: The external reference value
example: 356t4r34f
description: External references
Header:
required:
- name
- values
type: object
properties:
name:
type: string
description: The header name
values:
type: array
description: The header values
items:
type: string
description: The header values
description: Headers
Party:
type: object
properties:
partyId:
type: string
description: The message party ID
example: f427952b-247c-4d3b-b081-675a467b3619
externalReferences:
type: array
description: External references
items:
$ref: '#/components/schemas/ExternalReference'
description: Party
WebMessageRequest:
required:
- message
type: object
properties:
party:
$ref: '#/components/schemas/Party'
headers:
type: array
description: Headers
items:
$ref: '#/components/schemas/Header'
message:
type: string
description: Message
Problem:
type: object
properties:
instance:
type: string
format: uri
type:
type: string
format: uri
parameters:
type: object
additionalProperties:
type: object
title:
type: string
status:
$ref: '#/components/schemas/StatusType'
detail:
type: string
StatusType:
type: object
properties:
reasonPhrase:
type: string
statusCode:
type: integer
format: int32
MessageResponse:
type: object
properties:
messageId:
type: string
Sms:
required:
- name
type: object
properties:
name:
maxLength: 11
minLength: 0
type: string
description: The sender of the SMS
example: sender
description: Sender
SmsRequest:
required:
- message
- mobileNumber
type: object
properties:
party:
$ref: '#/components/schemas/Party'
headers:
type: array
description: Headers
items:
$ref: '#/components/schemas/Header'
sender:
$ref: '#/components/schemas/Sms'
mobileNumber:
type: string
description: Mobile number. Should start with +467x
message:
type: string
description: Message
Email:
required:
- address
- name
type: object
properties:
name:
type: string
description: The sender of the e-mail
address:
type: string
description: Sender e-mail address
example: sender@sender.se
replyTo:
type: string
description: Reply-to e-mail address
example: sender@sender.se
Message:
required:
- message
type: object
properties:
party:
$ref: '#/components/schemas/Party'
headers:
type: array
description: Headers
items:
$ref: '#/components/schemas/Header'
sender:
$ref: '#/components/schemas/Sender'
subject:
type: string
description: The message subject (for E-mails)
message:
type: string
description: The message text
description: A message to be sent
MessageRequest:
type: object
properties:
messages:
type: array
description: The messages to be sent
items:
$ref: '#/components/schemas/Message'
description: Message representation
Sender:
type: object
properties:
sms:
$ref: '#/components/schemas/Sms'
email:
$ref: '#/components/schemas/Email'
description: Sender
MessagesResponse:
type: object
properties:
batchId:
type: string
messageIds:
type: array
items:
type: string
Attachment:
required:
- content
- name
type: object
properties:
content:
type: string
description: The attachment (file) content as a BASE64-encoded string
example: aGVsbG8gd29ybGQK
name:
type: string
description: The attachment filename
example: test.txt
contentType:
type: string
description: The attachment content type
example: text/plain
description: Attachments
EmailRequest:
required:
- emailAddress
- subject
type: object
properties:
party:
$ref: '#/components/schemas/Party'
headers:
type: array
description: Headers
items:
$ref: '#/components/schemas/Header'
emailAddress:
type: string
description: Recipient e-mail address
subject:
type: string
description: E-mail subject
message:
type: string
description: E-mail plain-text body
htmlMessage:
type: string
description: E-mail HTML body (BASE64-encoded)
sender:
$ref: '#/components/schemas/Email'
attachments:
type: array
description: Attachments
items:
$ref: '#/components/schemas/Attachment'
DigitalMailAttachment:
required:
- content
- filename
type: object
properties:
contentType:
type: string
description: Content type
enum:
- application/pdf
content:
type: string
description: Content (BASE64-encoded)
filename:
type: string
description: Filename
description: Attachments
DigitalMailRequest:
required:
- body
- contentType
type: object
properties:
party:
$ref: '#/components/schemas/Parties'
headers:
type: array
description: Headers
items:
$ref: '#/components/schemas/Header'
subject:
type: string
description: Subject
nullable: true
contentType:
type: string
description: Content type
enum:
- text/plain
- text/html
body:
type: string
description: Body (BASE64-encoded)
attachments:
type: array
description: Attachments
items:
$ref: '#/components/schemas/DigitalMailAttachment'
Parties:
required:
- partyIds
type: object
properties:
partyIds:
type: array
description: The message party ID:s
items:
type: string
description: The message party ID:s
externalReferences:
type: array
description: External references
items:
$ref: '#/components/schemas/ExternalReference'
description: Parties
MessageStatusResponse:
type: object
properties:
messageId:
type: string
status:
type: string
enum:
- AWAITING_FEEDBACK
- PENDING
- SENT
- FAILED
- NO_FEEDBACK_SETTINGS_FOUND
- NO_FEEDBACK_WANTED
HistoryResponse:
type: object
properties:
messageType:
type: string
enum:
- MESSAGE
- EMAIL
- SMS
- WEB_MESSAGE
- DIGITAL_MAIL
status:
type: string
enum:
- AWAITING_FEEDBACK
- PENDING
- SENT
- FAILED
- NO_FEEDBACK_SETTINGS_FOUND
- NO_FEEDBACK_WANTED
content:
type: object
timestamp:
type: string
format: date-time
BatchStatusResponse:
type: object
properties:
messageStatuses:
type: array
items:
$ref: '#/components/schemas/MessageStatusResponse'
securitySchemes: {}
Batchfunktionalitet
För att skicka stora batcher med meddelanden via antingen SMS eller E-post finns det två resurser tillgängliga:
Båda är asynkrona och för att säkerställa att meddelanden skickats kan kommunikationshistorik hämtas via resursen /status.
Spårbarhet
Samtliga endpoints under Sending Resource har stöd att ta emot x-origin och x-issuer som möjliggör en viss spårbarhet. x-origin representerar vilket system anropet skickades ifrån och x-issuer representerar vilken användare som skickat anropet.
Batchfunktionalitet
Livscykelstatus
Produktion
Lösningsbeskrivning
Gliffy |
---|
displayName | messagingAPI Copy |
---|
name | messagingAPI Copy |
---|
pagePin | 6 |
---|
|
Hantering av personuppgifter
Meddelandehistorik sparas på person-id.
API-specifikation
Open api |
---|
showCommonExtensions | true |
---|
deepLinking | true |
---|
supportedSubmitMethods | none |
---|
location | url |
---|
showExtensions | true |
---|
url | https://api-test.sundsvall.se/messaging/api-docs |
---|
|
|