Python Tech Support

PythonによるWebアプリ、機械学習など

Zendesk API: Zenpy

いきなりの機械学習関係ない記事です。

PythonでZendeskのAPIを叩く必要があったので実装してみました。 以前はrequestsライブラリで直接叩いていましたが、Zenpyというライブラリが使いやすいのでそちらに変更。

github.com

インストール

pip install zenpy

API Credentialsの生成

Zendesk Supportの管理ページから、チャネルカテゴリのAPIへ遷移。 設定タブのアクティブなAPIトークンにあるAPIトークンを追加ボタンをクリックして、新しいAPIを追加します。

チケットに社内コメントを追加

from zenpy import Zenpy
from zenpy.lib.api_objects import Comment, Ticket

credentials = {
    'email': "<Zendeskでのログインアドレス **@**>",
    'token': "<ZendeskのAPIトークン>",
    'subdomain': "<Zendeskのサブドメイン **.zendesk.comの**の文字列>"
    }

zenpy_client = Zenpy(**credentials)

ticket = zenpy_client.tickets(id=<更新対象のZendeskチケットID>)
ticket.comment = (body="<コメント本文>", public=False)  # public=Trueで通常コメント
zenpy_client.tickets.update(ticket)

Zendeskチケットのカスタムフィールドを上書き

from zenpy import Zenpy
from zenpy.lib.api_objects import CustomField, TIcket

credentials = {
    'email': "<Zendeskでのログインアドレス **@**>",
    'token': "<ZendeskのAPIトークン>",
    'subdomain': "<Zendeskのサブドメイン **.zendesk.comの**の文字列>"
    }

zenpy_client = Zenpy(**credentials)

ticket = zenpy_client.tickets(id=<更新対象のZendeskチケットID>)

ticket.custom_fields.append(CustomField(id=<更新対象のカスタムフィールドID>, value=<更新する値>))
zenpy_client.tickets.update(ticket)