記事検索APIを利用することで、IBISEに登録している記事を検索することができます。
記事検索APIのエンドポイントと、アクセスする際のHTTPメソッドは以下の通りです。URLに記載されている xxxxxx は、利用しているサブドメインに置き換えてください。
指定パラメータ
- 記事を検索する際は、以下の項目をクエリパラメータにて設定することができます。
項目 | キー | 必須/任意 | 型 | デフォルト値 | 説明 |
カテゴリーID | category_id | 任意 | number | null | 該当するカテゴリーID。 |
キーワード | keyword | 任意 | string | null | キーワード検索を行う場合のキーワード指定。 |
タイムゾーン | timezone | 任意 | string | 該当アカウントが選択しているタイムゾーン | 'Asia/Tokyo'などのタイムゾーンを表す文字列。これにより出力の日時のタイムゾーンを指定することができます。マスター文字列については こちら を参照ください。 |
閲覧者タイプ | viewer_type | 任意 | string | 'all_users' | 記事を閲覧するユーザーのタイプを選択できます。現時点では、'all_users'のみ選択可能です。'all_users'を選択の場合、管理者だけが閲覧可能だったり、エージェントのみが閲覧可能の記事情報はヒットしません。 |
ロケール | locale | 任意 | string | 該当アカウントの選択中のロケール | 記事情報を閲覧する際の言語指定。'JAPANESE', 'ENGLISH', 'TRADITIONAL_CHINESE'のいずれかになります。 |
ページ番号 | page | 任意 | number | 1 | 取得するページ番号を指定します。 |
- 検索対象となるのは「公開」ステータスの記事のみとなります。
- カテゴリーIDを指定した時、該当カテゴリ直下の記事、および、該当カテゴリの全ての子カテゴリの直下の記事がヒットします。
- 記事は、ポータルサイトの記事一覧と同様、
優先度の高い順 > IDの小さい順
の順序となります。 - 1ページ当たりの記事件数は、10件となります。
返り値
- 検索の結果情報(result) と、記事の一覧情報 (articles) を JSON形式で返します。
結果情報 (result)
項目 | キー | 型 | 説明 |
総記事数 | total_count | number | 条件に該当する記事総数 |
取得件数 | num_articles | number | 今回取得した記事数 |
現在のページ番号 | current_page | number | 現在のページ番号 |
最終ページ番号 | last_page | number | 最終ページ番号 |
APIバージョン | version | string | APIバージョンを返す。v1なので'1'を返します。 |
記事情報 (articles)
項目 | キー | 型 | 説明 |
記事ID | article_id | number | 記事の識別子 |
カテゴリーID | category_id | number | 記事が所属するカテゴリーのID |
カテゴリー情報 | category | any | 記事が所属するカテゴリー情報。カテゴリー一覧APIが返す項目に従います。 |
記事タイトル | title | string | 記事タイトル(指定localeでの表示) |
記事本文 | body | string | 記事の本文(指定localeでの表示)。markdownをhtml化してさらにhtmlタグを除外したもので、先頭300文字 だけ表示されます。300文字以上ある場合は、末尾に'...'が付きます。 |
URL | url | string | ポータルサイトの記事ページのURLを返します(指定localeでの表示)。ポータルサイト非公開の場合はnullを返します。 |
ロケール | locale | string | 記事のタイトルなどの出力で利用しているロケールを表示。 |
公開日時 | published_at | string | ISO 8601のフォーマットで、指定timezoneで表示。 |
作成日時 | created_at | string | ISO 8601のフォーマットで、指定timezoneで表示。 |
更新日時 | updated_at | string | ISO 8601のフォーマットで、指定timezoneで表示。 |
エラー時の対処
- エラーが発生した場合、エラー種類を HTTP レスポンスのステータスコードに指定して、レスポンスを返します。
- また、補足のエラーメッセージがある場合は、以下のような形式で JSONでエラーメッセージを返します。errors が配列になっていることに注意してください。
例) category_id=aaaa (他のパラメータの場合も同様)
{
errors: [
{
message: 'invalid category_id value. category_id:aaaa'
}
]
}
具体例
リクエスト
https://xxxxxx.ibise.com/api/v1/articles/search
?category_id=11
&status=open
&timezone=Asia/Tokyo
&viwer_type=all_users
&locale=JAPANESE
&page=1
レスポンス
{
result: {
total_count: 8
num_articles: 8
current_page: 1,
last_page: 1,
version: '1'
},
articles: [
{
article_id: 200,
category_id: 11,
category: {
category_id: 11,
name: '運営会社からのお知らせ',
description: '',
url: 'https://faq.ibise.com/ja/categories/11',
parent_category_id: null,
has_child_categories: false,
created_at: '2021-07-01T12:34:56+09:00',
updated_at: '2021-07-02T01:23:45+09:00'
},
title: 'IBiSEお客様限定_8月活用セミナーのお知らせ',
body: '8月19日IBiSE活用セミナーを開催します!オンライン開催になりますのでお気軽にご参加ください!日時:8月19日(木)10:00-11:00内容:①新サポート制度:IBiSEサポートメンバーシップのご案内②特集:夏の宿題!?FAQ文章作成のコツ教えます!③いただいたお問い合わせについてピックアップ解説お申し込みはコチラ:',
url: 'https://faq.ibise.com/ja/articles/199',
locale: 'JAPANESE',
published_at: '2021-07-01T12:34:56+09:00',
created_at: '2021-07-01T12:34:56+09:00',
updated_at: '2021-08-10T09:10:47+09:00'
},
...
]
}