Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Beskrivning
Funktion för att registrera påminnelser, och skicka ut dem.
I kommande steg kan påminnelser komma att triggas utifrån.
Livscykelstatus
Design
Lösningsbeskrivning
Gliffy | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Datamodell reminders (draft)
personId (den som vill ha påminnelsen)
companyId (vilket av de företag personen representerar som påminnelsen avser - är tom om den är en privat påminnelse)
todo (fritext - exempel: “Förnya ansökan skyltlov”)
caseId (ärendenummer i Open-E t ex - exempel: “23456” - ej obligatoriskt)
caseLink (länk till ärendet i Open-E t ex för ärendet med caseId ovan - ej obligatorisk)
reminderDate (när skall påminnelsen skickas ut)
Utskick av påminnelser
Att köras en gång per dygn:
För alla reminders i databasen som har reminderDate idag:
Hämta kontaktuppgifter via Messaging från feedbackSettings
Skicka påminnelsen som e-post eller SMS (beroende på uppgifterna från feedbackSettings) via messaging
Hantering av personuppgifter
PersonId används för att knyta påminnelser till en specifik individ.
API specifikation
Expand | ||
---|---|---|
| ||
eyJ4NXQiOiJOVGRtWmpNNFpEazNOalkwWXpjNU1tWm1PRGd3TVRFM01XWXdOREU1TVdSbFpEZzROemM0WkE9PSIsImtpZCI6ImdhdGV3YXlfY2VydGlmaWNhdGVfYWxpYXMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjYXJib24uc3VwZXIiLCJhcHBsaWNhdGlvbiI6eyJvd25lciI6ImFkbWluIiwidGllclF1b3RhVHlwZSI6bnVsbCwidGllciI6IlVubGltaXRlZCIsIm5hbWUiOiJNaWNrZVRlc3QiLCJpZCI6NDgsInV1aWQiOiIyMDJmNzkyZS01Y2VlLTRmYzQtYmQ1My01YWJhYWRiNjYzM2EifSwiaXNzIjoiaHR0cHM6XC9cL2FwaS1pbS10ZXN0LnN1bmRzdmFsbC5zZTo0NDNcL29hdXRoMlwvdG9rZW4iLCJ0aWVySW5mbyI6eyJVbmxpbWl0ZWQiOnsidGllclF1b3RhVHlwZSI6InJlcXVlc3RDb3VudCIsImdyYXBoUUxNYXhDb21wbGV4aXR5IjowLCJncmFwaFFMTWF4RGVwdGgiOjAsInN0b3BPblF1b3RhUmVhY2giOnRydWUsInNwaWtlQXJyZXN0TGltaXQiOjAsInNwaWtlQXJyZXN0VW5pdCI6bnVsbH19LCJrZXl0eXBlIjoiU0FOREJPWCIsInBlcm1pdHRlZFJlZmVyZXIiOiIiLCJzdWJzY3JpYmVkQVBJcyI6W3sic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJSZW1pbmRBbmRJbmZvcm0iLCJjb250ZXh0IjoiXC9yZW1pbmRlcnNcLzEuMCIsInB1Ymxpc2hlciI6ImFkbWluIiwidmVyc2lvbiI6IjEuMCIsInN1YnNjcmlwdGlvblRpZXIiOiJVbmxpbWl0ZWQifV0sInBlcm1pdHRlZElQIjoiIiwiaWF0IjoxNjM5NDk4MDM4LCJqdGkiOiIxOTJmNzhiNS1jMGE5LTRmNDUtYmIzNy0yOTNjZTgwOWFiNDQifQ==.rOIOMlF8IhewdAV2hyIVoeI0RRQ91ERyZaosrij5ADsiBhOrv30roKVOZ5uNuIDrzo-VXwv2Ym7TvdU_C3LI6Dw1bDbdLYBgUYSU361xjr8NcS7DeXy3L1_unQdDj9cX6hdFvFcAzNhoz_laGKvO9mMpdwRcDopFIOHRt5UTlEiPQVoy5rHNh3oy5yN9na0aCY_0J_cbkL_hBRXpq7ftXKndcL35_B6AYV_UDJu-E6zosD1i39E_SLwLJEIsCgG9-lv5ni29MDV-c-XinDYCU7amLBOPJsC3B2VUfzFC7AtDnKVyrhcIsahsyAGrcQcL0i4qx2u9WPAB2Bc9K81g-Q== |
Swagger ui |
---|
--- openapi: 3.0.2 info: title: api-remindandinform-dev API version: 1.0.0-SNAPSHOT servers: - url: https://api-test.sundsvall.se/reminders/1.0 tags: - name: Reminder description: Remind operations paths: /reminders: post: tags: - Reminder summary: Create a new reminder. requestBody: content: application/json: schema: $ref: '#/components/schemas/ReminderRequest' required: true responses: "201": description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Reminder' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "500": description: Internal Server error content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' /reminders/persons/{personId}: get: tags: - Reminder summary: Returns all reminders for a person. parameters: - name: personId in: path description: Person ID required: true schema: type: string example: 81471222-5798-11e9-ae24-57fa13b361e1 responses: "200": description: Successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Reminder' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "404": description: Not Found content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "500": description: Internal Server error content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' /reminders/persons/{personId}/companies/{companyId}: get: tags: - Reminder summary: Returns all reminders for a person and a company which the person represent. parameters: - name: companyId in: path description: Company ID required: true schema: pattern: \S type: string nullable: false example: 5565112233 - name: personId in: path description: Person ID required: true schema: type: string example: 81471222-5798-11e9-ae24-57fa13b361e1 responses: "200": description: Successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Reminder' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "404": description: Not Found content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "500": description: Internal Server error content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' /reminders/send: post: tags: - Reminder summary: Send reminders. requestBody: content: application/json: schema: $ref: '#/components/schemas/SendRemindersRequest' required: true responses: "204": description: Successful operation "400": description: Bad request content: {} "500": description: Internal Server error content: {} /reminders/{reminderId}: get: tags: - Reminder summary: Returns a reminder by reminder-id parameters: - name: reminderId in: path description: Reminder ID required: true schema: pattern: \S type: string nullable: false example: R-81471222-5798-11e9-ae24-57fa13b361e1 responses: "200": description: Successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Reminder' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "404": description: Not Found content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "500": description: Internal Server error content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' delete: tags: - Reminder summary: Deletes a reminder. parameters: - name: reminderId in: path description: Reminder ID required: true schema: pattern: \S type: string nullable: false example: R-81471222-5798-11e9-ae24-57fa13b361e1 responses: "204": description: Successful operation "400": description: Bad request content: {} "404": description: Not Found content: {} "500": description: Internal Server error content: {} patch: tags: - Reminder summary: Manage updates of a reminder. parameters: - name: reminderId in: path description: Reminder ID required: true schema: pattern: \S type: string nullable: false example: R-81471222-5798-11e9-ae24-57fa13b361e1 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateReminderRequest' required: true responses: "200": description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Reminder' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "404": description: Not Found content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' "500": description: Internal Server error content: application/json: schema: $ref: '#/components/schemas/ServiceErrorResponse' security: - ApiKeyAuth: [] components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: apikey schemas: Reminder: description: Reminder model type: object properties: reminderId: description: Reminder ID type: string example: R-81471222-5798-11e9-ae24-57fa13b361e1 personId: description: Person ID type: string example: 81471222-5798-11e9-ae24-57fa13b361e2 companyId: description: Company ID type: string example: "5565112233" action: description: What should be done type: string example: Renew application caseId: description: Case ID type: string example: "12345" caseLink: description: Link to the case type: string example: http://test.sundsvall.se/case12345 reminderDate: format: date description: Date for reminding type: string example: 2021-11-01 ReminderRequest: description: Reminder creation request model required: - personId - action - reminderDate type: object properties: personId: description: Person Id type: string example: 81471222-5798-11e9-ae24-57fa13b361e2 nullable: false companyId: description: Company Id maxLength: 10 type: string example: "5565445566" action: description: What should be done maxLength: 8192 type: string example: Renew application nullable: false caseId: description: Id for the case maxLength: 255 type: string example: "12345" caseLink: description: Link to the case maxLength: 512 type: string example: http://test.sundsvall.se/case1337 reminderDate: format: date description: Date for reminding type: string example: 2021-11-01 nullable: false SendRemindersRequest: description: Request model for sending reminders of a specified date required: - reminderDate type: object properties: reminderDate: format: date description: Date for reminding type: string example: 2021-11-01 nullable: false ServiceErrorResponse: type: object properties: httpCode: format: int32 type: integer message: type: string technicalDetails: $ref: '#/components/schemas/TechnicalDetails' TechnicalDetails: type: object properties: rootCode: format: int32 type: integer rootCause: type: string serviceId: type: string details: type: array items: type: string UpdateReminderRequest: description: Reminder update request model type: object properties: personId: description: Person Id type: string example: 81471222-5798-11e9-ae24-57fa13b361e1 companyId: description: Company Id maxLength: 10 type: string example: "5565445566" action: description: What should be done maxLength: 8192 type: string example: Renew application caseId: description: Id for the case maxLength: 255 type: string example: "12345" caseLink: description: Link to the case maxLength: 512 type: string example: http://test.sundsvall.se/case1337 reminderDate: format: date description: Date for reminding type: string example: 2021-11-01 |
Säkerhetsklass 1
Autentiseringsmetod: Oauth2
(Ref: Säkerhetsklassning av APIer )
API-ägare
<Kontaktuppgifter till den verksamhet som äger APIets livscykel>
Teknisk ägare
<Kontaktuppgifter till utvecklare/teknisk förvaltare>
Länkar
<Länkar till dev-portal;
Test
Sandbox
Produktion>
FAQ
<FAQ>