あるヘルプセンターから別のヘルプセンターへコンテンツの移行には複数の選択肢があります。この記事では、主にヘルプセンターAPIを使用したコンテンツのプログラムによるインポートに焦点を当て、既存のコンテンツを新しいヘルプセンターのナレッジベースやコミュニティへ移行するプロセスの概要を説明します。また、以下の方法でコンテンツを移行することも可能です。
- コピー&貼り付け - いくつかの記事だけを移行する場合、最も手軽で簡単な方法は、以前のヘルプセンターのコンテンツをコピーし、新しいGuide記事に貼り付けることです。
- プロフェッショナルサービス - 大規模な移行や複雑な移行を行う場合、Zendeskに依頼することができます。
- パートナーアプリ - Zendeskアプリケマーケットプレイスで、Help Desk Migrationなどのパートナーアプリを探すことができます。
この記事では、以下のトピックについて説明します。
コンテンツをナレッジベースへ移行する
外部システムからヘルプセンターへコンテンツを移行するには、各ステップのデータが次のステップで必要となる複数のステップを経るプロセスが必要です。
計画は極めて重要です。旧バージョンのコンテンツの構造をヘルプセンターの3層構造に対応させる必要があります。
記事の作成者をZendeskユーザーとしてインポートする
まず、すべての記事の作成者を「エージェント」のロールを持つZendeskユーザーとしてインポートする必要があります。(「Zendesk Supportのユーザーロールの概要」を参照)
ZendeskユーザーをAPI経由で作成できます(「Create user」を参照)。各POSTリクエストで role
属性を "agent" に設定します。
{
"user": {
"id": 9873843,
"name": "Roger Wilco",
...
}
}
ヘルプセンターで作成する各記事の author_id
属性を設定するためにIDが必要になるので、各ユーザーのIDは記録しておいてください。
ユーザーセグメントに組織を使用してセクションを分離する場合は、ユーザーを作成する前に組織を作成する必要があります。その後、ユーザーを作成するときにユーザーに組織IDを割り当てることができます(「Create organization」を参照)。ユーザーが複数の組織に所属している場合は、組織のメンバーシップを使用して、ユーザーレコードに組織を追加します。
ナレッジベース内にカテゴリを作成する
{
"category": {
"id": 37486578,
"name": "Super Hero Tricks",
"description": "This category contains a collection of Super Hero tricks",
"locale": "en-us",
"position": 2,
...
}
}
各カテゴリのIDを記録しておきます。後でセクションを作成するときに、特定のカテゴリにセクションを割り当てるためにカテゴリIDが必要になるからです。
ユーザーセグメントを作成する(オプション)
ヘルプセンターの特定のセクションへのアクセスを制限したい場合は、セクションにユーザーセグメントを割り当てることができます(「Create user segment」を参照)。
{
"user_segment": {
"id": 7284
"name": "VIP agents",
"user_type": "staff",
"group_ids": [12, ...],
"organization_ids": [42, ...],
"tags": ["vip"],
"created_at": "2017-05-21T20:01:12Z",
"updated_at": "2017-05-21T20:01:12Z",
"built_in": false
}
}
各ユーザーセグメントのIDを記録しておきます。後でセクションを作成するときに、セクションにアクセス制限を割り当てるためにセグメントIDが必要になるからです。
カテゴリ内にセクションを作成する
category_id
と user_segment_id
(ある場合)を各POSTリクエストで設定していることを確認してください。Zendeskは、新しいセクションIDを含むJSON応答を返します。{
"section": {
"id": 3457836,
"name": "Avionics",
"description": "This section contains articles on flight instruments",
"locale": "en-us",
"category_id": 3465,
...
}
}
各セクションのIDを記録しておきます。後で記事を作成するときに、特定のセクションに記事を割り当てるためにセクションIDが必要になるからです。
セクション内に記事を作成する
title
と body
に加えて、author_id
と section_id
を各POSTリクエストに確実に設定します。{
"article": {
"id": 37486578,
"author_id": 3465,
"promoted": false,
"position": 42,
"comments_disabled": true,
"section_id": 98838,
...
}
}
添付ファイルをアップロードする(必要な場合)
記事内にAmazon S3などのパブリックファイルサーバーにホストされていないインライン画像がある場合は、ヘルプセンターに画像をアップロードします(「Create unassociated attachment」を参照)。inline
パラメータを true
に設定していることを確認します。
content_url
)を含む以下のようなJSON応答を返します。{
"article_attachment": {
"id": 1428,
"article_id": null,
"file_name": "icon.jpg",
"content_url": "https://company.zendesk.com/hc/article_attachments/1428/icon.jpg",
"content_type": "application/image",
"size": 58298,
"inline": true
}
}
content_url
を使って、記事のHTML内の画像URLを更新します(「Associate attachments in bulk to article」を参照)。
記事のコメントをインポートする
コンテンツをコミュニティへ移行する
コミュニティコンテンツのインポートには、ナレッジベースのインポートと同じ注意事項が多くあります。投稿に作成者を割り当てるには、ユーザーのインポートが必要です。また、旧バージョンのコミュニティコンテンツの構造を、ヘルプセンターコミュニティの2層構造に対応させる必要があります。
ユーザーセグメントを作成する(オプション)
特定のトピックへのアクセスを制限したい場合は、ユーザーセグメントIDが必要です(「Create user segment」を参照)。後でトピックを作成する際、トピックにアクセス制限を割り当てるためにユーザーセグメントIDが必要になります。
コミュニティ内にトピックをインポートする
該当する場合は、POSTリクエストに user_segment_id
を必ず設定します(「Create topic」トピックを参照)。
Zendeskは、トピックIDを含むJSON応答を返します。
{
"topic": {
"id": 115000553548,
"name": "Help Center-Tricks",
...
}
}
各トピックのIDを記録しておきます。後で記事を作成するときに、特定のトピックに投稿を割り当てるためにトピックIDが必要になるからです。
トピック内に投稿をインポートする
title
と details
に加えて、author_id
と topic_id
を各POSTリクエストに確実に設定します(「Create post」を参照)。
ナレッジベース記事とは異なり、コミュニティ投稿の作成者はエージェントでもエンドユーザーでもかまいません。
投稿を作成すると、その作成者は自動的にそのトピックのすべての更新を受信登録し、新しい投稿が作成または更新されると通知を受け取ります。
投稿が作成されると、同じトピックの受信登録者全員にメール通知が届きます。投稿の一括インポート時に受信登録者に通知が大量に届くのを防ぐには、POSTリクエストに false
値として notify_subscribers
パラメータを含めます。
{
"post": {
"id": 35467,
"author_id": 89567,
"title": "Help!",
"details": "My printer is on fire!",
"notify_subscribers": false,
...
}
}
投稿内にコメントをインポートする
投稿を作成し、そのIDを取得したら、関連するコメントを追加することができます(「Create comment」を参照)。
一度に作成できるコメントは1つだけです。投稿コメントを作成すると、その作成者は自動的にそのトピックの更新を受信登録し、新しい投稿が作成または更新されると通知を受け取ります。
コメントが作成されると、同じトピックの受信登録者全員にメール通知が届きます。受信登録者に通知が大量に届くのを防ぐには、POSTリクエストに false
値として notify_subscribers
パラメータを含めます。
0件のコメント