O-MOTION サーバーAPI (2024.06)

O-MOTION APIとは

O-MOTIONと加盟店システムを連携するためのサーバーAPIです。
下記5種類のAPIを用意しています。

  • ユーザー審査取得API
    • ログイン単位でユーザーの審査結果を取得いただけます。
  • ユーザー審査一覧取得API
    • ユーザーの審査結果の一覧を最新または任意の審査より前のものから最大20件取得いただけます。
  • ユーザー審査フィードバック更新API
    • ユーザーの審査に対してフィードバックをいただけます。
  • ユーザー審査ログイン成功更新API
    • ユーザーの審査に対してログイン成功の更新をいただけます。
  • 端末一覧取得API
    • 端末情報を最新のものから最大20件取得いただけます。

シーケンス例

O-MOTION をログインと同期して使用する場合のフロー

ログインでO-MOTIONのサーバーAPIと加盟店の追加認証を組み合わせることで不正ログインを防止します。

O-MOTION をログイン処理と非同期で使用する場合のフロー

ECサイト注文画面の本人確認等、審査と加盟店の追加認証のタイミングが異なる場合も活用可能です。

審査

ユーザーの審査結果

ユーザー審査取得API

ログイン単位での審査結果を取得できるAPIです。
ログイン制御にO-MOTIONを利用する際に使用します。

path Parameters
authori_id
required
string

加盟店サーバーにてCookieから取得したauthori_idをご指定ください。

header Parameters
X-Omotion-Signature
required
string

弊社から発行する、加盟店様を認可する32桁の署名です。

X-Omotion-Useridhashed
required
string

加盟店ユーザーを識別します。
加盟店で管理するユーザーIDをSHA-256でハッシュ化してご送信ください。
ハッシュ時にソルト値を加盟店様ごとに定義しておりますので別途ご案内いたします。

Responses

Response samples

Content type
application/json
{
  • "authori_id": "20171219235859069_990fb775",
  • "event_id": "01",
  • "event_name": "ログイン",
  • "user_id_hashed": "537c55e917f38837c399fe7a87292db447230f932ba28d8629cf32e7b47e4a25",
  • "user_id_encrypted": "Fngp0omb0eEtCiQzyldL0tN6aBXb294LelixH7LbMk52Hy770XgAeQIHkc4v4rRG6koftrrnEhOiJBF9mHHGIviYZ/IPuTX9xWoJXDtxipGDbCh8caaLe6kvjG1Wn6MhyFM8EH0oBILfZZOVXqkxUmaC9/FIDE+GGLNwl6Bojadstl9mbmy7WsGKoAouKIC7o9PzKZu3uE6E5H8piMPtFyvGUFmefhKt49uYYv4rIlStJMLb6M5OPWny1Wv5xOhDNKFMimp8my35vTXsSu8qbWFxlQf2pjqymAC5GhUB+2uZQmBSCzMY3zaXqn8y7WmcTklI3jciKvSm6vJh00HVvQ==?sl8lWgkMeboKz6rLkygzGYq61IO82zwwLQZpvRWMTzM=",
  • "final_result": "OK",
  • "result": "OK",
  • "reason": "FIRST_USER",
  • "feedback": "NONE",
  • "feedback_comment": "2段階認証で認証できないためNG",
  • "user_device_id": "201712192358_2d6b8_MacOSX_Safari",
  • "event_url": "http://example.com",
  • "login_success": true,
  • "cookie": "login.example.com_20171219235859360vwBEO",
  • "etag": "f480753c-e4cc-11e7-be4e-d53867dd2298",
  • "local_storage": "login.example.com_20171219235738887lmexk",
  • "did_short": "4f3478691194c12f",
  • "did_middle": "609893374f77f237",
  • "source_ip": "192.168.0.1",
  • "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0.2 Safari/604.4.7",
  • "device_category_name": "pc",
  • "os_name": "Windows 10",
  • "os_version": "10.11.6",
  • "browser_name": "Safari",
  • "browser_version": "11.0.2",
  • "browser_language": "ja-JP",
  • "timezone_offset": -540,
  • "referer": "string",
  • "access_at": "2018-04-01 17:31:16.140",
  • "send_at": "2018-04-01 17:31:16.140",
  • "authori_at": "2018-04-01 17:31:16.140",
  • "ip_version": "ipv4",
  • "ip_country_code": "JP",
  • "ip_country_name": "Japan",
  • "ip_pref_code": "13",
  • "ip_pref_name": "東京",
  • "ip_city_code": "13104",
  • "ip_city_name": "shinjuku-ku",
  • "ip_org_name": "かっこ株式会社",
  • "ip_domain_name": "example.com",
  • "ip_line_name": "フレッツ系(ftth/xDSL混在)",
  • "ip_proxy": "0",
  • "ip_pref_location": "35.68950,139.69163",
  • "ip_city_location": "35.69390,139.70343",
  • "input_type": "SOFTWARE_KEYBOARD",
  • "ip_tor_flag": true,
  • "ip_foreign_flag": true,
  • "ip_pref_cf_level": 1,
  • "ip_city_cf_level": 1,
  • "ip_line_cf_level": 1,
  • "bot_flag": true,
  • "company_user_id": "abcd1234",
  • "connected_id": "abcd1234",
  • "labels": "再チェック対象 2020-12-03に同様のログイン発見",
  • "memo": "管理画面から任意入力できます"
}

