パスの {content_type_id} には、コンテンツタイプのID、または、public_uidを指定してください。 例えば、blogというIDのコンテンツタイプ内で使われているタグ一覧を取得する場合、URLは以下のようにになります。
https://api.spearly.com/content_types/blog/contents/summary
Spearly CMSが提供するAPIの使用方法について解説します。
https://api.spearly.com/
APIの実行時にはヘッダーに以下のようなプロジェクトごとのAPIキーとAcceptを追加してリクエストする必要があります。
Authorization: Bearer YOUR_API_KEY Accept: application/vnd.spearly.v2+json
APIキーは管理画面上でご確認いただけるほか、必要に応じて再生成も可能です。
パスの {content_type_id} には、コンテンツタイプのID、または、public_uidを指定してください。 例えば、blogというIDのコンテンツタイプ内で使われているタグ一覧を取得する場合、URLは以下のようにになります。
https://api.spearly.com/content_types/blog/contents/summary
最終更新日:
{content_type_id} には、コンテンツタイプのID、または、public_uidを指定してください。 {content_id} には、取得したいコンテンツのエイリアスを指定してください。
例えば、コンテンツタイプのIDがblogであり、c-content というエイリアスのコンテンツを取得する場合のURLは以下のようになります。https://api.spearly.com/content_types/blog/contents/c-content最終更新日:
対象のコンテンツタイプに属するコンテンツの一覧を取得する際に利用します。
パスの {content_type_id} には、コンテンツタイプのID、または、public_uidを指定してください。 例えば、blogというIDのコンテンツタイプのコンテンツ一覧を取得する場合、URLは以下のようにになります。
https://api.spearly.com/content_types/blog/contents以下のリクエストパラメータを指定できます。いずれも任意のパラメータです。
limitoffsetorder_directionorder_byfilter_by, filter_valuefilter_refrange_fromrange_to最終更新日:
https://analytics.spearly.com/
ABテストを実行しているコンテンツのアクセス分析情報を登録する際に利用します。
このエンドポイントで、インプレッション、ユニークユーザ、セッション、コンバージョンの4つのデータを記録することができます。
送信するパラメータの例です。nameでアクセス情報の種類を指定し、properties配下にコンテンツやパターン、ユーザとセッションを識別するためのIDなどの情報を設定します。
{
"metric": {
"name": "impressions",
"properties": {
"resource_type": "content",
"resource_id": "content-alias",
"pattern_name": "a",
"value": 1,
"distinct_id": "1234",
"session_id": "5678",
"session_id_expires_in": 1800
}
}
}
各パラメータの詳細を以下に説明します。
metric.nameimpression, conversionimpression 、コンバージョンの場合はconversion を指定します。metric.propaties.resource_typecontentcontent を指定してください。metric.propaties.resource_idid、またはpublic_uidを指定します。これらの値はコンテンツ取得のAPIのレスポンスから取得できます。コンテンツエイリアスは使用できませんので、ご注意ください。metric.propaties.pattern_namea, ba またはb を指定してください。metric.propaties.valuemetric.propaties.distinct_iddistinct_id を元に、このアクセスがどのユーザによるものなのかを判断します。 新しいdistinct_id と、metric.name にimpresions が指定されている場合、Spearlyは自動的にユニークユーザカウントに加算します。metric.propaties.session_idsession_id を元に、このアクセスのセッションを判断します。 新しいsession_id と、metric.name にimpresions が指定されている場合、Spearlyは自動的にセッションカウントに加算します。session_idを設定しない場合、Spearlyはセッションの認識をせず、distinct_idを元にしたユニークユーザカウントと同じようにセッションカウントを行います。metric.propaties.session_id_expires_insession_id を保持します。ここで設定された時間を超えた場合、同一のセッションIDを指定しても、そのアクセスは新しいセッションとして処理されます。session_idが使われるように実装する必要があります。後述するdistinct_idとsession_idの生成とCookieへの保存を参考に実装してください。Spearlyのアクセス分析では、ユニークユーザ数、セッション数を記録することができます。アクセスがどのユーザ、どのセッションで行われたものなのかを判別するために、ユーザを識別するためのdistinct_id、セッションを識別するためのsession_idを、アプリケーションやWebサイト側で生成し、適切に保持する実装が必要です。
まず、distinct_idはユーザを識別するために使われるため、一度生成した後は可能な限り同じ値を保持する必要があります。
以下に、WebサイトにおけるCookieを用いたdistinct_idの生成と保持の実装例をご紹介します。
getDistinctId: () => {
const distinctId = document.cookie.replace(/(?:(?:^|.*;\s*)spearly_distinct_id\s*\=\s*([^;]*).*$)|^.*$/, "$1") || window.spearly.util.generateUUIDv4uuidv4();
// Update distinct_id expires (default: 1 year)
const distinctIdExpireDate = (new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)).toUTCString();
document.cookie = `spearly_distinct_id=${distinctId}; expires=${distinctIdExpireDate}; path=/;`;
return distinctId;
}次に、セッションの識別に利用するsession_idについてです。セッションはコンテンツに到達してから、コンテンツを離脱するまでの一連の流れのことを指します。そのため、session_idはdistinct_idとは異なり、生成してからセッションを終了とする時間が経過した後は、保持すべきではありません。
以下に、WebサイトにおけるCookieを用いたsession_idの生成と保持の実装例をご紹介します。
getSessionId: () => {
const sessionExpire = 1800;
const sessionId = document.cookie.replace(/(?:(?:^|.*;\s*)spearly_session_id\s*\=\s*([^;]*).*$)|^.*$/, "$1") || window.spearly.util.generateUUIDv4uuidv4();
// Update session_id expires (default: 30 min)
const sessionexpireDate = (new Date(Date.now() + sessionExpire * 1000)).toUTCString();
document.cookie = `spearly_session_id=${sessionId}; expires=${sessionexpireDate};`;
return sessionId
}最終更新日: