コンテンツにスキップ

karteApiClientForCraftTypeApp

karteApiClientForCraftTypeAppAPI v2のcraftタイプのアプリを使ってKARTEのAPI v2を実行するためのクライアントライブラリです。

API v2のcraftタイプのアプリは、Craft Functionsから karteApiClientForCraftTypeApp モジュールを通じてリクエストした場合にのみ正常に応答します。このモジュールとcraftタイプのアプリを組み合わせることで、Craft Functions上でのみAPIトークンを有効に できます。

このモジュールはAPI ReferenceのNode.js EXAMPLESで使用されているapiモジュールのラッパーとして機能します。

API v2の認証がトークンのみで十分な場合は、通常のAPI v2の利用方法と同様に、tokenタイプのアプリを作成し、Node.jsのfetch APIやapiモジュールを使って実行することをおすすめします。(参考: KARTE のサーバーサイド API (API v2) の利用

使い方

使い方は次の通りです。

karteApiClientForCraftTypeApp() でクライアントを取得します。 karteApiClientForCraftTypeApp() の引数は次のとおりです。

karteApiClientForCraftTypeApp({
token: '{{ ACCESS_TOKEN }}',
specUri: '@dev-karte/v1.0#xxxxxxxxxx'
})

token にはAPI v2 Appのアクセストークンを指定します。 specUri にはリファレンスのNode.js Exampleにある require('api') の引数 (@dev-karte/v1.0# から始まる文字列) を指定します。

以下はINSIGHT APIクライアントを作成するコードの例です。

// ACCESS_TOKEN には API v2 Appのアクセストークンを指定します。
const token = 'ACCESS_TOKEN';
// INSIGHTのclientを作成します。
// 最新のspecUriはAPI v2のリファレンスを参照してください。
const insight = karteApiClientForCraftTypeApp({
token,
specUri: '@dev-karte/v1.0#3htrzx1mlidx35yh',
});

Example

/v2/talk/message/get APIを呼び出して、TALKのメッセージをログに出力します。

export default async function (data, {MODULES}) {
const {initLogger, karteApiClientForCraftTypeApp} = MODULES;
const logger = initLogger({ logLevel: 'DEBUG' })
// {{ ACCESS_TOKEN }} にAppのトークンを入れる
// トークンを取り回す際はSecret Managerの利用を推奨します。
const talk = karteApiClientForCraftTypeApp({
token : '{{ACCESS_TOKEN}}',
specUri: '@dev-karte/v1.0#d9ni28lia2r0hf'
});
try {
const res = await talk.postV2TalkMessageGet(
{options: {limit: 1},
user_id: 'visitor_id_hogehoge'
});
logger.log(res);
} catch (e) {
logger.error(e);
}
}

APIリファレンス

リファレンス