ユーザー審査フィードバックAPI Deprecated

ユーザーの審査に対してフィードバックをできるAPIです
審査結果の変更及びログイン結果の更新をする際に使用します。

path Parameters
authori_id
required
string

加盟店サーバーにてCookieから取得したauthori_idをご指定ください。

header Parameters
X-Omotion-Signature
required
string

弊社から発行する、加盟店様を認可する32桁の署名です。

X-Omotion-Useridhashed
required
string

加盟店ユーザーを識別します。
加盟店で管理するユーザーIDをSHA-256でハッシュ化してご送信ください。
ハッシュ時にソルト値を加盟店様ごとに定義しておりますので別途ご案内いたします。

Content-Type
required
string
Value: "application/json"
Request Body schema: application/json
login_success
required
boolean

ログイン成功かどうか

feedback
string
Enum: "OK" "NG"

フィードバック

feedback_comment
string

フィードバック時のコメント

company_user_id
string

加盟店で任意入力可能なユーザーID

Responses

Request samples

Content type
application/json
{
  • "login_success": true,
  • "feedback": "OK",
  • "feedback_comment": "2段階認証で認証できないためNG",
  • "company_user_id": "abcd1234"
}

Response samples

Content type
application/json
{
  • "status": 200,
  • "message": "success"
}

ユーザー審査フィードバック更新API

ユーザーの審査に対してフィードバックをできるAPIです
審査結果の変更の更新をする際に使用します。

path Parameters
authori_id
required
string

加盟店サーバーにてCookieから取得したauthori_idをご指定ください。

header Parameters
X-Omotion-Signature
required
string

弊社から発行する、加盟店様を認可する32桁の署名です。

X-Omotion-Useridhashed
required
string

加盟店ユーザーを識別します。
加盟店で管理するユーザーIDをSHA-256でハッシュ化してご送信ください。
ハッシュ時にソルト値を加盟店様ごとに定義しておりますので別途ご案内いたします。

Content-Type
required
string
Value: "application/json"
Request Body schema: application/json
value
required
string
Enum: "OK" "NG"

フィードバック

comment
string

フィードバック時のコメント

Responses

Request samples

Content type
application/json
{
  • "value": "OK",
  • "comment": "2段階認証で認証できないためNG"
}

Response samples

Content type
application/json
{
  • "status": 200,
  • "message": "success"
}

ユーザー審査ログイン成功更新API

ユーザーの審査に対してログイン結果の更新をできるAPIです
審査結果のログイン結果の更新をする際に使用します。

path Parameters
authori_id
required
string

加盟店サーバーにてCookieから取得したauthori_idをご指定ください。

header Parameters
X-Omotion-Signature
required
string

弊社から発行する、加盟店様を認可する32桁の署名です。

X-Omotion-Useridhashed
required
string

加盟店ユーザーを識別します。
加盟店で管理するユーザーIDをSHA-256でハッシュ化してご送信ください。
ハッシュ時にソルト値を加盟店様ごとに定義しておりますので別途ご案内いたします。

Content-Type
required
string
Value: "application/json"
Request Body schema: application/json
value
required
boolean

ログイン成功かどうか

connected_id
string

加盟店で任意入力可能なID

Responses

Request samples

