メインコンテンツへスキップ

OPENAPIの機能

OPENAPIの機能
OPENAPIの機能APIコールパラメータ利用可能なデータと公開範囲各データのフォーマットと項目データの同期時間についてJavaScriptSDKAPIコールOPENAPIのAPIコールは、以下の形式でHTTPGETリクエストを実行してください。https://{domainname}/{path}?{parameter}各項目の詳細は、次の通りです。凡例内容{domainname}お客様のドメイン名(例:sample.smartseminar.jp)です。{path}APIへのアクセスURLパス(例:cp/api/resource/visitor)です。{parameter}各リソースのデータを絞り込むためのパラメータ(例:search_key1=Id&search_value1=30&search_operator1=eq)です。パラメータの詳細は、次の「パラメータ」をご参照ください。例:APIコールのHTTPリクエストサンプルパラメータ使用できるキーについて各リソースのJSONに出力される項目はすべて検索キーとソートキーとして使用できます。多階層に渡るネストされたキーは「.」(ピリオド)で結合して指定してください。検索条件指定パラメータ検索条件指定パラメータの詳細は、次のとおりです。パラメータ名内容search_key{cid}検索条件のキーを指定します。sk{cid}と略記可能です。search_operator{cid}検索条件の比較演算子を指定します。so{cid}と略記可能です。search_value{cid}検索条件の値を指定します。sv{cid}と略記可能です。_orkeysOR検索に指定するキーを指定します。{検索キー}={検索値}sk1={検索キー}&sv1={検索値}&so1=eqと同じです。検索条件の比較演算子として指定可能な文字列と意味は以下の通りです。文字列型項目(日付・日時以外)指定文字列意味eq検索条件の値に指定した文字列に完全一致する。ne検索条件の値に指定した文字列に完全一致しない。like検索条件の値に指定した文字列に部分一致する。文字列型項目(日付・日時)指定文字列意味eq検索条件の値に指定した日時・日付と等しい。ne検索条件の値に指定した日時・日付と等しくない。lt検索条件の値に指定した日時・日付より前。lte検索条件の値に指定した日時・日付より前、あるいは等しい。gt検索条件の値に指定した日時・日付より後。gt検索条件の値に指定した日時・日付より後、あるいは等しい。数値型項目指定文字列意味eq検索条件の値に指定した数値と等しい。ne検索条件の値に指定した数値と等しくない。lt検索条件の値に指定した数値より小さい。lte検索条件の値に指定した数値より小さい、あるいは等しい。gt検索条件の値に指定した数値より大きい。gt検索条件の値に指定した数値より大きい、あるいは等しい。配列型項目についてチェックボックスなどの配列型の項目については、文字列型項目、数値型項目ともに、eq,neのみ利用できます。lt,lte,gt,gte,likeには非対応です。並び替え・件数・オフセットの指定並び替え・件数・オフセットの指定の詳細は、次のとおりです。パラメータ名内容limit取得する件数を指定します。order並び順に使用する検索キーを指定します。direction並び順の昇順・降順を指定します。ascあるいはdescを指定可能です。その他特殊なパラメータその他特殊なパラメータについては、次のとおりです。パラメータ名内容callbackJSONP形式での取得を指定するためのパラメータです。_method長い検索条件を使用する際に、HTTPPOSTで送るために使用します。サンプル例1:プライマリーキーを指定してデータをひとつだけ取得する例2:リードID(=Id)が1例3:リードID(=Id)が10以下例4:リードID(=Id)が10以上かつ、20未満例5:リードID(=Id)が10もしくは20例6:名前1(=Name1)がABCを含む例7:名前1(=Name1)がABCで始まる例8:名前1(=Name1)がABCで終わる例9:多階層の検索キーを指定する次のように深い階層にある「C」を指定して検索しますレスポンスボディJsonサンプル[{A:{B:{C:2}}}]例10:JSONPで取得するレスポンスボディJsonサンプルTestFunction([{A:{B:{C:1}}}])利用可能なデータと公開範囲各リソースの設定は、利用用途など確認の上、シャノン担当者側で公開処理を行う必要があります。利用可能なデータと初期設定でのリソース名は、次のとおりです。データ名リソース名(デフォルト値)リード情報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/clickcountWebトラッキング履歴情報visitor/trackingaccesslogWebトラッキングセッション履歴情報visitor/trackingsessionWebトラッキングURL情報trackingurl割引情報seminar/discount割引履歴情報visitor/discounthistory検索条件情報searchconditionリード基本項目設定情報(個別キャンペーン)visitorsettingリード基本項目設定情報(全キャンペーン)visitorsetting_allキャンペーン項目設定情報seminaritemsettingサブキャンペーン項目設定情報sessionitemsetting講演者項目設定情報speakersetting一括登録情報bulkapi公開範囲について「認証あり(ユーザデータ限定)」または「認証なし」が選択可能です。認証あり(認証チェックのみ): リードまたは管理者としてログインしている場合のみデータを取得できます。認証あり(ユーザーデータ限定): リードまたは管理者としてログインしている場合のみデータを表示でき、表示されるデータはログインしているユーザー自身のものに限定されます。項目はすべて表示されます。認証なし: 安全が確認されている指定されたリストの項目が誰に対しても表示できる状態です。リソース名についてリソース名には、半角英数字、アンダースコア(_)、スラッシュ(/)を用いた任意の文字を設定可能です。リソース名の設定についてはシャノン担当者までご相談ください。各データのフォーマットと項目各データのフォーマットと項目については、次のとおりです。各データの表示項目名は、対応するマーケティングプラットフォームAPIの項目名と一致しています。OPENAPIの表示項目は、マーケティングプラットフォーム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},データの同期時間についてOPENAPIは、SMPのデータを一定時間おきに同期しています。そのため、SMPのデータを更新してからOPENAPIデータに反映されるようになるまで、しばらく時間がかかることがあります。補足リアルタイムなデータ取得、通知やデモには向かないことに留意してください。また、次の表は、あくまで目安であり記載されている時間での同期を保証するものではないことにご注意ください。同期間隔と同期時間の目安は、次のとおりです。データ項目追加、更新データ同期間隔(差分同期)※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のレスポンスが遅いデータには長時間かかる場合があります。通常は差分更新なので、毎回この時間がかかるわけではありません。注意・データ同期はシステムの込み具合によっては想定より遅れることがあります。・データ同期を任意のタイミング、間隔に設定することはできません。JavaScriptSDKOPENAPIを簡単にJavaScriptから呼べるようにするために、JavaScriptの関数からなる開発ツール=SDKが用意されています。利用者はこのSDKを使うことで、データの取得やエラーハンドリングを容易に行うことができます。注意当SDKは、OPENAPIの利用利便性や品質にのみ責任を負うものであり、利用者の使い方の不備によるデータの予期せぬ公開などには責任を負いません。SDKの読込み次のスクリプトタグをHTMLのhead部分に貼り付けます。注意点として、JQueryの読込み後に、SDKが読込まれるようにしてください。SDKの関数呼出しwindowオブジェクトに生成されるCPGadgetObjctからSDKの各関数を呼出します。window.CPGadgetObject.関数名(パラメータ);各SDK関数とその用途データ取得関数getData関数検索条件をJSON形式で指定し、引数で指定したcallback関数に取得したデータを返します。getDataWithJSONP関数検索条件をJSON形式で指定し、引数で指定したcallback関数に取得したデータを返します。パラメータ名内容サンプル第一引数: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(vari=0;Iresult.length;i++){…}}});データ取得関数のデータ絞り込みパラメータについて(第二引数:wheres)データ取得関数で使用する第二引数・検索条件のパラメータについては、通常のHTTPGETリクエストと同様です。パラメータの項を参照してください。認証関数マーケティングプラットフォームのユーザ認証状態の確認・認証を行います。checkLoginMP関数マーケティングプラットフォームのユーザ認証済みか確認します。checkLoginMPAdmin関数マーケティングプラットフォームのユーザ認証を管理者としてクリアしているか確認します。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)にてマーケティングプラットフォーム認証を行います。すでにマーケティングプラットフォームにログインしていない場合は認証に失敗します。doLoginBackgroundMPAdmin関数ユーザからは見えないバックグラウンド(隠しiframe)にて管理者としてマーケティングプラットフォーム認証を行います。doLoginBackgroundMPVisitor関数ユーザからは見えないバックグラウンド(隠しiframe)にて申込者としてマーケティングプラットフォーム認証を行います。パラメータ名内容サンプル第一引数:callbackデータ取得完了時にコールバックされる関数ですfunction(err,result){…}成功時の戻り値callback関数の第二引数に、checkLoginMPの結果が返却されます。失敗時の戻り値callback関数の第一引数に、何らかの内容が返却されます。<サンプル>window.CPGadgetObject.js_sender_url=“https://任意ドメイン/js_sender.html”;注意・バックグラウンド認証関数は、bodyタグの中に記述してください。ポップアップ認証関数doLoginPopupMP関数ポップアップウインドウにてマーケティングプラットフォーム認証を行います。MP認証がされていない場合はポップアップウインドウ中にマーケティングプラットフォームのログイン画面を表示します。また認証完了時に第一引数のURLをポップアップウインドウ中に表示します。doLoginPopupAdmin関数ポップアップウインドウにて管理者としてマーケティングプラットフォーム認証を行います。doLoginPopupVisitor関数ポップアップウインドウにて申込者としてマーケティングプラットフォーム認証を行います。パラメータ名内容サンプル第一引数:return_path認証完了時に表示するURLhttps://任意ドメイン/auth_complete.html第二引数:optionsポップアップウィンドウの表示制御用の引数{width:640,height:480,left:100,right:100,title:“LogintoMP”}<サンプル>window.CPGadgetObject.doLoginPopup(“https://任意ドメイン/auth_complete.html”,{width:640,height:480});画面遷移認証関数doLoginTransitionMP関数画面を遷移してマーケティングプラットフォーム認証を行います。マーケティングプラットフォーム認証がされていない場合はMPのログイン画面を表示します。また、認証完了時に呼出し時のページに戻ってきます。doLoginTransitionMPAdmin関数画面を遷移をして管理者としてマーケティングプラットフォーム認証を行います。doLobinTransitionMPVisitor関数画面を遷移して申込者としてマーケティングプラットフォーム認証を行います。<サンプル>window.CPGadgetObjectdoLoginTransitionMP();
https://smpdoc.shanon.co.jp/ja/cooperation/openapi/chapter002/