Creating and managing requests
A request is an end user's perspective on a ticket. The following actions can be performed with the Create Request and Update Request endpoints:
You can also create anonymous requests when creating a ticket and add collaborators to an existing ticket.
Setting collaborators
Note: If the account has the CCs and Followers feature enabled, then collaborators can still be set using collaborators
and additional_collaborators
, which will automatically make end users CCs and agents followers. The use of email_ccs and followers is preferred for these accounts. See Setting Email CCs and Setting Followers for more details.
When creating a ticket, you can set collaborators on a ticket using the collaborators
parameter.
An email notification is sent to the collaborators when the request is created.
The collaborators
parameter takes an array consisting of a combination of user ids, email addresses, or objects containing a name
and email
property.
- 562562562
- "[email protected]"
{ "name": "Someone Special", "email": "[email protected]" }
Use an object to create the user on the fly with the appropriate name in your Zendesk Support instance.
Example
{
"ticket": {
"collaborators": [ 562, "[email protected]", { "name": "Someone Else", "email": "[email protected]" } ]
}
}
The new or updated collaborators will be specified in the JSON response by a property named collaborator_ids
. The response won't have a collaborators
property.
Setting email CCs
When creating or updating a request, you can set email CCs on a request using the parameter email_ccs
.
An email notification is sent to the CCs when the request is created or updated depending on trigger settings.
The email_ccs
parameter takes an array of objects representing users. Each object must have an identifier, either user ID (user_id
) or email address (user_email
). If an email address is specified and the user doesn't exist in the account, a new user will be created. Additionally, the key action
can be set to either "put" or "delete" - which indicates whether the user should be added to or removed from the email CCs list. If the action
key is not given, the default of put
is used. Optionally, if a new user is created, user_name
can be specified to set the new user's name. If the user will be implicitly created and a user_name
is not given, the user name will be derived from the local part of the email address. If an email address not associated with a user is included (with eg. the intention to implicitly create the user), but the "action" key is valued "delete", that email address will not be created and/or added as an email CC.
Email CCs will not be updated if an internal note is also added to the request in the same update.
Example request
{
"request": {
"email_ccs": [
{ "user_id": "562624", "action": "put" },
{ "user_id": "243642", "action": "delete" },
{ "user_email": "[email protected]", "user_name": "Someone Else", "action": "put"}
]
}
}
Creating anonymous requests
Anonymous requests must first be enabled in the Zendesk Admin Center by a Zendesk admin. If you're not an admin, ask an admin to do it for you. To enable anonymous requests, follow the procedure in Anybody can submit tickets, no registration required in Zendesk help. Make sure the Require authentication for request and uploads APIs option is not selected.
To create anonymous requests
- Omit the authorization header.
- Include a
requester
object in therequest
object.
The requester
object has the following properties. Only name
is required.
Name | Required | Description |
---|---|---|
name | yes | A real or arbitrary name for the requester |
no | An email address | |
locale | no | A BCP-47 compliant tag |
locale_id | no | See the Locales API |
If both locale
and locale_id
are included on create, locale
is used and locale_id
is ignored.
Example
{
"request": {
"requester": {"name": "Anonymous customer"},
"subject": "Help!",
"comment": {"body": "My printer is on fire!" }
}
}
Adding collaborators
When updating a ticket, you can add new collaborators on a ticket using the additional_collaborators
parameter.
An email notification is sent to the collaborators when the ticket is updated.
The additional_collaborators
takes an array consisting of a combination of user ids, email addresses, or objects containing a name
and email
property.
- 562562562
- "[email protected]"
{ "name": "Someone Special", "email": "[email protected]" }
Example
{
"ticket": {
"additional_collaborators": [ 562, "[email protected]", { "name": "Someone Else", "email": "[email protected]" } ]
}
}
The new or updated collaborators will be specified in the JSON response by a property named collaborator_ids
. The response won't have a additional_collaborators
property.