OPEN APIの機能

APIコール

OPEN APIのAPIコールは、以下の形式でHTTP GETリクエストを実行してください。

https://{domainname}/{path}?{parameter}

各項目の説明

表 1. 各項目の説明
凡例 内容

{domainname}

お客様のドメイン名(例:sample.smartseminar.jp)です。

{path}

APIへのアクセスURLパスです。

{parameter}

各リソースのデータを絞り込むためのパラメータです。

APIコールのHTTPリクエストサンプル

https://sample.smartseminar.jp/cp/api/resource/visitor?search_key1=Id&search_value1=30&search_operator1=eq

パラメータ

使用できるキーについて

  • 各リソースのJSONに出力される項目はすべて検索キーとソートキーとして使用できます。

  • 多階層に渡るネストされたキーは「.」(ピリオド)で結合して指定してください。

検索条件指定パラメータ

表 2. 検索条件指定パラメータ
パラメータ名 内容

search_key{cid}

検索条件のキーを指定します。

search_operator{cid}

検索条件の比較演算子を指定します。

search_value{cid}

検索条件の値を指定します。

_orkeys

OR検索に指定するキーを指定します。

{検索キー}={検索値}

sk1={検索キー}&sv1={検索値}&so1=eq と同じです。

並び替え・件数・オフセットの指定

表 3. 並び替え・件数・オフセットの指定
パラメータ名 内容

limit

取得する件数を指定します。

order

並び順に使用する検索キーを指定します。

direction

並び順の昇順・降順を指定します。

その他 特殊なパラメータ

表 4. その他 特殊なパラメータ
パラメータ名 内容

callback

JSONP形式での取得を指定するためのパラメータです。

_method

長い検索条件を使用する際に、HTTP POSTで送るために使用します。

サンプル

例1)プライマリーキーを指定してデータをひとつだけ取得する

https://sample.smartseminar.jp/cp/api/resource/visitor/1

例2)リードID(=Id)が1

https://sample.smartseminar.jp/cp/api/resource/visitor?Id=1
https://sample.smartseminar.jp/cp/api/resource/visitor?sk1=Id&so1=eq&sv1=1
https://sample.smartseminar.jp/cp/api/resource/visitor?search_key1=Id&search_operator1=eq&search_value1=1

例3)リードID(=Id)が10以下

https://sample.smartseminar.jp/cp/api/resource/visitor?search_key1=Id&search_operator1=lte&search_value1=10
https://sample.smartseminar.jp/cp/api/resource/visitor?sk1=Id&so1=lte&sv1=10

例4)リードID(=Id)が10以上かつ、20未満

https://sample.smartseminar.jp/cp/api/resource/visitor?sk1=Id&so1=gte&sv1=10&sk2=Id&so2=lt&sv2=20

例5)リードID(=Id)が10 もしくは20

https://sample.smartseminar.jp/cp/api/resource/visitor?sk1=Id&so1=eq&sv1=10&sk2=Id&so2=eq&sv2=20&orkeys=sk1,sk2

例6)名前1(=Name1)がABCを含む

https://sample.smartseminar.jp/cp/api/resource/visitor?sk1=Name1&so1=like&sv1=ABC

例7)名前1(=Name1)がABCで始まる

https://sample.smartseminar.jp/cp/api/resource/visitor?sk1=Name1&so1=like&sv1=ABC%

例8)名前1(=Name1)がABCで終わる

https://sample.smartseminar.jp/cp/api/resource/visitor?sk1=Name1&so1=like&sv1=%ABC

例9)多階層の検索キーを指定する

https://sample.smartseminar.jp/cp/api/resource/visitor?A.B.C=2

以下のように深い階層にある「C」を指定して検索します

  • レスポンスボディJsonサンプル *

[
  {
    "A":{
     "B":{
        "C":2
      }
    }
  }
]

例10)JSONPで取得する

https://sample.smartseminar.jp/cp/api/resource/visitor?callback=TestFunction
  • レスポンスボディJsonサンプル *

TestFunction( [ { "A": { "B": { "C": 1 } } } ] )

利用可能なデータと公開範囲

利用可能なデータと初期設定でのリソース名は以下となります。
※下記リソースの全項目が利用可能です。
※各リソースの設定は、利用用途など確認の上、シャノン担当者側で公開処理を行う必要があります。

