Last active
March 30, 2021 07:45
-
-
Save 3014zhangshuo/3ccf10630eb2c2241ec29922c173d8d0 to your computer and use it in GitHub Desktop.
Udesk open api
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SETTING = { | |
email: '[email protected]', | |
api_token: 'ccd6ed3c-1da5-4173-aea3-e8a7ed74f68e', | |
url_base: 'https://demo.dog.tryudesk.com' | |
} | |
SETTING = { | |
email: '[email protected]', | |
api_token: '2212c179-bc9e-433c-8cb9-ae6004e64848', | |
url_base: 'https://udesk-rd-bj-01.udesk.cn' | |
} | |
SETTING = { | |
email: '[email protected]', | |
api_token: '54e5d934-9e75-4fa5-95d8-87cb46b56a17', | |
url_base: 'https://1370515.s4.udesk.cn' | |
} | |
def agent_monitor_infos(setting = SETTING) | |
url_base = setting.fetch(:url_base) { raise 'Not set url' } | |
email = setting.fetch(:email) { raise 'Not set email' } | |
timestamp = Time.current.to_i | |
nonce = SecureRandom.hex(10) | |
sign_version = 'v2' | |
auth_info = { | |
email: email, | |
api_token: setting.fetch(:api_token) { 'Not set api_token' }, | |
timestamp: timestamp, | |
nonce: nonce, | |
sign_version: sign_version | |
} | |
query = { | |
email: email, | |
timestamp: timestamp, | |
sign: Digest::SHA256.hexdigest(auth_info.values.join('&')), | |
nonce: nonce, | |
sign_version: sign_version | |
}.to_query | |
"#{url_base}/open_api_v1/agent_monitor_infos?#{query}" | |
end | |
def update_customer(setting = SETTING) | |
url_base = setting.fetch(:url_base) { raise 'Not set url' } | |
email = setting.fetch(:email) { raise 'Not set email' } | |
timestamp = Time.current.to_i | |
nonce = SecureRandom.hex(10) | |
sign_version = 'v2' | |
auth_info = { | |
email: email, | |
api_token: setting.fetch(:api_token) { 'Not set api_token' }, | |
timestamp: timestamp, | |
nonce: nonce, | |
sign_version: sign_version | |
} | |
query = { | |
email: email, | |
timestamp: timestamp, | |
sign: Digest::SHA256.hexdigest(auth_info.values.join('&')), | |
nonce: nonce, | |
sign_version: sign_version, | |
type: "cellphone", | |
content: "17800456677" | |
}.to_query | |
"#{url_base}/open_api_v1/customers/update_customer?#{query}" | |
end | |
def generate_put_chained_droplists_url(field_id, setting = SETTING) | |
url_base = setting.fetch(:url_base) { raise 'Not set url' } | |
email = setting.fetch(:email) { raise 'Not set email' } | |
timestamp = Time.current.to_i | |
nonce = SecureRandom.hex(10) | |
sign_version = 'v2' | |
auth_info = { | |
email: email, | |
api_token: setting.fetch(:api_token) { 'Not set api_token' }, | |
timestamp: timestamp, | |
nonce: nonce, | |
sign_version: sign_version | |
} | |
query = { | |
email: email, | |
timestamp: timestamp, | |
sign: Digest::SHA256.hexdigest(auth_info.values.join('&')), | |
nonce: nonce, | |
sign_version: sign_version | |
}.to_query | |
"#{url_base}/open_api_v1/chained_droplists/#{field_id}?#{query}" | |
end | |
def generate_ticket_change_logs_url(ticket_id = nil, setting = SETTING) | |
url_base = setting.fetch(:url_base) { raise 'Not set url' } | |
email = setting.fetch(:email) { raise 'Not set email' } | |
timestamp = Time.current.to_i | |
nonce = SecureRandom.hex(10) | |
sign_version = 'v2' | |
auth_info = { | |
email: email, | |
api_token: setting.fetch(:api_token) { 'Not set api_token' }, | |
timestamp: timestamp, | |
nonce: nonce, | |
sign_version: sign_version | |
} | |
query = { | |
email: email, | |
timestamp: timestamp, | |
sign: Digest::SHA256.hexdigest(auth_info.values.join('&')), | |
nonce: nonce, | |
sign_version: sign_version | |
}.to_query | |
#"#{url_base}/open_api_v1/tickets/#{ticket_id}/change_logs?#{query}" | |
"#{url_base}/open_api_v1/agents?#{query}" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment