Availabilities

Represents the availability state of an agent and call status.

JSON format

Availabilities are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
agent_state string false false The availability state of the agent. Ifomnichannel routingis enabled, agent_state can not be updated through the API. Allowed values are "online", "offline", "away", or "transfers_only".
call_status string false false The call status of the agent. Allowed values are "on_call", "wrap_up", or "null".
通过 string false false The channel (client/phone) the agent is registered to. Ifomnichannel routingis enabled, only via can be updated through the API.

Example

             
{"agent_state":"online","call_status":"wrap_up","via":"phone"}

Show Availability

  • GET /api/v2/channels/voice/availabilities/{agent_id}

Allowed For

  • Agents

Parameters

Name Type In Required Description
agent_id integer Path true ID of an agent

代码示例

旋度
              
旋度https://{subdomain}.zendesk.com/api/v2/channels/voice/availabilities/{agent_id}.json\-v -u{email_address}:{password}-X GET
Go
              
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372"method:="GET"req,err:=http.NewRequest(method,url,倪l)iferr!=倪l{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!=倪l{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=倪l{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372").newBuilder();Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("GET",null).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:'GET',url:'https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372',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://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372"headers={"Content-Type":"application/json",}response=requests.request("GET",url,auth=('',''),headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372")request=Net::HTTP::Get.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 OK{"availability":{"agent_state":"online","via":"client"}}

Update Availability

  • PUT /api/v2/channels/voice/availabilities/{agent_id}

Allowed For

  • Agents

Parameters

Name Type In Required Description
agent_id integer Path true ID of an agent

Example body

             
{"availability":{"agent_state":"online","via":"client"}}

代码示例

旋度
              
旋度https://{subdomain}.zendesk.com/api/v2/channels/voice/availabilities/{agent_id}.json\-H"Content-Type: application/json"-d'{"availability": {"via": "client", "agent_state": "online"}}'\-v -u{email_address}:{password}-X PUT
Go
              
import("fmt""io""net/http""strings")funcmain(){url:="https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372"method:="PUT"payload:=strings.NewReader(`{"availability": {"agent_state": "online","via": "client"}}`)req,err:=http.NewRequest(method,url,payload)iferr!=倪l{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!=倪l{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=倪l{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372").newBuilder();RequestBodybody=RequestBody.create(MediaType.parse("application/json"),"""{\"availability\":{\"agent_state\":\"online\",\"via\":\"client\"}}""");Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("PUT",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({"availability":{"agent_state":"online","via":"client"}});varconfig={method:'PUT',url:'https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372',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://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372"payload=json.loads("""{"availability": {"agent_state": "online","via": "client"}}""")headers={"Content-Type":"application/json",}response=requests.request("PUT",url,auth=('',''),headers=headers,json=payload)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/v2/channels/voice/availabilities/385473779372")request=Net::HTTP::Put.new(uri,"Content-Type":"application/json")request.body=%q({"availability":{"agent_state":"online","via":"client"}})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 OK{"availability":{"agent_state":"online","via":"client"}}