Talk Partner Edition lets organizations choose their own call center software and integrate it with Zendesk’s omnichannel solution. For more information, seeUnderstanding Talk Partner Edition. See also theTalk Partner Edition APIin the Voice API reference docs.

Open Ticket in Agent's Browser

  • POST /api/v2/channels/voice/agents/{agent_id}/tickets/{ticket_id}/display

Allows you to instruct an agent's browser to open a ticket.

When the message is successfully delivered to an agent's browser:

             
Status: 200 OK

Whenagent_idorticket_idis invalid:

             
Status: 404 Not Found

Allowed For

  • Agents

Parameters

Name Type In Required Description
agent_id integer Path true ID of an agent
ticket_id integer Path true The ID of the ticket

Code Samples

curl
              
curlhttps://{subdomain}.zendesk.com/api/v2/channels/voice/agents/{agent_id}/tickets/{ticket_id}/display.json\-H"Content-Type: application/json"\-v -u{email_address}:{password}-X POST
Go
              
import("fmt""io""net/http")funcmain(){url:="https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/tickets/123456/display"method:="POST"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization","Basic ")// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/tickets/123456/display").newBuilder();请求Bodybody=请求Body.create(MediaType.parse("application/json"),"""""");请求request=new请求.Builder().url(urlBuilder.build()).method("POST",body).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'POST',url:'https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/tickets/123456/display',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/tickets/123456/display"headers={"Content-Type":"application/json",}response=requests.request("POST",url,auth=('',''),headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/tickets/123456/display")request=Net::HTTP::Post.new(uri,"Content-Type":"application/json")request.basic_auth"username","password"response=Net::HTTP.start uri.hostname,uri.port,use_ssl:truedo|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OKnull
404 Not Found
              
// Status 404 Not Foundnull

Open a User's Profile in an Agent's Browser

  • POST /api/v2/channels/voice/agents/{agent_id}/users/{user_id}/display

Allows you to instruct an agent's browser to open a user's profile.

When the message is successfully delivered to an agent's browser:

             
Status: 200 OK

Whenagent_idorticket_idis invalid:

             
Status: 404 Not Found

Allowed For

  • Agents

Parameters

Name Type In Required Description
agent_id integer Path true ID of an agent
user_id integer Path true The id of the user

Code Samples

curl
              
curlhttps://{subdomain}.zendesk.com/api/v2/channels/voice/agents/{agent_id}/users/{user_id}/display.json\-H"Content-Type: application/json"\-v -u{email_address}:{password}-X POST
Go
              
import("fmt""io""net/http")funcmain(){url:="https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/users/35436/display"method:="POST"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization","Basic ")// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/users/35436/display").newBuilder();请求Bodybody=请求Body.create(MediaType.parse("application/json"),"""""");请求request=new请求.Builder().url(urlBuilder.build()).method("POST",body).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'POST',url:'https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/users/35436/display',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/users/35436/display"headers={"Content-Type":"application/json",}response=requests.request("POST",url,auth=('',''),headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://example.zendesk.com/api/v2/channels/voice/agents/385473779372/users/35436/display")request=Net::HTTP::Post.new(uri,"Content-Type":"application/json")request.basic_auth"username","password"response=Net::HTTP.start uri.hostname,uri.port,use_ssl:truedo|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OKnull
404 Not Found
              
// Status 404 Not Foundnull

Create Ticket or Voicemail Ticket

  • POST /api/v2/channels/voice/tickets

Allowed For

  • Agents

Creating tickets

Introduction

Creating tickets using Talk Partner Edition follows the same conventions as the Create Ticket endpoint. SeeCreate Ticket.

请求parameters

The POST request takes a mandatoryticketobject that lists the values to set when the ticket is created. You may also include an optionaldisplay_to_agentvalue such as the ID of the agent that will see the newly created ticket.

Tickets created using this endpoint must have avia_idparameter. See the following section for possible values.

Zendesk Talk Integration Via IDs

Tickets created using this endpoint must have one of the followingvia_idparameters:

ID Description
44 Voicemail
45 Phone call (inbound)
46 Phone call (outbound)

Creating voicemail tickets

请求parameters

The POST request takes a mandatoryticketobject that lists the values to set when the ticket is created. The ticket must have avoice_commentwith the following values:

Name Type Comment
from string Incoming phone number
to string Dialed phone number
recording_url string URL of the recording
started_at date ISO 8601timestamp of the call starting time
call_duration integer Duration in seconds of the call
answered_by_id integer The agent who answered the call
transcription_text string Transcription of the call (optional)
location string Location of the caller (optional)

Parameters

Name Type In Required Description
agent_id integer Path true ID of an agent
ticket_id integer Path true The ID of the ticket

Example body

             
{"display_to_agent":1234,"ticket":{“评论”:{"body":"My printer is on fire!"},"priority":"urgent","via_id":46,"voice_comment":{"answered_by_id":28,"call_duration":40,"from":"+16617480240","location":"Dublin, Ireland","recording_url":"http://yourdomain.com/recordings/1.mp3",“started_at”:"2019-04-16T09:14:57Z","to":"+16617480123","transcription_text":"The transcription of the call"}}}

Code Samples

curl

Create ticket

data.json

              
{"display_to_agent":1234,"ticket":{"via_id":45,"subject":"My printer is on fire!",“评论”:{"body":"The smoke is very colorful."},"priority":"urgent"}}

curl snippet

              
curlhttps://{subdomain}.zendesk.com/api/v2/channels/voice/tickets.json\-d @data.json\-H"Content-Type: application/json"-v -u{email_address}:{password}-X POST
curl