Content type
application/json
{
  • "value": true,
  • "connected_id": "abcd1234"
}

Response samples

Content type
application/json
{
  • "status": 200,
  • "message": "success"
}

ユーザー審査一覧取得API

ユーザー単位でO-MOTIONの審査情報を取得できるAPIです。
該当ユーザーIDのリクエストに対して、最新の審査結果または指定した任意の審査より前の最大20件分を返却いたします。

query Parameters
next
string

指定したauthori_idより前の審査を最大20件取得するための任意パラメータです。
指定しない場合は該当ユーザーの直近の審査結果を最大20件取得します。

header Parameters
X-Omotion-Signature
required
string

弊社から発行する、加盟店様を認可する32桁の署名です。

X-Omotion-Useridhashed
required
string

加盟店ユーザーを識別します。
加盟店で管理するユーザーIDをSHA-256でハッシュ化してご送信ください。
ハッシュ時にソルト値を加盟店様ごとに定義しておりますので別途ご案内いたします。

Responses

Response samples

Content type
application/json
[
  • {
    }
]

端末

端末情報

端末一覧取得API

ユーザーの端末を最大20件取得します。(20件以上は管理画面からCSVダウンロード願います。)

header Parameters
X-Omotion-Signature
required
string

弊社から発行する、加盟店様を認可する32桁の署名です。

X-Omotion-Useridhashed
required
string

加盟店ユーザーを識別します。
加盟店で管理するユーザーIDをSHA-256でハッシュ化してご送信ください。
ハッシュ時にソルト値を加盟店様ごとに定義しておりますので別途ご案内いたします。

Responses

Response samples

Content type
application/json
[
  • {
    }
]

審査

authori_id
required
string <= 64

O-MOTIONの審査リクエストを一意に識別するID

event_id
required
string <= 16

加盟店に提供するO-MOTIONのJavascriptを識別するID

event_name
required
string <= 128

event_idの名称(画面名)

user_id_hashed
required
string <= 128

加盟店サイトの入力フォームから取得したユーザーIDをSHA-256でハッシュ化した値

user_id_encrypted
required
string <= 1024

加盟店サイトの入力フォームから取得したユーザーIDを暗号化した値
公開鍵暗号にて、加盟店に提供した暗号化ツールで作成した共通鍵で暗号化しているため、かっこでの復号は不可

final_result
required
string <= 16
Enum: "OK" "NG" "REVIEW"

最終審査結果

result
required
string <= 16
Enum: "OK" "NG" "REVIEW"

審査結果

reason
required
string <= 64
Enum: "FIRST_USER" "FIRST_USER_DEVICE" "FIRST_USER_DEVICE_COUNT_OVER" "USER_DEVICE" "SAME_DEVICE" "TOR_IP_MATCH" "FOREIGN_IP_AND_LANGUAGE" "FOREIGN_IP" "BOT" "NEGATIVE_IP" "NG_DEVICE"

審査結果理由

feedback
required
string <= 16
Enum: "NONE" "OK" "NG"

フィードバック

feedback_comment
string <= 1024

フィードバックコメント

user_device_id
required
string <= 64

加盟店ユーザーのデバイスを一意に識別するID

event_url
required
string <uri> <= 256

加盟店に設置したJavascriptのURL

login_success
required
boolean

加盟店ユーザーのログインが成功しているかを示すフラグ

cookie
string <= 128

加盟店ユーザーのデバイス(ウェブブラウザ)を特定する要素の一つ

etag
string <= 128

加盟店ユーザーのデバイス(ウェブブラウザ)を特定する要素の一つ

local_storage
string <= 192

Local Storage

did_short
string <= 128

加盟店ユーザーのデバイス(ウェブブラウザ)を特定する要素の一つ

did_middle
required
string <= 128

加盟店ユーザーのデバイス(ウェブブラウザ)を特定する要素の一つ

required
IpAddressV4 (string) or IpAddressV6 (string) <= 45

加盟店ユーザーの送信元IPアドレス

useragent
required
string <= 512

加盟店ユーザーが利用したデバイスのuseragent

device_category_name
required
string <= 128
Enum: "pc" "smartphone" "mobilephone" "appliance" "crawler" "misc" "UNKNOWN"

useragentを解析した端末の分類