表 5. 利用可能なデータ
データ名 リソース名(デフォルト値)

リード情報

visitor

申込情報

visitor/application

キャンペーン申込情報

visitor/application/seminar

サブキャンペーン申込情報

visitor/application/session

申込フロー情報

seminar/flow

キャンペーン情報

seminar

キャンペーン担当者割り当て情報

admin/assignment/seminar

キャンペーン来場履歴情報

visitor/attendance

キャンペーン会場来場履歴情報

visitor/attendance/seminar

サブキャンペーン情報

seminar/session

サブキャンペーン来場履歴情報

visitor/attendance/session

講演者情報

speaker

管理者情報

admin

メール情報

visitor/mail

一斉メール配信情報

mailsender

メールテンプレート情報

mailtemplate

アンケート情報

visitor/enquete

アンケートテンプレート情報

enquetetemplate

アンケート項目情報

enquetetemplate/question

アンケート履歴情報

enquetehistory

活動履歴情報

visitor/activity

資料情報

document

資料ダウンロード履歴情報

visitor/documentdownload

クリックカウントURL情報

clickcounturl

クリックカウント履歴情報

visitor/clickcount

Webトラッキング履歴情報

visitor/trackingaccesslog

Webトラッキングセッション履歴情報

visitor/trackingsession

WebトラッキングURL情報

trackingurl

割引情報

seminar/discount

割引履歴情報

visitor/discounthistory

検索条件情報

searchcondition

リード基本項目設定情報(個別キャンペーン)

visitorsetting

リード基本項目設定情報(全キャンペーン)

visitorsetting_all

キャンペーン項目設定情報

seminaritemsetting

サブキャンペーン項目設定情報

sessionitemsetting

講演者項目設定情報

speakersetting

一括登録情報

bulkapi

公開範囲について

「認証あり(ユーザデータ限定)」または、「認証なし」が選択可能です。

  • 認証あり(認証チェックのみ): リードまたは管理者としてログインしている場合のみデータを取得できます。

  • 認証あり(ユーザーデータ限定): リードまたは管理者としてログインしている場合のみデータを表示でき、表示されるデータはログインしているユーザー自身のものに限定されます。項目はすべて表示されます。

  • 認証なし: 安全が確認されている指定されたリストの項目が誰に対しても表示できる状態です。

各データのフォーマットと項目

  • 各データの表示項目名は、対応するマーケティングプラットフォームAPIの項目名と一致しています。

  • OPEN APIの表示項目は、マーケティングプラットフォームAPI同様、その項目に値がある場合のみ表示されるので、データによってフォーマットが変化する点にご注意ください。

  • 実際のデータフォーマットについては、シャノン担当者より開示される実際のURLの呼び出しをもって確認してください。

以下にデータのフォーマットと項目のサンプルを示します。
※括弧内はリソース名です。

サンプル:リード(visitor)

レスポンスボディJsonサンプル

{
Division: "システムグループ",
UserId: "18",
RegistrationType:
{
RegistrationTypeName: "本登録",
RegistrationTypeId: "1"
},
DateRegist: "2006-04-24T19:13:43+09:00",
Attribute173: "18",
Email: "sample@shanon.co.jp",
Position: "サブマネージャ",
EmailSendErrorCount: "0",
Prefecture:
{
PrefectureName: "東京都",
PrefectureId: "10"
},
InspectionType:
{
InspectionTypeName: "OK",
InspectionTypeId: "1"
},
SubEmailSendErrorCount: "0",
SubEmailValid:
{
SubEmailValidId: "1",
SubEmailValidName: "有効"
},
Membership:
{
MembershipName: "使用する",
MembershipId: "1"
},
Address1: "港区XXXXX",
DateUpdate: "2014-09-01T17:11:39+09:00",
Zip1: "999",
Name1: "サンプル姓",
CompanyName: "Sample株式会社",
EmailValid:
{
EmailValidId: "1",
EmailValidName: "有効"
},
EmailValidDateUpdate: "2013-11-19T15:18:42+09:00",
CompanyNameKa: "サンプルテクノロジー",
Name2: "サンプル名",
Attribute172: "754",
Id: 15,
PermissionType:
{
PermissionTypeName: "希望する",
PermissionTypeId: "1"
},
Language:
{
LanguageName: "日本語",
LanguageId: "1"
},
Attribute1List:
{
Attribute1:
{
       Attribute1Name: "同意する",
      Attribute1Id: "1"
}
},
UnsubscribeStatus: "0",
Zip2: "0099",
Country:
{
CountryName: "",
CountryId: "1"
},
Tel: "03-1234-9999",
LoginId: "abcd"
},

