ユーザーの認証認可をおこなうためのAPIです。
下記の順番で呼び出す必要があります。
- GetAnonymousToken(appKey, deviceUDID):anonymouseToken
- DeviceRegistration(deviceToken, deviceUDID, anonymouseToken, その他アプリに関する情報)
- Login(deviceUDID, anonymouseToken, その他アプリに関する情報, ユーザーに関する情報):userToken
GetAnonymousToken
ログインの必要がないAPIのために使われる匿名トークンを返します。
処理シーケンス
- 匿名トークンを生成して返します
URL
Authentication
事前の認証は不要です。
Content-Type: application/json
Request parameters
Name |
Data Format |
Description |
appKey |
String |
(Required) appKey |
deviceUDID |
String |
(Required) device UDID |
Response example
{
"errCode": 0,
"status": "OK",
"description": null,
"results": "e0aec9d8fc834456bc55dc18f2b99a64"
}
Response properties
Name |
Data Format |
Description |
errCode |
int |
Response error code: 0, 101, 198, 201 |
status |
String |
(Required)API result status value. |
results |
String |
(Optional)anonymous token if request paramters are valid. |
description |
String |
(Optional)Detail error |
Device registration
端末情報をデバイス管理用のマスタに登録します。
端末情報はPush通知を行う際に使用されます。
処理シーケンス
- 同一の端末情報が既に登録されている場合はエラーを返します。
- リクエストされた端末情報を登録します。
URL
同じアプリでDevice UDIDが既に登録済みの場合は、下記のエラーが返ります。該当のDevice UDIDを使用して、処理を続行してください。
{
"errCode": 161,
"status": "error",
"description": "The device already registered for this device and app"
}
Authentication
匿名トークンを必要とします。
Content-Type: application/json
apppot-token: token
Name |
Data Format |
Description |
apppot-token |
String |
(Required) AnonymousAuthToken |
Request parameters
Name |
Data Format |
Description |
deviceToken |
String |
(Required) device token developer register with apple |
deviceUDID |
String |
(Required) Device id |
osType |
String |
(Required) operating system, must be iOS or Android |
deviceName |
String |
(Required) device’s name |
Request example
{
"deviceToken": "device token 1",
"osType": "iOS", // iOS or Android
"deviceName": "iPhone 4",
"deviceUDID": "E9J5J94J-2C5B-4F97-BC61-90284830E1DA",
}
Response example
{
"errCode": 0,
"status": "error",
"description": "The device already registered for this device and app"
}
Response properties
Name |
Data Format |
Description |
errCode |
int |
Response error code: 0, 101, 121, 160, 161, 164, 198, 206 |
status |
String |
(Required)API result status value. |
description |
String |
(Optional) status detail error |
Login
AppPotにて管理されているユーザ情報を元に認証処理を行います。
認証に成功すればユーザ情報とユーザトークンを返します。失敗した場合はエラーステータスをもって通知します。
処理シーケンス
- 必須パラメータが指定されていない、または存在しない時、エラーを返します。
- アカウントをチェックし、存在しない場合はエラーを返します。
- もし加入者が存在するならば、トークンを生成します。
- オブジェクト情報を返します。
URL
Authentication
匿名トークンを必要とします。
Content-Type: application/json
apppot-token: token
Name |
Data Format |
Description |
apppot-token |
String |
(Required) Anonymous token / user token |
Request parameters
Name |
Data Format |
Description |
username |
String |
(Required) user name |
password |
String |
(Required) password of user |
appId |
String |
(Required) app id |
deviceUDID |
String |
(Required) deviceUDID |
isPush |
String |
(Required) true/false |
appVersion |
String |
(Required) app version |
companyId |
long |
(Required) companyId of user |
Request example
{
"username": "sogo@stew.com",
"password": "123456",
"appId": "sogo.app",
"appVersion": "1.0",
"deviceUDID": "E9J5J94J-2C5B-4F97-BC61-90284830E1DA",
"isPush": "false",
"companyId": 1
}
Response example
{
"errCode": 0,
"status": "OK",
"description": null,
"authInfo": {
"userTokens": "8560ba5e81af4279a0c3bfd3d1f6827b",
"validTime": 18000000,
"userId": 20,
"userInfo": {
"account":"admin@stew.com",
"fistName":"ryohei",
"lastName":"sogo"
},
"groupsAndRoles": [
{
"groupId": 12,
"groupName": "Group 1",
"roleName": "User",
"roleId": 4
}
]
}
}
Response properties
Name |
Data Format |
Description |
errCode |
int |
Response error code: 0, 104, 106, 111, 112, 113, 114, 115, 116, 117, 119, 121, 160, 163, 198, 201 |
status |
String |
(Required)API result status value. |
description |
String |
(Optional)Detail error |
authInfo |
String |
認証情報 |
authInfo.userTokens |
String |
ユーザーログイントークン |
authInfo.validTime |
int |
トークン有効期限 |
authInfo.userId |
int |
ユーザーID |
authInfo.userInfo |
userInfo |
アカウント情報 |
authInfo.userInfo.account |
String |
アカウント名 |
authInfo.userInfo.fistName |
String |
ユーザー氏名(名) |
authInfo.userInfo.lastName |
String |
ユーザー氏名(性) |
authInfo.groupsAndRoles |
groupsAndRoles |
ユーザー所属グループ配列 |
authInfo.groupsAndRoles.groupId |
int |
グループID |
authInfo.groupsAndRoles.groupName |
String |
グループ名 |
authInfo.groupsAndRoles.roleName |
String |
ロール名 |
authInfo.groupsAndRoles.roleId |
int |
ロールID |
Logout
Authentication using for user login to the system
URL
Authentication
ユーザー認証が完了している必要があります。
Content-Type: application/json
apppot-token: token
Name |
Data Format |
Description |
apppot-token |
String |
(Required) any data to store |
Response example
{
"status":"OK",
"description":null,
"errCode":0
}
Response properties
Name |
Data Format |
Description |
errCode |
int |
Response error code: 0, 120, 121 |
status |
String |
(Required) API result status value. |
description |
String |
(Optional) Detail error |