os_name
required
string <= 128
Enum: "Windows 10" "Windows 8.1" "Windows 8" "Windows 7" "Windows Vista" "Windows XP" "Windows Phone OS" "Mac OSX" "ChromeOS" "Linux" "iPad" "iPhone" "Android" "_other"

useragentを解析したOSの名称

os_version
required
string <= 128

useragentを解析したOSのバージョン

browser_name
required
string <= 128
Enum: "Internet Explorer" "Edge" "Chrome" "Firefox" "Safari" "Webview" "_other"

useragentを解析したブラウザの名称

browser_version
required
string <= 128

useragentを解析したブラウザのバージョン

browser_language
required
string <= 32

Javascriptで収集したブラウザの設定言語

timezone_offset
required
integer

ローカルタイムゾーンとUTCの差

referer
string <= 256

加盟店サイトへの遷移前のURL

access_at
required
stringYYYY-MM-DD HH:mm:ss.SSS

加盟店ユーザーがJavascript(加盟店サイト)にアクセスした日時

send_at
required
stringYYYY-MM-DD HH:mm:ss.SSS

加盟店ユーザーが審査情報を送信する直前の日時

authori_at
required
stringYYYY-MM-DD HH:mm:ss.SSS

審査開始日時

ip_version
required
string <= 16
Enum: "ipv4" "ipv6"

source_ipのバージョン

ip_country_code
required
string <= 64

source_ipから判定したIPアドレスの国コード

ip_country_name
required
string <= 128

source_ipから判定したIPアドレスの国名の英名

ip_pref_code
string <= 128

source_ipから判定したIPアドレスの都道府県コード

ip_pref_name
string <= 128

source_ipから判定したIPアドレスの都道府県名の英名

ip_city_code
string <= 128

source_ipから判定したIPアドレスの市区町村コード

ip_city_name
string <= 128

source_ipから判定したIPアドレスの市区町村名の英名

ip_org_name
string <= 256

source_ipから判定したIPアドレスの組織名

ip_domain_name
string <hostname> <= 128

source_ipから判定したIPアドレスのドメイン名

ip_line_name
string <= 128

source_ipから判定したIPアドレスの回線種別

ip_proxy
string <= 32
Enum: "0" "1"

source_ipから判定したIPアドレスがプロキシを使用したかを示すフラグ

ip_pref_location
string <= 64

source_ipから判定したIPアドレスの都道府県の緯度及び経度

ip_city_location
string <= 64

source_ipから判定したIPアドレスの市区町村の緯度及び経度

input_type
required
string <= 32
Enum: "SOFTWARE_KEYBOARD" "AUTO_COMPLETE" "COPY_AND_PASTE" "DRAG_AND_DROP" "KEY_TYPED" "UNKNOWN" "NONE"

加盟店ユーザーがログイン情報を入力した方法

ip_tor_flag
required
boolean

source_ipから判定したIPアドレスがTorで使用されているかを示すフラグ

ip_foreign_flag
required
boolean

source_ipから判定したIPアドレスが海外のものかを示すフラグ

ip_pref_cf_level
required
integer [ 1 .. 5 ]

source_ipから判定した都道府県名の信頼度

ip_city_cf_level
required
integer [ 1 .. 5 ]

source_ipから判定した市区町村名の信頼度

ip_line_cf_level
required
integer [ 1 .. 5 ]

source_ipから判定した回線種別の信頼度

bot_flag
required
boolean

Botからのアクセスかを示すフラグ

company_user_id
string
Deprecated

加盟店で任意入力可能なユーザーID

connected_id
string <= 256

加盟店で任意入力可能なID

labels
string <= 1024

ラベル

memo
string <= 2048

加盟店任意入力メモ

