Twitter Channel
Monitored Twitter handles represent the Twitter accounts that you have configured on your account to pull new tweets into Zendesk Support as tickets.
JSON format
Monitored Twitter handles are represented as JSON objects with the following properties:
Name | Type | Read-only | 强制性的 | Description |
---|---|---|---|---|
allow_reply | boolean | true | false | If replies are allowed for this handle |
avatar_url | string | true | false | The profile image url of the handle |
brand_id | integer | true | false | What brand the handle is associated with |
can_reply | boolean | true | false | If replies are allowed for this handle |
created_at | string | true | false | The time the handle was created |
id | integer | true | true | Automatically assigned upon creation |
name | string | true | false | The profile name of the handle |
screen_name | string | true | true | The Twitter handle |
twitter_user_id | integer | true | true | The country's code |
updated_at | string | true | false | The time of the last update of the handle |
Example
{
"created_at":"2009-05-13T00:07:08Z",
"id":211,
"screen_name":"@zendesk",
"twitter_user_id":67462376832,
"updated_at":"2011-07-22T00:11:12Z"
}
List Monitored Twitter Handles
GET /api/v2/channels/twitter/monitored_twitter_handles
Allowed For
- 管理员
- Agents
Code Samples
旋度
旋度https://{subdomain}.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles.json
Go
import(
"fmt"
"io"
"net/http"
)
funcmain(){
url:="https://support.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles"
method:="GET"
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://support.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles")
.newBuilder();
Requestrequest=newRequest.Builder()
.url(urlBuilder.build())
.method("GET",null)
.addHeader("Content-Type","application/json")
.addHeader("Authorization",Credentials.基本("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/twitter/monitored_twitter_handles',
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
importrequests
url="https://support.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles"
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/twitter/monitored_twitter_handles")
request=Net::HTTP::Get.new(uri,"Content-Type":"application/json")
request.基本_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
{
"monitored_twitter_handles":[
{
"created_at":"2009-05-13T00:07:08Z",
"id":211,
"screen_name":"@zendesk",
"twitter_user_id":67462376832,
"updated_at":"2011-07-22T00:11:12Z"
},
{
"created_at":“2010 - 05 - 13 - t22:07:08z”,
"id":431,
"screen_name":“@亚博zendeskops”,
"twitter_user_id":67923318930,
"updated_at":"2011-07-22T00:15:19Z"
}
]
}
Show Monitored Twitter Handle
GET /api/v2/channels/twitter/monitored_twitter_handles/{monitored_twitter_handle_id}
Allowed For
- 管理员
- Agents
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
monitored_twitter_handle_id | integer | Path | true | The ID of the custom agent role |
Code Samples
旋度
旋度https://{subdomain}.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles/{monitored_twitter_handle_id}.json\
-v -u{email_address}:{password}
Go
import(
"fmt"
"io"
"net/http"
)
funcmain(){
url:="https://support.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles/431"
method:="GET"
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://support.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles/431")
.newBuilder();
Requestrequest=newRequest.Builder()
.url(urlBuilder.build())
.method("GET",null)
.addHeader("Content-Type","application/json")
.addHeader("Authorization",Credentials.基本("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/twitter/monitored_twitter_handles/431',
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
importrequests
url="https://support.zendesk.com/api/v2/channels/twitter/monitored_twitter_handles/431"
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/twitter/monitored_twitter_handles/431")
request=Net::HTTP::Get.new(uri,"Content-Type":"application/json")
request.基本_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
{
"monitored_twitter_handle":{
"created_at":“2010 - 05 - 13 - t22:07:08z”,
"id":431,
"screen_name":“@亚博zendeskops”,
"twitter_user_id":67923318930,
"updated_at":"2011-07-22T00:15:19Z"
}
}
Create Ticket from Tweet
POST /api/v2/channels/twitter/tickets
Turns a tweet into a ticket. You must provide the tweet id as well as the id of a monitored twitter handle configured for your account.
The submitter of the ticket is set to be the user submitting the API request.
Allowed For
- Agents
Code Samples
旋度
旋度https://{subdomain}.zendesk.com/api/v2/channels/twitter/tickets.json\
- h"Content-Type: application/json"\
-d'{"ticket": {"twitter_status_message_id": 8605426295771136, "monitored_twitter_handle_id": 45}}'\
-v -u{email_address}:{password}-X POST
Go
import(
"fmt"
"io"
"net/http"
)
funcmain(){
url:="https://support.zendesk.com/api/v2/channels/twitter/tickets"
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://support.zendesk.com/api/v2/channels/twitter/tickets")
.newBuilder();
RequestBodybody=RequestBody.create(MediaType.parse("application/json"),
"""
""");
Requestrequest=newRequest.Builder()
.url(urlBuilder.build())
.method("POST",body)
.addHeader("Content-Type","application/json")
.addHeader("Authorization",Credentials.基本("your-email","your-password"))
.build();
Responseresponse=client.newCall(request).execute();
Nodejs
varaxios=require('axios');
varconfig={
method:'POST',
url:'https://support.zendesk.com/api/v2/channels/twitter/tickets',
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
importrequests
url="https://support.zendesk.com/api/v2/channels/twitter/tickets"
headers={
"Content-Type":"application/json",
}
response=requests.request(
"POST",
url,
auth=('
' ,'' ),headers=headers
)
print(response.text)
Ruby
require"net/http"
uri=URI("https://support.zendesk.com/api/v2/channels/twitter/tickets")
request=Net::HTTP::Post.new(uri,"Content-Type":"application/json")
request.基本_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
null
List Twicket statuses
GET /api/v2/channels/twitter/tickets/{comment_id}/statuses
Allowed For
- Agents
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
ids | string | 查询 | false | Optional comment ids to retrieve tweet information for only particular comments |
comment_id | integer | Path | true | The ID of the comment |
Code Samples
旋度
旋度https://{subdomain}.zendesk.com/api/v2/channels/twitter/tickets/{comment_id}/statuses.json\
-v -u{email_address}:{password}
Go
import(
"fmt"
"io"
"net/http"
)
funcmain(){
url:="https://support.zendesk.com/api/v2/channels/twitter/tickets/654321/statuses?ids=1%2C3%2C5"
method:="GET"
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://support.zendesk.com/api/v2/channels/twitter/tickets/654321/statuses")
.newBuilder()
.addQueryParameter("ids","1,3,5");
Requestrequest=newRequest.Builder()
.url(urlBuilder.build())
.method("GET",null)
.addHeader("Content-Type","application/json")
.addHeader("Authorization",Credentials.基本("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/twitter/tickets/654321/statuses',
headers:{
'Content-Type':'application/json',
'Authorization':'Basic
' ,// Base64 encoded "username:password"},
params:{
'ids':'1%2C3%2C5',
},
};
axios(config)
.then(function(response){
console.log(JSON.stringify(response.data));
})
.catch(function(error){
console.log(error);
});
Python
importrequests
url="https://support.zendesk.com/api/v2/channels/twitter/tickets/654321/statuses?ids=1%2C3%2C5"
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/twitter/tickets/654321/statuses")
uri.query=URI.encode_www_form("ids":"1,3,5")
request=Net::HTTP::Get.new(uri,"Content-Type":"application/json")
request.基本_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
{
"statuses":[
{
"favorited":true,
"id":834,
"retweeted":false,
"user_followed":true
}
]
}