VB.NET / Support API / Recover Suspended Ticket
Back to Collection Items
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New Chilkat.Http
Dim success As Boolean
http.BasicAuth = True
http.Login = "login"
http.Password = "password"
http.SetRequestHeader("Accept","application/json")
Dim resp As Chilkat.HttpResponse = http.QuickRequest("PUT","https://example.zendesk.com/api/v2/suspended_tickets/:id/recover")
If (http.LastMethodSuccess = False) Then
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())
Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
Debug.WriteLine("Response Header:")
Debug.WriteLine(resp.Header)
Debug.WriteLine("Failed.")
Exit Sub
End If
' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)
' {
' "ticket": [
' {
' "attachments": [
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>",
' "thumbnails": [
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' },
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' }
' ]
' },
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>",
' "thumbnails": [
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' },
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' }
' ]
' }
' ],
' "author": {
' "email": "<string>",
' "id": "<integer>",
' "name": "<string>"
' },
' "brand_id": "<integer>",
' "cause": "<string>",
' "cause_id": "<integer>",
' "content": "<string>",
' "created_at": "<dateTime>",
' "id": "<integer>",
' "message_id": "<string>",
' "recipient": "<string>",
' "subject": "<string>",
' "ticket_id": "<integer>",
' "updated_at": "<dateTime>",
' "url": "<string>",
' "via": {
' "channel": "<string>",
' "source": {
' "from": {
' "address": "<string>",
' "id": "<integer>",
' "name": "<string>",
' "title": "<string>"
' },
' "rel": "<string>",
' "to": {
' "address": "<string>",
' "name": "<string>"
' }
' }
' }
' },
' {
' "attachments": [
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>",
' "thumbnails": [
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' },
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' }
' ]
' },
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>",
' "thumbnails": [
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' },
' {
' "content_type": "<string>",
' "content_url": "<string>",
' "deleted": "<boolean>",
' "file_name": "<string>",
' "height": "<string>",
' "id": "<integer>",
' "inline": "<boolean>",
' "malware_access_override": "<boolean>",
' "malware_scan_result": "<string>",
' "mapped_content_url": "<string>",
' "size": "<integer>",
' "url": "<string>",
' "width": "<string>"
' }
' ]
' }
' ],
' "author": {
' "email": "<string>",
' "id": "<integer>",
' "name": "<string>"
' },
' "brand_id": "<integer>",
' "cause": "<string>",
' "cause_id": "<integer>",
' "content": "<string>",
' "created_at": "<dateTime>",
' "id": "<integer>",
' "message_id": "<string>",
' "recipient": "<string>",
' "subject": "<string>",
' "ticket_id": "<integer>",
' "updated_at": "<dateTime>",
' "url": "<string>",
' "via": {
' "channel": "<string>",
' "source": {
' "from": {
' "address": "<string>",
' "id": "<integer>",
' "name": "<string>",
' "title": "<string>"
' },
' "rel": "<string>",
' "to": {
' "address": "<string>",
' "name": "<string>"
' },
' "cupidatat__c": false,
' "officiad": -60680586
' }
' }
' }
' ]
' }
' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Dim v_Email As String
Dim Id As String
Dim Name As String
Dim brand_id As String
Dim cause As String
Dim cause_id As String
Dim content As String
Dim created_at As String
Dim id As String
Dim message_id As String
Dim recipient As String
Dim subject As String
Dim ticket_id As String
Dim updated_at As String
Dim url As String
Dim Channel As String
Dim Address As String
Dim FromId As String
Dim FromName As String
Dim Title As String
Dim Rel As String
Dim ToAddress As String
Dim ToName As String
Dim Cupidatat__c As Boolean
Dim Officiad As Integer
Dim j As Integer
Dim count_j As Integer
Dim content_type As String
Dim content_url As String
Dim deleted As String
Dim file_name As String
Dim height As String
Dim inline As String
Dim malware_access_override As String
Dim malware_scan_result As String
Dim mapped_content_url As String
Dim size As String
Dim width As String
Dim k As Integer
Dim count_k As Integer
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("ticket")
While i < count_i
jResp.I = i
v_Email = jResp.StringOf("ticket[i].author.email")
Id = jResp.StringOf("ticket[i].author.id")
Name = jResp.StringOf("ticket[i].author.name")
brand_id = jResp.StringOf("ticket[i].brand_id")
cause = jResp.StringOf("ticket[i].cause")
cause_id = jResp.StringOf("ticket[i].cause_id")
content = jResp.StringOf("ticket[i].content")
created_at = jResp.StringOf("ticket[i].created_at")
id = jResp.StringOf("ticket[i].id")
message_id = jResp.StringOf("ticket[i].message_id")
recipient = jResp.StringOf("ticket[i].recipient")
subject = jResp.StringOf("ticket[i].subject")
ticket_id = jResp.StringOf("ticket[i].ticket_id")
updated_at = jResp.StringOf("ticket[i].updated_at")
url = jResp.StringOf("ticket[i].url")
Channel = jResp.StringOf("ticket[i].via.channel")
Address = jResp.StringOf("ticket[i].via.source.from.address")
FromId = jResp.StringOf("ticket[i].via.source.from.id")
FromName = jResp.StringOf("ticket[i].via.source.from.name")
Title = jResp.StringOf("ticket[i].via.source.from.title")
Rel = jResp.StringOf("ticket[i].via.source.rel")
ToAddress = jResp.StringOf("ticket[i].via.source.to.address")
ToName = jResp.StringOf("ticket[i].via.source.to.name")
Cupidatat__c = jResp.BoolOf("ticket[i].via.source.cupidatat__c")
Officiad = jResp.IntOf("ticket[i].via.source.officiad")
j = 0
count_j = jResp.SizeOfArray("ticket[i].attachments")
While j < count_j
jResp.J = j
content_type = jResp.StringOf("ticket[i].attachments[j].content_type")
content_url = jResp.StringOf("ticket[i].attachments[j].content_url")
deleted = jResp.StringOf("ticket[i].attachments[j].deleted")
file_name = jResp.StringOf("ticket[i].attachments[j].file_name")
height = jResp.StringOf("ticket[i].attachments[j].height")
id = jResp.StringOf("ticket[i].attachments[j].id")
inline = jResp.StringOf("ticket[i].attachments[j].inline")
malware_access_override = jResp.StringOf("ticket[i].attachments[j].malware_access_override")
malware_scan_result = jResp.StringOf("ticket[i].attachments[j].malware_scan_result")
mapped_content_url = jResp.StringOf("ticket[i].attachments[j].mapped_content_url")
size = jResp.StringOf("ticket[i].attachments[j].size")
url = jResp.StringOf("ticket[i].attachments[j].url")
width = jResp.StringOf("ticket[i].attachments[j].width")
k = 0
count_k = jResp.SizeOfArray("ticket[i].attachments[j].thumbnails")
While k < count_k
jResp.K = k
content_type = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].content_type")
content_url = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].content_url")
deleted = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].deleted")
file_name = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].file_name")
height = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].height")
id = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].id")
inline = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].inline")
malware_access_override = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].malware_access_override")
malware_scan_result = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].malware_scan_result")
mapped_content_url = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].mapped_content_url")
size = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].size")
url = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].url")
width = jResp.StringOf("ticket[i].attachments[j].thumbnails[k].width")
k = k + 1
End While
j = j + 1
End While
i = i + 1
End While
Curl Command
curl -u login:password -X PUT
-H "Accept: application/json"
https://example.zendesk.com/api/v2/suspended_tickets/:id/recover
Postman Collection Item JSON
{
"name": "Recover Suspended Ticket",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/api/v2/suspended_tickets/:id/recover",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v2",
"suspended_tickets",
":id",
"recover"
],
"variable": [
{
"key": "id",
"value": "<number>"
}
]
},
"description": "**Note**: During recovery, the API sets the requester to the authenticated agent who called the API, not the original requester. This prevents the ticket from being re-suspended after recovery. To preserve the original requester, use the [Recover Multiple Suspended Tickets](#recover-multiple-suspended-tickets) endpoint with the single ticket.\n\n#### Allowed For\n\n* Unrestricted agents\n"
},
"response": [
{
"name": "Success response",
"originalRequest": {
"method": "PUT",
"header": [
{
"description": "Added as a part of security scheme: basic",
"key": "Authorization",
"value": "Basic <credentials>"
}
],
"url": {
"raw": "{{baseUrl}}/api/v2/suspended_tickets/:id/recover",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"v2",
"suspended_tickets",
":id",
"recover"
],
"variable": [
{
"key": "id"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"ticket\": [\n {\n \"attachments\": [\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\",\n \"thumbnails\": [\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n },\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n }\n ]\n },\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\",\n \"thumbnails\": [\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n },\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n }\n ]\n }\n ],\n \"author\": {\n \"email\": \"<string>\",\n \"id\": \"<integer>\",\n \"name\": \"<string>\"\n },\n \"brand_id\": \"<integer>\",\n \"cause\": \"<string>\",\n \"cause_id\": \"<integer>\",\n \"content\": \"<string>\",\n \"created_at\": \"<dateTime>\",\n \"id\": \"<integer>\",\n \"message_id\": \"<string>\",\n \"recipient\": \"<string>\",\n \"subject\": \"<string>\",\n \"ticket_id\": \"<integer>\",\n \"updated_at\": \"<dateTime>\",\n \"url\": \"<string>\",\n \"via\": {\n \"channel\": \"<string>\",\n \"source\": {\n \"from\": {\n \"address\": \"<string>\",\n \"id\": \"<integer>\",\n \"name\": \"<string>\",\n \"title\": \"<string>\"\n },\n \"rel\": \"<string>\",\n \"to\": {\n \"address\": \"<string>\",\n \"name\": \"<string>\"\n }\n }\n }\n },\n {\n \"attachments\": [\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\",\n \"thumbnails\": [\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n },\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n }\n ]\n },\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\",\n \"thumbnails\": [\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n },\n {\n \"content_type\": \"<string>\",\n \"content_url\": \"<string>\",\n \"deleted\": \"<boolean>\",\n \"file_name\": \"<string>\",\n \"height\": \"<string>\",\n \"id\": \"<integer>\",\n \"inline\": \"<boolean>\",\n \"malware_access_override\": \"<boolean>\",\n \"malware_scan_result\": \"<string>\",\n \"mapped_content_url\": \"<string>\",\n \"size\": \"<integer>\",\n \"url\": \"<string>\",\n \"width\": \"<string>\"\n }\n ]\n }\n ],\n \"author\": {\n \"email\": \"<string>\",\n \"id\": \"<integer>\",\n \"name\": \"<string>\"\n },\n \"brand_id\": \"<integer>\",\n \"cause\": \"<string>\",\n \"cause_id\": \"<integer>\",\n \"content\": \"<string>\",\n \"created_at\": \"<dateTime>\",\n \"id\": \"<integer>\",\n \"message_id\": \"<string>\",\n \"recipient\": \"<string>\",\n \"subject\": \"<string>\",\n \"ticket_id\": \"<integer>\",\n \"updated_at\": \"<dateTime>\",\n \"url\": \"<string>\",\n \"via\": {\n \"channel\": \"<string>\",\n \"source\": {\n \"from\": {\n \"address\": \"<string>\",\n \"id\": \"<integer>\",\n \"name\": \"<string>\",\n \"title\": \"<string>\"\n },\n \"rel\": \"<string>\",\n \"to\": {\n \"address\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"cupidatat__c\": false,\n \"officiad\": -60680586\n }\n }\n }\n ]\n}"
}
]
}