{
  • "authori_id": "20171219235859069_990fb775",
  • "event_id": "01",
  • "event_name": "ログイン",
  • "user_id_hashed": "537c55e917f38837c399fe7a87292db447230f932ba28d8629cf32e7b47e4a25",
  • "user_id_encrypted": "Fngp0omb0eEtCiQzyldL0tN6aBXb294LelixH7LbMk52Hy770XgAeQIHkc4v4rRG6koftrrnEhOiJBF9mHHGIviYZ/IPuTX9xWoJXDtxipGDbCh8caaLe6kvjG1Wn6MhyFM8EH0oBILfZZOVXqkxUmaC9/FIDE+GGLNwl6Bojadstl9mbmy7WsGKoAouKIC7o9PzKZu3uE6E5H8piMPtFyvGUFmefhKt49uYYv4rIlStJMLb6M5OPWny1Wv5xOhDNKFMimp8my35vTXsSu8qbWFxlQf2pjqymAC5GhUB+2uZQmBSCzMY3zaXqn8y7WmcTklI3jciKvSm6vJh00HVvQ==?sl8lWgkMeboKz6rLkygzGYq61IO82zwwLQZpvRWMTzM=",
  • "final_result": "OK",
  • "result": "OK",
  • "reason": "FIRST_USER",
  • "feedback": "NONE",
  • "feedback_comment": "2段階認証で認証できないためNG",
  • "user_device_id": "201712192358_2d6b8_MacOSX_Safari",
  • "event_url": "http://example.com",
  • "login_success": true,
  • "cookie": "login.example.com_20171219235859360vwBEO",
  • "etag": "f480753c-e4cc-11e7-be4e-d53867dd2298",
  • "local_storage": "login.example.com_20171219235738887lmexk",
  • "did_short": "4f3478691194c12f",
  • "did_middle": "609893374f77f237",
  • "source_ip": "192.168.0.1",
  • "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0.2 Safari/604.4.7",
  • "device_category_name": "pc",
  • "os_name": "Windows 10",
  • "os_version": "10.11.6",
  • "browser_name": "Safari",
  • "browser_version": "11.0.2",
  • "browser_language": "ja-JP",
  • "timezone_offset": -540,
  • "referer": "string",
  • "access_at": "2018-04-01 17:31:16.140",
  • "send_at": "2018-04-01 17:31:16.140",
  • "authori_at": "2018-04-01 17:31:16.140",
  • "ip_version": "ipv4",
  • "ip_country_code": "JP",
  • "ip_country_name": "Japan",
  • "ip_pref_code": "13",
  • "ip_pref_name": "東京",
  • "ip_city_code": "13104",
  • "ip_city_name": "shinjuku-ku",
  • "ip_org_name": "かっこ株式会社",
  • "ip_domain_name": "example.com",
  • "ip_line_name": "フレッツ系(ftth/xDSL混在)",
  • "ip_proxy": "0",
  • "ip_pref_location": "35.68950,139.69163",
  • "ip_city_location": "35.69390,139.70343",
  • "input_type": "SOFTWARE_KEYBOARD",
  • "ip_tor_flag": true,
  • "ip_foreign_flag": true,
  • "ip_pref_cf_level": 1,
  • "ip_city_cf_level": 1,
  • "ip_line_cf_level": 1,
  • "bot_flag": true,
  • "company_user_id": "abcd1234",
  • "connected_id": "abcd1234",
  • "labels": "再チェック対象 2020-12-03に同様のログイン発見",
  • "memo": "管理画面から任意入力できます"
}

端末

user_id_hashed
string

ハッシュ化ユーザーID

user_device_id
string

端末ID

status
string
Enum: "VALID" "INVALID" "UNIDENTIFIED" "DUPLICATED" "WAITING"

端末のステータス

device_category_name
string
Enum: "pc" "smartphone" "mobilephone" "appliance" "crawler" "misc" "UNKNOWN"

端末種別

os_name
string
Enum: "Windows 10" "Windows 8.1" "Windows 8" "Windows 7" "Windows Vista" "Windows XP" "Windows Phone OS" "Mac OSX" "ChromeOS" "Linux" "iPad" "iPhone" "Android" "_other"

OS

browser_name
string
Enum: "Internet Explorer" "Edge" "Chrome" "Firefox" "Safari" "Webview" "_other"

ブラウザ

cookie
string

Cookie

etag
string

Etag

local_storage
string

Local Storage

did_short
string

Did Short

did_middle
string

Did Middle

{
  • "user_id_hashed": "sample123456",
  • "user_device_id": "201712181605_f27f0_MacOSX_Chrome",
  • "status": "VALID",
  • "device_category_name": "VALID",
  • "os_name": "Windows 10",
  • "browser_name": "Internet Explorer",
  • "cookie": "login.example.com_20171218161105499DHYMk",
  • "etag": "8057125a-e3c2-11e7-9916-591c625c5f1a",
  • "local_storage": "login.example.com_20171218161015951MqRhP",
  • "did_short": "abc123456",
  • "did_middle": "abcdef123456"
}