データの同期時間について

OPEN APIは、SMPのデータを一定時間おきに同期しています。そのため、SMPのデータを更新してからOPEN APIデータに反映されるようになるまで、しばらく時間がかかることがあります。
リアルタイムなデータ取得、通知やデモには向かないことに留意してください。

以下が同期間隔と同期時間の目安になります。
※あくまで目安であり、記載されている時間での同期を保証するものではないことにご注意ください。

表 6. データの同期時間
データ項目 追加、更新データ同期間隔(差分同期)(※1)** 削除データ同期間隔(全同期)(※2)** 全同期の目安時間(※3)**

リード(属性情報)

15分おき

12時間おき

400,000件:

キャンペーン申込情報

15分おき

なし

100,000件:

サブキャンペーン申込情報

15分おき

なし

100,000件:

割引コード

15分おき

12時間おき

300,000件:

アンケート

アンケート情報: 15分おき

アンケート情報: 12時間おき

250,000件:

活動履歴

15分おき

12時間おき

200,000件:

キャンペーン来場

15分おき

12時間おき

1,000件:

サブキャンペーン来場

15分おき

12時間おき

7,000件:

資料ダウンロード

資料情報: 15分おき

資料情報: 12時間おき

100件:

メール送信履歴

一斉メール配信: 15分おき

一斉メール配信: 12時間おき

1,200,000件:

トラッキング

アクセスログ:15分

アクセスログ:なし

1,200,000件:

クリックカウント履歴

URL情報:15分おき

URL情報:なし

50,000件:

管理者(メール通知に利用)

なし

1時間おき

100件:

キャンペーン担当者(メール通知に利用)

なし

1時間おき

100件:

※1)初回は全データを同期、それ以降は変更のあったものだけを更新する(差分同期)、その実行間隔です。
例えば、リードだと、初回は400,000件同期しますが、以降は15分おきに変更のあったリードを数件のみ更新するといった処理です。

※2)削除データやトラッキングセッションのような差分更新できないデータは初回と同様の全データ同期を行う必要があり、その実行間隔です。リードの場合、削除データは12時間ごとに同期されます。

※3)全データ同期にかかる目安の時間です。申込などの総数が多い、またはSMPのレスポンスが遅いデータには長時間かかる場合があります。通常は差分更新なので、毎回この時間がかかるわけではありません。

JavaScript SDK

OPEN APIを簡単にJavaScriptから呼べるようにするために、JavaScriptの関数からなる開発ツール=SDKが用意されています。
利用者はこのSDKを使うことで、データの取得やエラーハンドリングを容易に行うことができます。

※当SDKは、OPEN APIの利用利便性や品質にのみ責任を負うものであり、利用者の使い方の不備によるデータの予期せぬ公開などには責任を負いません。

SDKの読込み

以下のスクリプトタグをHTMLのhead部分に貼り付けます。
注意点として、JQueryの読込み後に、SDKが読込まれるようにしてください。

<script type=”text/javascript” src=”__base_path__/shared/js/jquery.min.js”></script>

SDKの関数呼出し

windowオブジェクトに生成されるCPGadgetObjctからSDKの各関数を呼出します。

window.CPGadgetObject.関数名(パラメータ);
==== 各SDK関数とその用途
  • データ取得関数

    • getData関数

検索条件をJSON形式で指定し、引数で指定したcallback関数に取得したデータを返します。

  • getDataWithJSONP関数

検索条件をJSON形式で指定し、引数で指定したcallback関数に取得したデータを返します。

表 7. getDataWithJSONP関数のパラメータ
パラメータ名 内容 サンプル

第一引数:resource

取得対象のリソース名

visitor

第二引数:wheres

検索条件を指定したJSON

{VisitorId: “1”}

第三引数:callback

データ取得完了時にコールバックされる関数。

function( err, result ) {…}

<サンプル>