Create voicemail ticket

data.json

              
{"ticket":{"via_id":44,"description":"Voicemail from: +16617480240","voice_comment":{"from":"+16617480240","to":"+16617480123","recording_url":"http://yourdomain.com/recordings/1.mp3",“started_at”:"2019-04-16T09:14:57Z","call_duration":40,"answered_by_id":28,"transcription_text":"The transcription of the call","location":"Dublin, Ireland"}}}

curl snippet

              
curlhttps://{subdomain}.zendesk.com/api/v2/channels/voice/tickets.json\-d @data.json\-H"Content-Type: application/json"-v -u{email_address}:{password}-X POST
Go
              
import("fmt""io""net/http""strings")funcmain(){url:="https://example.zendesk.com/api/v2/channels/voice/tickets"method:="POST"payload:=strings.NewReader(`{"display_to_agent": 1234,"ticket": {“评论”: {"body": "My printer is on fire!"},"priority": "urgent","via_id": 46,"voice_comment": {"answered_by_id": 28,"call_duration": 40,"from": "+16617480240","location": "Dublin, Ireland","recording_url": "http://yourdomain.com/recordings/1.mp3",“started_at”: "2019-04-16T09:14:57Z","to": "+16617480123","transcription_text": "The transcription of the call"}}}`)req,err:=http.NewRequest(method,url,payload)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization","Basic ")// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://example.zendesk.com/api/v2/channels/voice/tickets").newBuilder();请求Bodybody=请求Body.create(MediaType.parse("application/json"),"""{\"display_to_agent\":1234,\"ticket\":{\"comment\":{\"body\":\"Myprinterison fire!\"},\"priority\":\"urgent\",\"via_id\":46,\"voice_comment\":{\"answered_by_id\":28,\"call_duration\":40,\"from\":\"+16617480240\",\"location\":\"Dublin,Ireland\",\"recording_url\":\"http://yourdomain.com/recordings/1.mp3 \”,\"started_at\":\"2019-04-16T09:14:57Z\",\"to\":\"+16617480123\",\"transcription_text\":\"Thetranscriptionofthe call\"}}}""");请求request=new请求.Builder().url(urlBuilder.build()).method("POST",body).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');vardata=JSON.stringify({"display_to_agent":1234,"ticket":{“评论”:{"body":"My printer is on fire!"},"priority":"urgent","via_id":46,"voice_comment":{"answered_by_id":28,"call_duration":40,"from":"+16617480240","location":"Dublin, Ireland","recording_url":"http://yourdomain.com/recordings/1.mp3",“started_at”:"2019-04-16T09:14:57Z","to":"+16617480123","transcription_text":"The transcription of the call"}}});varconfig={method:'POST',url:'https://example.zendesk.com/api/v2/channels/voice/tickets',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},data:data,};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsimportjsonurl="https://example.zendesk.com/api/v2/channels/voice/tickets"payload=json.loads("""{"display_to_agent": 1234,"ticket": {“评论”: {"body": "My printer is on fire!"},"priority": "urgent","via_id": 46,"voice_comment": {"answered_by_id": 28,"call_duration": 40,"from": "+16617480240","location": "Dublin, Ireland","recording_url": "http://yourdomain.com/recordings/1.mp3",“started_at”: "2019-04-16T09:14:57Z","to": "+16617480123","transcription_text": "The transcription of the call"}}}""")headers={"Content-Type":"application/json",}response=requests.request("POST",url,auth=('',''),headers=headers,json=payload)print(response.text)
Ruby
              
require"net/http"uri=URI("https://example.zendesk.com/api/v2/channels/voice/tickets")request=Net::HTTP::Post.new(uri,"Content-Type":"application/json")request.body=%q({"display_to_agent":1234,"ticket":{“评论”:{"body":"My printer is on fire!"},"priority":"urgent","via_id":46,"voice_comment":{"answered_by_id":28,"call_duration":40,"from":"+16617480240","location":"Dublin, Ireland","recording_url":"http://yourdomain.com/recordings/1.mp3",“started_at”:"2019-04-16T09:14:57Z","to":"+16617480123","transcription_text":"The transcription of the call"}}})request.basic_auth"username","password"response=Net::HTTP.start uri.hostname,uri.port,use_ssl:truedo|http|http.request(request)end

Example response(s)

201 Created
              
// Status 201 Created{"ticket":{"assignee_id":235323,"collaborator_ids":[35334,234],"created_at":"2009-07-20T22:55:29Z","custom_fields":[{"id":27642,"value":"745"},{"id":27648,"value":"yes"}],"custom_status_id":123,"description":"The fire is very colorful.","due_at":null,"external_id":"ahg35h3jh","follower_ids":[35334,234],"from_messaging_channel":false,"group_id":98738,"has_incidents":false,"id":35436,"organization_id":509974,"priority":"high","problem_id":9873764,"raw_subject":"{{dc.printer_on_fire}}","recipient":"(邮件prote来cted]","requester_id":20978392,"satisfaction_rating":{“评论”:"Great support!","id":1234,"score":"good"},"sharing_agreement_ids":[84432],"status":"open","subject":"Help, my printer is on fire!","submitter_id":76872,"tags":["enterprise","other_tag"],"type":"incident","updated_at":"2011-05-05T10:38:52Z","url":"https://company.zendesk.com/api/v2/tickets/35436.json","via":{"channel":"web"}}}
404 Not Found
              
// Status 404 Not Foundnull