Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Zenlab - API Night

350 Aufrufe

Veröffentlicht am

https://zenlab.connpass.com/event/89456/

Veröffentlicht in: Ingenieurwesen
  • Als Erste(r) kommentieren

Zenlab - API Night

  1. 1. Zendesk Help Center APIで Zendesk GuideのArticleの一覧性改善 髙橋達 Treasure Data, Inc. Zenlab vol.4 API Night 2018-06-18
  2. 2. Who AM I ? プロフィール - 髙橋 達 (Takahashi Toru) - Treasure Data, Inc. - Support Engineering Manager - Twitter: @nora96o - Github: toru-takahashi - Blog: http://blog.torut.tokyo/ Treasure Data Technical Support Team - JP 3 / US 1 / Korea 1 / Uganda 1
  3. 3. Zendesk Guideを使ってますか?
  4. 4. もしかして、デフォルトのデザインのまま?
  5. 5. 「Articles in this section」のコレジャナイ感
  6. 6. ドキュメントで大事なことの一つ ref. https://readme.readme.io/docs/
  7. 7. ドキュメントで大事なことの一つ → 全体の中で自分がどこにいるのかを簡単に把握できること ref. https://readme.readme.io/docs/
  8. 8. Zendesk Guide上で実現したいこと Category → Section → Article の一覧メニューを出したい
  9. 9. Zendesk Guideのレイアウトを変更する - APIを考える前に、Help Center Templatesで実現可能かを確認 - https://developer.zendesk.com/apps/docs/help-center-templates/introduction 例: <div class="article-body"> {{article.body}} </div>
  10. 10. が、全Category/Section/Articleは出してくれる、 そんなTemplate機能なんてものはなかった。。。
  11. 11. Zendesk Help Center APIでできそう https://developer.zendesk.com/rest_api/docs/help_center/introduction
  12. 12. Zendesk Guideのscript.js / .hbsに埋め込むことで ページ表示時にJavascriptの実行が可能
  13. 13. Zendesk Help Center APIを使って Category → Section → Article の一覧メニューが出せる! Ref. Zendesk Guideでカテゴリ内のArticle一覧を左メニューに出力するようにカスタマイズする
  14. 14. Zendesk Guide上で Zendesk Help Center APIを使った時に困ったこと
  15. 15. 現在のCategory/Section/ArticleのIDを取得したい 問題 - URLをパースして取得すると、Article IDしかわからない。 - Category / SectionのID / 名前 / URL の三つを取得するには、 API実行が必要 対応 - page_pathのlinkを参照することで現在のcategory / section / articleを取得可能
  16. 16. Help Center APIで毎回全一覧取得をすると時間がかかる 問題 - Category / Section / Articleが増えた時に全一覧取得にそこそこ時間がかかる 対策 - レスポンスのキャッシュ化対応が有効 - ユーザの訪問の滞在時間を考慮してキャッシュ生存期間を考える 対応 - jQueryのajaxのレスポンスをlocalstorageにキャッシュするライブラリを利用 - https://github.com/SaneMethod/jquery-ajax-localstorage-cache
  17. 17. SectionがDraftかどうかの判別つかない 問題 - Draft機能でSectionなどの非表示ができる。しかし、HelpCenter APIのSections APIにはdraftのパラメータがない… - Ref. https://developer.zendesk.com/rest_api/docs/help_center/sections 対応 - ?include=translationsをつけることでTranslationのAPIレスポンスを付与させること でdraftの取得が可能 - Ref. How can I distinguish categories in draft mode with the API?
  18. 18. Zendesk Guideの権限周りが色々ややこしい 問題 - Anonymous / Signed-in User / Permissionなどの考慮をCategory / Section で考える必要がある - AnonymousでもZendesk Guide内のJSでは、Admin権限でデータを取得 してくるので、見せるべきではないコンテンツのタイトルを見せることができ てしまう 対応 - 現状は、権限を考慮せず、Anonymousで見える範囲だけを一覧表示 - 本当はユーザ毎に考慮したいが、ロジックを考えるのが大変なので…
  19. 19. まとめ - Zendesk Help Center Templatesの範囲外でZendesk Help Centerのデザイン拡 張をしようとすると、茨の道感があるので覚悟が必要です。 - Zendesk Guideの機能拡充をまってます

×