window.CPGadgetObject.getData(resource_name, where, function(err, result) {
    if( err ) {
        console.log( err );
    } else {
        for(var i = 0; I < result.length; i++) {
            …
        }
    }
}) ;
  • データ取得関数のデータ絞り込みパラメータについて ( 第二引数:wheres ) データ取得関数で使用する第二引数・検索条件のパラメータについては、通常のHTTP GETリクエストと同様です。
    パラメータの項を参照してください。

  • 認証関数

マーケティングプラットフォームのユーザ認証状態の確認・認証を行います。

  • checkLoginMP関数

マーケティングプラットフォームのユーザ認証済みか確認します。

  • checkLoginMPAdmin関数

マーケティングプラットフォームのユーザ認証を管理者としてクリアしているか確認します。

  • checkLoginMPVisitor関数

マーケティングプラットフォームのユーザ認証を申込者としてクリアしているか確認します。

表 8. checkLoginMPVisitor関数のパラメータ
メータ名 内容 サンプル

第一引数:callback

データ取得完了時にコールバックされる関数です

function( err, result ) {…}

認証済みの時の戻り値

以下のデータがコールバック関数の第二引数に返却されます。

{“status”: “ok”, “UserDataId”: “1”, “UserId”: “1”, “UserTypeId”: “1”}

認証していない時の戻り値

以下のデータがコールバック関数の第二引数に返却されます。

{“status”: “ng”}

エラー時の戻り値

コールバック関数の第一引数に何らかの内容が返却されます。

<サンプル>

window.CPGadgetObject.checkLoginMP(function(err, result) {
    if( err ) {
        console.log( err );
    } else {
        …
    }
}) ;
  • バックグラウンド認証関数

    • doLoginBackgroundMP関数 ユーザからは見えないバックグラウンド(隠しiframe)にてマーケティングプラットフォーム認証を行います。すでにマーケティングプラットフォームにログインしていない場合は認証に失敗します。

    • doLoginBackgroundeMPAdmin関数 ユーザからは見えないバックグラウンド(隠しiframe)にて管理者としてマーケティングプラットフォーム認証を行います。

    • doLoginBackgroundeMPVisitor関数 ユーザからは見えないバックグラウンド(隠しiframe)にて申込者としてマーケティングプラットフォーム認証を行います。

表 9. doLoginBackgroundeMPVisitor関数のパラメータ
パラメータ名 内容 サンプル

第一引数:callback

データ取得完了時にコールバックされる関数です

function( err, result ) {…}

成功時の戻り値
callback関数の第二引数に、checkLoginMPの結果が返却されます。

失敗時の戻り値
callback関数の第一引数に、何らかの内容が返却されます。

<サンプル>

window.CPGadgetObject.js_sender_url = “https://任意ドメイン/js_sender.html”;
  • ポップアップ認証関数

    • doLoginPopupMP関数 ポップアップウインドウにてマーケティングプラットフォーム認証を行います。MP認証がされていない場合はポップアップウインドウ中にマーケティングプラットフォームのログイン画面を表示します。また認証完了時に第一引数のURLをポップアップウインドウ中に表示します。

    • doLoginPopupAdmin関数 ポップアップウインドウにて管理者としてマーケティングプラットフォーム認証を行います。

    • doLoginPopupVisitor関数 ポップアップウインドウにて申込者としてマーケティングプラットフォーム認証を行います。

表 10. doLoginPopupVisitor関数のパラメータ
パラメータ名 内容 サンプル

第一引数:return_path

認証完了時に表示するURL

https://任意ドメイン/auth_complete.html

第二引数:options

ポップアップウィンドウの表示制御用の引数

{width: 640, height: 480, left: 100, right: 100, title: “Login to MP”}

<サンプル>

window.CPGadgetObject.doLoginPopup(“https://任意ドメイン/auth_complete.html”, {width: 640, height: 480});
  • 画面遷移認証関数

    • doLoginTransitionMP関数 画面を遷移してマーケティングプラットフォーム認証を行います。マーケティングプラットフォーム認証がされていない場合はMPのログイン画面を表示します。また、認証完了時に呼出し時のページに戻ってきます。

    • doLoginTransitionMPAdmin関数 画面を遷移をして管理者としてマーケティングプラットフォーム認証を行います。

    • doLobinTransitionMPVisitor関数 画面を遷移して申込者としてマーケティングプラットフォーム認証を行います。

<サンプル>

window.CPGadgetObjectdoLoginTransitionMP();

検索結果 ""

    検索結果がありません ""