概要ここでは、マーケティングプラットフォームAPIにおける認証の仕組みについて説明します。マーケティングプラットフォームAPIの認証には、APIのための認証と、ユーザ(管理者、リード)のための認証の2種類があります。APIのための認証は、クライアントアプリケーションがマーケティングプラットフォームAPIを利用可能であることを確認するために行います。確認方法として認証トークンの保持確認および検証を行います。ユーザのための認証とは、あるユーザがマーケティングプラットフォームへアクセス可能であることを確認するために行います。確認方法としてユーザ認証APIを利用したユーザID/パスワード認証、認証ユーザトークンの保持確認および検証を行います。認証トークンマーケティングプラットフォームAPIでは、APIコール毎に認証トークンの確認を行います。APIのリクエストには、認証トークンが改ざんされていないことを保証するためのシグネチャ(署名)を付加する必要があります。認証トークンおよびシグネチャにより、認証されたクライアントアプリケーションからのアクセスであることを保証します。認証トークンの利用方法について説明します。エンコードされたデータを使用します。使用するためには、「マーケティングプラットフォームAPIキー」、「パスワード」、「秘密鍵」が必要です。マーケティングプラットフォームAPIキー(図1-1のapi_key)、パスワード(図1-1のpassword)、シグネチャ(図1-1のapi_sig)を付けてAPIコールします。返り値として認証トークン(図1-1のtoken)が返ってきます。RESTで呼び出す際のURLは以下です。https://{domainname}/services/rest/authenticationマーケティングプラットフォームAPIキー、パスワード、シグネチャは、リクエストパラメータに記載します。api_key=[api_key]&password=[password]&api_sig=[api_sig](2)APIコールマーケティングプラットフォームAPIキー、認証トークン、シグネチャに必要な情報を付加してAPIコールします。RESTで認証トークンの取得を呼び出すURLは以下です。すべてのメソッドコールにはシグネチャと呼ばれる署名が必要です。シグネチャの作成方法を以下に記載します。本説明で使用する各値は次の通りとします。すべての引数をパラメータの名前でアルファベット順に並び替えます。並び順どおりにキーとバリューの組を連結します。ハッシュ値を計算します。(3)の結果を16進数表示します。検索条件にOR検索を使用する場合、同じsearch_valueパラメータを連結する必要があります。このとき、valueの値が数値の場合でも、以下のように文字列として並べ替えて結合してください。(※OR検索については「APIコール」に関する節の「検索条件指定パラメータ」の項をご参照ください。visitor.id=7520の検索をする場合、リクエストは以下のようになります。https://sample.smartseminar.jp/services/rest/visitor?search_key1=Id&search_operator1=eq&search_value1=800&search_value1=7520&api_key=55b985f4994bf940b63f6bfb0aec3f70&token=xxxxxxxxx&api_sig=xxxxxこのリクエストのシグネチャ計算の種は以下のようにします。api_key55b985f4994bf940b63f6bfb0aec3f70search_key1Idsearch_operator1eqsearch_value17520800tokenxxxxxxxxこの際、search_value1の箇所は下記が正しくsearch_value17520800下記は誤りになります。search_value18007520シグネチャ計算にパラメータを加えることによるセキュリティ強化APIのセキュリティ強度は、シグネチャの強度に依存します。同じトークン、同じパラメータでシグネチャを作成した場合、シグネチャは毎回同じ値になります。セキュリティの観点から、シグネチャの値を毎回変えるために、可変パラメータを追加することが有効です。実行時の時間をパラメータに追加します。この場合のシグネチャ計算の種は下記になります。ex)api_keyxxxxxtime20100722160045tokenxxxxxまた、リクエストURLに可変パラメータ(この例ではtime)を付加します。マーケティングプラットフォームは未知のパラメータがリクエストされた場合、パラメータ値を無視します。https://sample.smartseminar.jp/services/rest/visitor?api_key=xxxxx&token=xxxxxx&api_sig=xxxxx&time=20100722160045。