ユーザーの認証認可をおこなうためのAPIです。

下記の順番で呼び出す必要があります。

  1. GetAnonymousToken(appKey, deviceUDID):anonymouseToken
  2. DeviceRegistration(deviceToken, deviceUDID, anonymouseToken, その他アプリに関する情報)
  3. Login(deviceUDID, anonymouseToken, その他アプリに関する情報, ユーザーに関する情報):userToken

GetAnonymousToken

ログインの必要がないAPIのために使われる匿名トークンを返します。

処理シーケンス

  1. 匿名トークンを生成して返します

URL

  • GET
    http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/anonymousTokens?appKey=xxx&deviceUDID=xxx</span>
    

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通知を行う際に使用されます。

処理シーケンス

  1. 同一の端末情報が既に登録されている場合はエラーを返します。
  2. リクエストされた端末情報を登録します。

URL

  • POST
    http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/devices
    

同じアプリでDevice UDIDが既に登録済みの場合は、下記のエラーが返ります。該当のDevice UDIDを使用して、処理を続行してください。

{
  "errCode": 161,
  "status": "error",
  "description": "The device already registered for this device and app"
}

Authentication

匿名トークンを必要とします。

Header

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にて管理されているユーザ情報を元に認証処理を行います。
認証に成功すればユーザ情報とユーザトークンを返します。失敗した場合はエラーステータスをもって通知します。

処理シーケンス

  1. 必須パラメータが指定されていない、または存在しない時、エラーを返します。
  2. アカウントをチェックし、存在しない場合はエラーを返します。
  3. もし加入者が存在するならば、トークンを生成します。
  4. オブジェクト情報を返します。

URL

  • POST
    http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/auth/login
    

Authentication

匿名トークンを必要とします。

Header

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

  • POST
    http://{AppPot Server name}:{Port}/{Context root}/api/{companyId}/{appId}/{appVersion}/auth/logout
    

Authentication

ユーザー認証が完了している必要があります。

Header

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