Skip to content

Commit e87e94b

Browse files
author
AWS
committed
Amazon Connect Cases Update: This feature provides capabilities to help track and meet service level agreements (SLAs) on cases programmatically. It allows configuring a new related item of type Sla on a case using CreateRelatedItem API and provides the ability to search for this new related item using SearchRelatedItems API.
1 parent 69ea9d1 commit e87e94b

File tree

2 files changed

+178
-9
lines changed

2 files changed

+178
-9
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon Connect Cases",
4+
"contributor": "",
5+
"description": "This feature provides capabilities to help track and meet service level agreements (SLAs) on cases programmatically. It allows configuring a new related item of type `Sla` on a case using CreateRelatedItem API and provides the ability to search for this new related item using SearchRelatedItems API."
6+
}

services/connectcases/src/main/resources/codegen-resources/service-2.json

Lines changed: 172 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
"endpointPrefix":"cases",
66
"jsonVersion":"1.1",
77
"protocol":"rest-json",
8+
"protocols":["rest-json"],
89
"serviceAbbreviation":"ConnectCases",
910
"serviceFullName":"Amazon Connect Cases",
1011
"serviceId":"ConnectCases",
1112
"signatureVersion":"v4",
1213
"signingName":"cases",
13-
"uid":"connectcases-2022-10-03"
14+
"uid":"connectcases-2022-10-03",
15+
"auth":["aws.auth#sigv4"]
1416
},
1517
"operations":{
1618
"BatchGetCaseRule":{
@@ -86,7 +88,7 @@
8688
{"shape":"AccessDeniedException"},
8789
{"shape":"ConflictException"}
8890
],
89-
"documentation":"<note> <p>If you provide a value for <code>PerformedBy.UserArn</code> you must also have <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html\">connect:DescribeUser</a> permission on the User ARN resource that you provide</p> </note> <p>Creates a case in the specified Cases domain. Case system and custom fields are taken as an array id/value pairs with a declared data types.</p> <p>The following fields are required when creating a case:</p> <pre><code> &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;customer_id&lt;/code&gt; - You must provide the full customer profile ARN in this format: &lt;code&gt;arn:aws:profile:your_AWS_Region:your_AWS_account ID:domains/your_profiles_domain_name/profiles/profile_ID&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt; &lt;code&gt;title&lt;/code&gt; &lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; </code></pre>",
91+
"documentation":"<note> <p>If you provide a value for <code>PerformedBy.UserArn</code> you must also have <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html\">connect:DescribeUser</a> permission on the User ARN resource that you provide</p> </note> <p>Creates a case in the specified Cases domain. Case system and custom fields are taken as an array id/value pairs with a declared data types.</p> <p>The following fields are required when creating a case:</p> <ul> <li> <p> <code>customer_id</code> - You must provide the full customer profile ARN in this format: <code>arn:aws:profile:your_AWS_Region:your_AWS_account ID:domains/your_profiles_domain_name/profiles/profile_ID</code> </p> </li> <li> <p> <code>title</code> </p> </li> </ul>",
9092
"idempotent":true
9193
},
9294
"CreateCaseRule":{
@@ -127,7 +129,7 @@
127129
{"shape":"ConflictException"},
128130
{"shape":"ServiceQuotaExceededException"}
129131
],
130-
"documentation":"<p>Creates a domain, which is a container for all case data, such as cases, fields, templates and layouts. Each Amazon Connect instance can be associated with only one Cases domain.</p> <important> <p>This will not associate your connect instance to Cases domain. Instead, use the Amazon Connect <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html\">CreateIntegrationAssociation</a> API. You need specific IAM permissions to successfully associate the Cases domain. For more information, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/required-permissions-iam-cases.html#onboard-cases-iam\">Onboard to Cases</a>.</p> <pre><code> &lt;/important&gt; </code></pre>",
132+
"documentation":"<p>Creates a domain, which is a container for all case data, such as cases, fields, templates and layouts. Each Amazon Connect instance can be associated with only one Cases domain.</p> <important> <p>This will not associate your connect instance to Cases domain. Instead, use the Amazon Connect <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html\">CreateIntegrationAssociation</a> API. You need specific IAM permissions to successfully associate the Cases domain. For more information, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/required-permissions-iam-cases.html#onboard-cases-iam\">Onboard to Cases</a>.</p> </important>",
131133
"idempotent":true
132134
},
133135
"CreateField":{
@@ -248,7 +250,7 @@
248250
{"shape":"AccessDeniedException"},
249251
{"shape":"ConflictException"}
250252
],
251-
"documentation":"<p>Deletes a Cases domain.</p> <pre><code> &lt;note&gt; &lt;p&gt;After deleting your domain you must disassociate the deleted domain from your Amazon Connect instance with another API call before being able to use Cases again with this Amazon Connect instance. See &lt;a href=&quot;https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html&quot;&gt;DeleteIntegrationAssociation&lt;/a&gt;.&lt;/p&gt; &lt;/note&gt; </code></pre>",
253+
"documentation":"<p>Deletes a Cases domain.</p> <note> <p>After deleting your domain you must disassociate the deleted domain from your Amazon Connect instance with another API call before being able to use Cases again with this Amazon Connect instance. See <a href=\"https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html\">DeleteIntegrationAssociation</a>.</p> </note>",
252254
"idempotent":true
253255
},
254256
"DeleteField":{
@@ -289,7 +291,7 @@
289291
{"shape":"AccessDeniedException"},
290292
{"shape":"ConflictException"}
291293
],
292-
"documentation":"<p>Deletes a layout from a cases template. You can delete up to 100 layouts per domain.</p> <pre><code> &lt;p&gt;After a layout is deleted:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;You can still retrieve the layout by calling &lt;code&gt;GetLayout&lt;/code&gt;.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;You cannot update a deleted layout by calling &lt;code&gt;UpdateLayout&lt;/code&gt;; it throws a &lt;code&gt;ValidationException&lt;/code&gt;.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Deleted layouts are not included in the &lt;code&gt;ListLayouts&lt;/code&gt; response.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; </code></pre>",
294+
"documentation":"<p>Deletes a layout from a cases template. You can delete up to 100 layouts per domain.</p> <p>After a layout is deleted:</p> <ul> <li> <p>You can still retrieve the layout by calling <code>GetLayout</code>.</p> </li> <li> <p>You cannot update a deleted layout by calling <code>UpdateLayout</code>; it throws a <code>ValidationException</code>.</p> </li> <li> <p>Deleted layouts are not included in the <code>ListLayouts</code> response.</p> </li> </ul>",
293295
"idempotent":true
294296
},
295297
"DeleteTemplate":{
@@ -309,7 +311,7 @@
309311
{"shape":"AccessDeniedException"},
310312
{"shape":"ConflictException"}
311313
],
312-
"documentation":"<p>Deletes a cases template. You can delete up to 100 templates per domain.</p> <pre><code> &lt;p&gt;After a cases template is deleted:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;You can still retrieve the template by calling &lt;code&gt;GetTemplate&lt;/code&gt;.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;You cannot update the template. &lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;You cannot create a case by using the deleted template.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Deleted templates are not included in the &lt;code&gt;ListTemplates&lt;/code&gt; response.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; </code></pre>",
314+
"documentation":"<p>Deletes a cases template. You can delete up to 100 templates per domain.</p> <p>After a cases template is deleted:</p> <ul> <li> <p>You can still retrieve the template by calling <code>GetTemplate</code>.</p> </li> <li> <p>You cannot update the template. </p> </li> <li> <p>You cannot create a case by using the deleted template.</p> </li> <li> <p>Deleted templates are not included in the <code>ListTemplates</code> response.</p> </li> </ul>",
313315
"idempotent":true
314316
},
315317
"GetCase":{
@@ -578,7 +580,8 @@
578580
{"shape":"ResourceNotFoundException"},
579581
{"shape":"ValidationException"},
580582
{"shape":"ThrottlingException"},
581-
{"shape":"AccessDeniedException"}
583+
{"shape":"AccessDeniedException"},
584+
{"shape":"ConflictException"}
582585
],
583586
"documentation":"<p>Adds case event publishing configuration. For a complete list of fields you can add to the event message, see <a href=\"https://docs.aws.amazon.com/connect/latest/adminguide/case-fields.html\">Create case fields</a> in the <i>Amazon Connect Administrator Guide</i> </p>"
584587
},
@@ -2241,7 +2244,7 @@
22412244
},
22422245
"FieldValueUnionStringValueString":{
22432246
"type":"string",
2244-
"max":1500,
2247+
"max":3000,
22452248
"min":0
22462249
},
22472250
"FileArn":{
@@ -3249,6 +3252,10 @@
32493252
"file":{
32503253
"shape":"FileContent",
32513254
"documentation":"<p>Represents the content of a File to be returned to agents.</p>"
3255+
},
3256+
"sla":{
3257+
"shape":"SlaContent",
3258+
"documentation":"<p>Represents the content of an SLA to be returned to agents.</p>"
32523259
}
32533260
},
32543261
"documentation":"<p>Represents the content of a particular type of related item.</p>",
@@ -3284,6 +3291,10 @@
32843291
"file":{
32853292
"shape":"FileContent",
32863293
"documentation":"<p>A file of related items.</p>"
3294+
},
3295+
"sla":{
3296+
"shape":"SlaInputContent",
3297+
"documentation":"<p>Represents the content of an SLA to be created.</p>"
32873298
}
32883299
},
32893300
"documentation":"<p>Represents the content of a related item to be created.</p>",
@@ -3294,7 +3305,8 @@
32943305
"enum":[
32953306
"Contact",
32963307
"Comment",
3297-
"File"
3308+
"File",
3309+
"Sla"
32983310
]
32993311
},
33003312
"RelatedItemTypeFilter":{
@@ -3311,6 +3323,10 @@
33113323
"file":{
33123324
"shape":"FileFilter",
33133325
"documentation":"<p>A filter for related items of this type of <code>File</code>.</p>"
3326+
},
3327+
"sla":{
3328+
"shape":"SlaFilter",
3329+
"documentation":"<p> Filter for related items of type <code>SLA</code>.</p>"
33143330
}
33153331
},
33163332
"documentation":"<p>The list of types of related items and their parameters to use for filtering.</p>",
@@ -3624,6 +3640,147 @@
36243640
},
36253641
"exception":true
36263642
},
3643+
"SlaCompletionTime":{
3644+
"type":"timestamp",
3645+
"timestampFormat":"iso8601"
3646+
},
3647+
"SlaConfiguration":{
3648+
"type":"structure",
3649+
"required":[
3650+
"name",
3651+
"status",
3652+
"targetTime",
3653+
"type"
3654+
],
3655+
"members":{
3656+
"completionTime":{
3657+
"shape":"SlaCompletionTime",
3658+
"documentation":"<p>Time at which an SLA was completed.</p>"
3659+
},
3660+
"fieldId":{
3661+
"shape":"FieldId",
3662+
"documentation":"<p>Unique identifier of a field.</p>"
3663+
},
3664+
"name":{
3665+
"shape":"SlaName",
3666+
"documentation":"<p>Name of an SLA.</p>"
3667+
},
3668+
"status":{
3669+
"shape":"SlaStatus",
3670+
"documentation":"<p>Status of an SLA.</p>"
3671+
},
3672+
"targetFieldValues":{
3673+
"shape":"SlaFieldValueUnionList",
3674+
"documentation":"<p>Represents a list of target field values for the fieldId specified in SlaConfiguration.</p>"
3675+
},
3676+
"targetTime":{
3677+
"shape":"SlaTargetTime",
3678+
"documentation":"<p>Target time by which an SLA should be completed.</p>"
3679+
},
3680+
"type":{
3681+
"shape":"SlaType",
3682+
"documentation":"<p>Type of SLA.</p>"
3683+
}
3684+
},
3685+
"documentation":"<p>Represents an SLA configuration.</p>"
3686+
},
3687+
"SlaContent":{
3688+
"type":"structure",
3689+
"required":["slaConfiguration"],
3690+
"members":{
3691+
"slaConfiguration":{
3692+
"shape":"SlaConfiguration",
3693+
"documentation":"<p>Represents an SLA configuration.</p>"
3694+
}
3695+
},
3696+
"documentation":"<p>Represents the content of an SLA to be returned to agents.</p>"
3697+
},
3698+
"SlaFieldValueUnionList":{
3699+
"type":"list",
3700+
"member":{"shape":"FieldValueUnion"},
3701+
"max":1,
3702+
"min":1
3703+
},
3704+
"SlaFilter":{
3705+
"type":"structure",
3706+
"members":{
3707+
"name":{
3708+
"shape":"SlaName",
3709+
"documentation":"<p>Name of an SLA.</p>"
3710+
},
3711+
"status":{
3712+
"shape":"SlaStatus",
3713+
"documentation":"<p>Status of an SLA.</p>"
3714+
}
3715+
},
3716+
"documentation":"<p>A filter for related items of type <code>SLA</code>.</p>"
3717+
},
3718+
"SlaInputConfiguration":{
3719+
"type":"structure",
3720+
"required":[
3721+
"name",
3722+
"targetSlaMinutes",
3723+
"type"
3724+
],
3725+
"members":{
3726+
"fieldId":{
3727+
"shape":"FieldId",
3728+
"documentation":"<p>Unique identifier of a field.</p>"
3729+
},
3730+
"name":{
3731+
"shape":"SlaName",
3732+
"documentation":"<p>Name of an SLA.</p>"
3733+
},
3734+
"targetFieldValues":{
3735+
"shape":"SlaFieldValueUnionList",
3736+
"documentation":"<p>Represents a list of target field values for the fieldId specified in SlaInputConfiguration. The SLA is considered met if any one of these target field values matches the actual field value.</p>"
3737+
},
3738+
"targetSlaMinutes":{
3739+
"shape":"TargetSlaMinutes",
3740+
"documentation":"<p>Target duration in minutes within which an SLA should be completed.</p>"
3741+
},
3742+
"type":{
3743+
"shape":"SlaType",
3744+
"documentation":"<p>Type of SLA.</p>"
3745+
}
3746+
},
3747+
"documentation":"<p>Represents the input configuration of an SLA being created.</p>"
3748+
},
3749+
"SlaInputContent":{
3750+
"type":"structure",
3751+
"members":{
3752+
"slaInputConfiguration":{
3753+
"shape":"SlaInputConfiguration",
3754+
"documentation":"<p>Represents an input SLA configuration.</p>"
3755+
}
3756+
},
3757+
"documentation":"<p>Represents the content of an SLA.</p>",
3758+
"union":true
3759+
},
3760+
"SlaName":{
3761+
"type":"string",
3762+
"max":500,
3763+
"min":1,
3764+
"pattern":"^.*[\\S]$",
3765+
"sensitive":true
3766+
},
3767+
"SlaStatus":{
3768+
"type":"string",
3769+
"enum":[
3770+
"Active",
3771+
"Overdue",
3772+
"Met",
3773+
"NotMet"
3774+
]
3775+
},
3776+
"SlaTargetTime":{
3777+
"type":"timestamp",
3778+
"timestampFormat":"iso8601"
3779+
},
3780+
"SlaType":{
3781+
"type":"string",
3782+
"enum":["CaseField"]
3783+
},
36273784
"Sort":{
36283785
"type":"structure",
36293786
"required":[
@@ -3679,6 +3836,12 @@
36793836
"key":{"shape":"String"},
36803837
"value":{"shape":"String"}
36813838
},
3839+
"TargetSlaMinutes":{
3840+
"type":"long",
3841+
"box":true,
3842+
"max":129600,
3843+
"min":1
3844+
},
36823845
"TemplateArn":{
36833846
"type":"string",
36843847
"max":500,

0 commit comments

Comments
 (0)