clemy バックエンドAPI (2.1.0)

Download OpenAPI specification:Download

教育プラットフォームclemyのバックエンドAPI仕様

auth

認証関連

ユーザー認証

ユーザー名とパスワードでログインし、JWTトークンを取得します

Request Body schema: application/json
userName
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "userName": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "permission": "string",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string"
}

ログイン記録取得

システム全体のログイン記録を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

特定ユーザーのログイン記録取得

特定のユーザーのログイン記録を取得します

Authorizations:
BearerAuth
path Parameters
userid
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

自分のログイン記録取得

認証ユーザー自身のログイン記録を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

users

ユーザー管理

ユーザー一覧取得

全ユーザーの一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ユーザー登録

個人整理コードを使用して新規ユーザーを登録します

Request Body schema: application/json
displayName
required
string
password
required
string
registrationCode
required
string
email
string

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "password": "string",
  • "registrationCode": "string",
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string",
  • "emailVerified": true,
  • "permission": "string",
  • "pointBalance": 0,
  • "expirationDate": "2019-08-24T14:15:22Z"
}

特定ユーザー取得

特定のユーザーの情報を取得します

Authorizations:
BearerAuth
path Parameters
userName
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string",
  • "emailVerified": true,
  • "permission": "string",
  • "pointBalance": 0,
  • "expirationDate": "2019-08-24T14:15:22Z"
}

ユーザー情報更新

特定のユーザーの情報を更新します

Authorizations:
BearerAuth
path Parameters
userName
required
string
Request Body schema: application/json
fullName
string
email
string
userName
string
displayName
string
expirationDate
string <date-time>
roll
string

Responses

Request samples

Content type
application/json
{
  • "fullName": "string",
  • "email": "string",
  • "userName": "string",
  • "displayName": "string",
  • "expirationDate": "2019-08-24T14:15:22Z",
  • "roll": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string",
  • "emailVerified": true,
  • "permission": "string",
  • "pointBalance": 0,
  • "expirationDate": "2019-08-24T14:15:22Z"
}

ユーザー削除

特定のユーザーを削除します

Authorizations:
BearerAuth
path Parameters
userName
required
string

Responses

自分の情報取得

ログインユーザー自身の情報を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string",
  • "emailVerified": true,
  • "permission": "string",
  • "pointBalance": 0,
  • "expirationDate": "2019-08-24T14:15:22Z"
}

自分の情報更新

ログインユーザー自身の情報を更新します

Authorizations:
BearerAuth
Request Body schema: application/json
fullName
string
userName
string
displayName
string

Responses

Request samples

Content type
application/json
{
  • "fullName": "string",
  • "userName": "string",
  • "displayName": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string",
  • "emailVerified": true,
  • "permission": "string",
  • "pointBalance": 0,
  • "expirationDate": "2019-08-24T14:15:22Z"
}

自分のパスワード変更

ログインユーザー自身のパスワードを変更します

Authorizations:
BearerAuth
Request Body schema: application/json
oldPassword
required
string
newPassword
required
string

Responses

Request samples

Content type
application/json
{
  • "oldPassword": "string",
  • "newPassword": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string",
  • "emailVerified": true,
  • "permission": "string",
  • "pointBalance": 0,
  • "expirationDate": "2019-08-24T14:15:22Z"
}

パスワード再設定

リセットコードを使用してパスワードを再設定します

Request Body schema: application/json
email
required
string
resetPasswordCode
required
string
newPassword
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "resetPasswordCode": "string",
  • "newPassword": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "active",
  • "userName": "string",
  • "fullName": "string",
  • "displayName": "string",
  • "organization": {
    },
  • "email": "string",
  • "emailVerified": true,
  • "permission": "string",
  • "pointBalance": 0,
  • "expirationDate": "2019-08-24T14:15:22Z"
}

パスワードリセット

パスワードのリセットを要求します

Request Body schema: application/json
email
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "email": "string"
}

ユーザー仮登録一覧取得

ユーザーの仮登録の一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ユーザー仮登録

運営によるユーザーの事前登録と個人整理コードの発行

Authorizations:
BearerAuth
Request Body schema: application/json
fullName
required
string
userName
required
string
organizationId
required
string
email
required
string
initialPassword
required
string
expirationDate
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "fullName": "string",
  • "userName": "string",
  • "organizationId": "string",
  • "email": "string",
  • "initialPassword": "string",
  • "expirationDate": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "fullName": "string",
  • "organization": {
    },
  • "email": "string",
  • "code": "string",
  • "ShortId": "string",
  • "ShortUrl": "string",
  • "expireIn": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z"
}

特定仮登録情報取得

特定の仮登録情報を取得します

path Parameters
code
required
string
header Parameters
X-Initial-Password
required
string

Responses

Response samples

Content type
application/json
{
  • "fullName": "string",
  • "organization": {
    },
  • "email": "string",
  • "code": "string",
  • "ShortId": "string",
  • "ShortUrl": "string",
  • "expireIn": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z"
}

仮登録削除

特定の仮登録を削除します

Authorizations:
BearerAuth
path Parameters
code
required
string

Responses

特定仮登録情報取得(短縮ID)

特定の仮登録へのURLを取得します

path Parameters
shortId
required
string

Responses

Response samples

Content type
application/json
{
  • "fullName": "string",
  • "organization": {
    },
  • "email": "string",
  • "code": "string",
  • "ShortId": "string",
  • "ShortUrl": "string",
  • "expireIn": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z"
}

仮登録情報検証

特定の仮登録情報を検証します

path Parameters
shortId
required
string

Responses

Response samples

Content type
application/json
{
  • "fullName": "string",
  • "organization": {
    },
  • "email": "string",
  • "code": "string",
  • "ShortId": "string",
  • "ShortUrl": "string",
  • "expireIn": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z"
}

ユーザーポイント一覧取得(バッジ表示付き)[TODO:要ドキュメント修正]

ユーザーのポイント一覧を取得します(バッジ情報付き)

Authorizations:
BearerAuth
query Parameters
organizationId
string

組織IDで絞り込み(任意)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ユーザー統計情報取得

特定のユーザーの学習記録とログイン記録を取得します

Authorizations:
BearerAuth
path Parameters
userid
required
string

Responses

Response samples

Content type
application/json
{
  • "userName": "string",
  • "studies": [
    ],
  • "loginLogs": [
    ]
}

ユーザーのバッジ一覧取得

特定のユーザーが所有するバッジの一覧を取得します(管理者用)

Authorizations:
BearerAuth
query Parameters
userId
string

ユーザーID(運営ユーザーのみ指定可能)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

自分のバッジ一覧取得

ログインユーザー自身が所有するバッジの一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

学校教員権限を付与

指定されたユーザーに学校教員権限を付与します。 運営ユーザーのみが実行可能です。

Authorizations:
BearerAuth
Request Body schema: application/json
userName
required
string non-empty

権限を付与するユーザーのユーザー名

Responses

Request samples

Content type
application/json
{
  • "userName": "target_user"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "ユーザー「田中太郎」に学校教員権限を付与しました。",
  • "user": {
    }
}

学校教員権限を剥奪

指定されたユーザーから学校教員権限を剥奪し、一般ユーザーに戻します。 運営ユーザーのみが実行可能です。

Authorizations:
BearerAuth
Request Body schema: application/json
userName
required
string non-empty

権限を剥奪するユーザーのユーザー名

Responses

Request samples

Content type
application/json
{
  • "userName": "target_user"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "ユーザー「田中太郎」から学校教員権限を剥奪しました。",
  • "user": {
    }
}

organizations

組織管理

組織一覧取得

全組織の一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

組織作成

新規組織を作成します

Authorizations:
BearerAuth
Request Body schema: application/json
id
required
string
name
required
string
shortName
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "shortName": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "shortName": "string"
}

組織情報取得

特定の組織の情報を取得します

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "shortName": "string"
}

組織削除

特定の組織を削除します

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

quiz

問題・クイズ管理

問題セット一覧取得

問題セットの一覧を取得します

Authorizations:
BearerAuth
query Parameters
tags
string

タグIDをカンマ区切りで指定

Responses

Response samples

Content type
application/json
[
  • {
    }
]

問題セット作成

新規問題セットを作成します

Authorizations:
BearerAuth
Request Body schema: application/json
title
required
string
required
Array of objects
description
required
string
tags
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "quizzes": [
    ],
  • "description": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "description": "string",
  • "count": 0,
  • "quizzes": [
    ],
  • "tags": [
    ]
}

問題セット取得

特定の問題セットの問題を取得します

Authorizations:
BearerAuth
path Parameters
id
required
string
query Parameters
limit
integer
offset
integer
sort
string
Value: "random"

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "description": "string",
  • "count": 0,
  • "quizzes": [
    ],
  • "tags": [
    ],
  • "limit": 0,
  • "offset": 0
}

問題セット更新

特定の問題セットを更新します

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
title
string
Array of objects
description
string
tags
Array of strings

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "quizzes": [
    ],
  • "description": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "description": "string",
  • "count": 0,
  • "quizzes": [
    ],
  • "tags": [
    ]
}

問題セット削除

特定の問題セットを削除します

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

問題タグ一覧取得

教材のタグ一覧を取得します

Authorizations:
BearerAuth
query Parameters
query
string

タグ名の検索キーワード

Responses

Response samples

Content type
application/json
[
  • {
    }
]

問題タグ作成

新しい教材タグを作成します

Authorizations:
BearerAuth
Request Body schema: application/json
path
required
string
name
required
string

Responses

Request samples

Content type
application/json
{
  • "path": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "path": "string",
  • "name": "string"
}

問題タグ削除

特定の教材タグを削除します

Authorizations:
BearerAuth
path Parameters
path
required
string

Responses

問題入力ジョブ一覧取得

問題入力ジョブの一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

問題入力ジョブ作成

新規問題入力ジョブを作成します

Authorizations:
BearerAuth
Request Body schema: application/json
title
required
string
number
required
string
category
required
string
level
required
string
assigned
required
string
status
string
jsonString
string

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "number": "string",
  • "category": "string",
  • "level": "string",
  • "assigned": "string",
  • "status": "string",
  • "jsonString": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "title": "string",
  • "number": "string",
  • "category": "string",
  • "level": "string",
  • "jsonString": "string",
  • "status": "string",
  • "assigned": "string",
  • "lastModifiedUser": {
    }
}

問題入力ジョブ取得

特定の問題入力ジョブを取得します

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastModifiedAt": "2019-08-24T14:15:22Z",
  • "title": "string",
  • "number": "string",
  • "category": "string",
  • "level": "string",
  • "jsonString": "string",
  • "status": "string",
  • "assigned": "string",
  • "lastModifiedUser": {
    }
}

問題入力ジョブ更新

特定の問題入力ジョブを更新します

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
title
string
number
string
category
string
level
string
assigned
string
jsonString
string
status
string

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "number": "string",
  • "category": "string",
  • "level": "string",
  • "assigned": "string",
  • "jsonString": "string",
  • "status": "string"
}

問題入力ジョブ削除

特定の問題入力ジョブを削除します

Authorizations:
BearerAuth
path Parameters
id
required
string

Responses

マッチングクイズ取得

タグに基づいて一致するクイズのIDリストを取得します

Authorizations:
BearerAuth
query Parameters
tags
string

タグIDをカンマ区切りで指定

Responses

Response samples

Content type
application/json
{
  • "matchingQuizIds": [
    ]
}

ランダムクイズ取得

ランダムなクイズを取得します

Authorizations:
BearerAuth
query Parameters
tags
string

タグIDをカンマ区切りで指定

Responses

Response samples

Content type
application/json
{
  • "quizId": "string",
  • "questions": [
    ]
}

studies

学習記録

学習記録取得

学習記録の一覧を取得します

Authorizations:
BearerAuth
query Parameters
limit
integer
offset
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

学習記録登録

学習記録を登録し、ポイントを発行します

Authorizations:
BearerAuth
Request Body schema: application/json
Array
quizSetId
required
string
quizId
required
string
required
Array of objects

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "numOfQuizzes": 0,
  • "numOfQuestions": 0,
  • "numOfCorrectQuestions": 0,
  • "point": {
    },
  • "transactions": [
    ]
}

間違えた問題取得

間違えた問題の学習記録を取得します

Authorizations:
BearerAuth
query Parameters
limit
integer
offset
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

transactions

ポイント取引

ポイント取引履歴取得

ポイント取引の履歴を取得します

Authorizations:
BearerAuth
query Parameters
limit
integer
offset
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

stocks

株式市場

株銘柄一覧取得

購入可能な株の銘柄を一覧で取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

株詳細情報取得

特定の株の詳細情報を取得します

Authorizations:
BearerAuth
path Parameters
id
required
string
query Parameters
limit
integer
offset
integer
includePrecisionPrice
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "currentPrice": 0,
  • "currentPrecisionPrice": 0,
  • "histories": [
    ]
}

株価格情報登録

株の価格推移情報を登録します

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
precisionPrice
required
number
publishedAt
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "precisionPrice": 0,
  • "publishedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "stock": {
    },
  • "price": 0,
  • "precisionPrice": 0,
  • "publishedAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z"
}

株保有一覧取得

ユーザーの株保有一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

株購入

株を購入します

Authorizations:
BearerAuth
Request Body schema: application/json
stockId
required
string
quantity
required
integer

Responses

Request samples

Content type
application/json
{
  • "stockId": "string",
  • "quantity": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "type": {
    },
  • "amount": 0,
  • "commentPublic": "string",
  • "stock": {
    }
}

株売却

保有株を売却します

Authorizations:
BearerAuth
path Parameters
id
required
string
Request Body schema: application/json
quantity
integer

Responses

Request samples

Content type
application/json
{
  • "quantity": 0
}

Response samples

Content type
application/json
{
  • "purchasePrice": 0,
  • "sellPrice": 0,
  • "sellQuantity": 0,
  • "totalPriceDiff": 0,
  • "transaction": {
    }
}

messages

メッセージ・チャット

チャットルーム一覧取得

チャットルームの一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

チャットルーム作成

新規チャットルームを作成します

Authorizations:
BearerAuth
Request Body schema: application/json
name
required
string
type
required
string
Enum: "company" "school" "admin"
description
string
canSendMessage
boolean
isPublic
boolean
participants
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "company",
  • "description": "string",
  • "canSendMessage": true,
  • "isPublic": true,
  • "participants": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "company",
  • "isPinned": true,
  • "unreadCount": 0,
  • "lastMessageTimestamp": "2019-08-24T14:15:22Z",
  • "canSendMessage": true,
  • "isPublic": true,
  • "description": "string",
  • "participants": [
    ]
}

チャットメッセージ取得

特定のチャットルームのメッセージを取得します

Authorizations:
BearerAuth
path Parameters
roomId
required
string
query Parameters
limit
integer
offset
integer

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ],
  • "total": 0,
  • "limit": 0,
  • "offset": 0
}

メッセージ送信

特定のチャットルームにメッセージを送信します

Authorizations:
BearerAuth
path Parameters
roomId
required
string
Request Body schema: application/json
content
required
string
Array of objects (Attachment)

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "attachments": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "sender": {
    },
  • "chatRoom": {
    },
  • "content": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "isRead": true,
  • "attachments": [
    ]
}

maintenance

メンテナンス管理

メンテナンスステータス取得

現在のメンテナンスステータスを取得します。メンテナンス中の場合はメッセージも取得します。一般ユーザー向けのエンドポイントは https://storage.googleapis.com/clemy-maintenance/clemy-web-client/prod/status.json を指定してください。

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "maintenance": true,
  • "message": "string",
  • "timestamp": "2019-08-24T14:15:22Z"
}

メンテナンスステータス更新

メンテナンスステータスを更新します

Authorizations:
BearerAuth
Request Body schema: application/json
maintenance
required
boolean

メンテナンスモードの有効/無効

message
string

メンテナンス中に表示するメッセージ

Responses

Request samples

Content type
application/json
{
  • "maintenance": true,
  • "message": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}

promocode

プロモーションコード操作API

プロモーションコード一覧を取得

管理者用APIです。作成されたプロモーションコードの一覧を取得します。

Authorizations:
BearerAuth
query Parameters
active
boolean

現在有効なコードのみを取得するかどうか

limit
integer
Default: 50

取得する最大件数

offset
integer
Default: 0

取得開始位置のオフセット

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ],
  • "pagination": {
    }
}

プロモーションコードを作成

管理者用APIです。新しいプロモーションコードを作成します。

Authorizations:
BearerAuth
Request Body schema: application/json

プロモーションコード作成リクエスト

code
required
string
name
required
string
description
string
type
required
string (PromoCodeType)
Enum: "point" "badge" "both"

プロモーションコードの種類

pointAmount
required
integer >= 0
badgeId
string or null
startDate
required
string <date-time>
endDate
required
string <date-time>
isReusable
required
boolean
maxUsesPerUser
required
integer >= 1
totalUses
required
integer

-1は無制限を表します

Responses

Request samples

Content type
application/json
{
  • "code": "EVENT2023",
  • "name": "イベント参加特典",
  • "description": "2023年企業見学会参加特典",
  • "type": "point",
  • "pointAmount": 500,
  • "badgeId": "badge_001",
  • "startDate": "2023-01-01T00:00:00.000Z",
  • "endDate": "2023-12-31T23:59:59.999Z",
  • "isReusable": false,
  • "maxUsesPerUser": 1,
  • "totalUses": 100
}

Response samples

Content type
application/json
{
  • "success": true,
  • "promoCode": {
    }
}

特定のプロモーションコードを取得

管理者用APIです。指定されたコードのプロモーションコード詳細を取得します。

Authorizations:
BearerAuth
path Parameters
code
required
string

プロモーションコード

query Parameters
includeUsages
boolean
Default: false

使用履歴を含めるかどうか

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

プロモーションコードを削除

管理者用APIです。指定されたプロモーションコードを削除します。

Authorizations:
BearerAuth
path Parameters
code
required
string

プロモーションコード

query Parameters
force
boolean
Default: false

使用履歴がある場合に強制的に削除するかどうか

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "プロモーションコードが削除されました。"
}

プロモーションコードを使用

ユーザーがプロモーションコードを使用してポイントやバッジを獲得します。

Authorizations:
BearerAuth
Request Body schema: application/json

プロモーションコード使用リクエスト

code
required
string

Responses

Request samples

Content type
application/json
{
  • "code": "EVENT2023"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "プロモーションコードが正常に使用されました。",
  • "rewards": {
    },
  • "transaction": {
    },
  • "newBalance": 1500
}

badges

バッジ管理

ユーザーポイント一覧取得(バッジ表示付き)[TODO:要ドキュメント修正]

ユーザーのポイント一覧を取得します(バッジ情報付き)

Authorizations:
BearerAuth
query Parameters
organizationId
string

組織IDで絞り込み(任意)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ユーザーのバッジ一覧取得

特定のユーザーが所有するバッジの一覧を取得します(管理者用)

Authorizations:
BearerAuth
query Parameters
userId
string

ユーザーID(運営ユーザーのみ指定可能)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

自分のバッジ一覧取得

ログインユーザー自身が所有するバッジの一覧を取得します

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

バッジ一覧取得

システムに登録されているバッジの一覧を取得します

Authorizations:
BearerAuth
query Parameters
publicOnly
boolean
Default: false

公開バッジのみを取得する場合はtrue

Responses

Response samples

Content type
application/json
[
  • {
    }
]

バッジ作成

新しいバッジを作成します(管理者専用)

Authorizations:
BearerAuth
Request Body schema: application/json
name
required
string

バッジ名

description
required
string

バッジの説明

imageUrl
required
string

バッジ画像のURL

emoji
required
string

バッジを表す絵文字

isPublic
required
boolean

公開バッジかどうか

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "emoji": "string",
  • "isPublic": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "badge": {
    }
}

特定のバッジ詳細取得

IDを指定してバッジの詳細情報を取得します

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "emoji": "string",
  • "isPublic": true,
  • "createdAt": "2019-08-24T14:15:22Z"
}

バッジ更新

既存のバッジを更新します(管理者専用)

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

Request Body schema: application/json
name
string
description
string
imageUrl
string
emoji
string
isPublic
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "imageUrl": "string",
  • "emoji": "string",
  • "isPublic": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "badge": {
    }
}

バッジ削除

バッジを削除します(管理者専用)

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

query Parameters
force
boolean
Default: false

ユーザーに付与済みの場合も強制的に削除

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string"
}

バッジ所有ユーザー一覧取得

特定のバッジを持っているユーザーの一覧を取得します

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

query Parameters
limit
integer
Default: 20

取得する最大件数

offset
integer
Default: 0

取得開始位置

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

バッジ付与

特定のユーザーにバッジを付与します(管理者専用)

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

query Parameters
force
boolean
Default: false

既に持っている場合も再付与する

Request Body schema: application/json
userName
required
string

付与対象のユーザー名

source
string

付与ソース(例:manual, event等)

sourceId
string

ソースの識別子

Responses

Request samples

Content type
application/json
{
  • "userName": "string",
  • "source": "string",
  • "sourceId": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "userBadge": {
    }
}

バッジ一括付与

複数のユーザーに同じバッジを一括付与します(管理者専用)

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

Request Body schema: application/json
userNames
required
Array of strings

付与対象のユーザー名リスト

source
string

付与ソース

sourceId
string

ソースの識別子

overwrite
boolean

既に持っている場合も再付与する

Responses

Request samples

Content type
application/json
{
  • "userNames": [
    ],
  • "source": "string",
  • "sourceId": "string",
  • "overwrite": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "results": {
    }
}

バッジ剥奪

特定のユーザーからバッジを剥奪します(管理者専用)

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

Request Body schema: application/json
userName
required
string

剥奪対象のユーザー名

Responses

Request samples

Content type
application/json
{
  • "userName": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "revokedBadge": {
    }
}

バッジ一括剥奪

複数のユーザーから同じバッジを一括剥奪します(管理者専用)

Authorizations:
BearerAuth
path Parameters
id
required
string

バッジID

Request Body schema: application/json
userNames
required
Array of strings

剥奪対象のユーザー名リスト

ignoreNotFound
boolean

見つからないユーザーを無視するかどうか

Responses

Request samples

Content type
application/json
{
  • "userNames": [
    ],
  • "ignoreNotFound": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "results": {
    }
}

shop

ショップ機能

商品一覧取得

データベースに登録されている商品在庫情報の一覧を取得します

Authorizations:
BearerAuth
query Parameters
availableOnly
boolean

販売可能な商品のみ返却する場合はtrue

Responses

Response samples

Content type
application/json
[
  • {
    }
]

商品登録

商品の在庫情報を新規登録します(管理者専用)

Authorizations:
BearerAuth
Request Body schema: application/json
microcmsId
required
string

microCMSの商品ID

stock
required
integer

在庫数

isAvailable
required
boolean

販売可能かどうか

Responses

Request samples

Content type
application/json
{
  • "microcmsId": "string",
  • "stock": 0,
  • "isAvailable": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "item": {
    }
}

商品詳細取得

特定の商品の在庫情報を取得します

Authorizations:
BearerAuth
path Parameters
microcmsId
required
string

microCMSの商品ID

Responses

Response samples

Content type
application/json
{
  • "microcmsId": "string",
  • "stock": 0,
  • "isAvailable": true,
  • "updatedAt": "2019-08-24T14:15:22Z"
}

商品情報更新

商品の在庫情報を更新します(管理者専用)

Authorizations:
BearerAuth
path Parameters
microcmsId
required
string

microCMSの商品ID

Request Body schema: application/json
stock
integer

在庫数

isAvailable
boolean

販売可能かどうか

Responses

Request samples

Content type
application/json
{
  • "stock": 0,
  • "isAvailable": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "item": {
    }
}

商品購入

商品を購入し、在庫を減らし、ユーザーのポイントを消費します

Authorizations:
BearerAuth
Request Body schema: application/json
microcmsId
required
string

microCMSの商品ID

quantity
required
integer

購入数量(現時点では1のみサポート)

Responses

Request samples

Content type
application/json
{
  • "microcmsId": "string",
  • "quantity": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "string",
  • "purchase": {
    },
  • "newBalance": 0
}

購入履歴取得

購入履歴を取得します。一般ユーザーは自分の購入履歴のみ閲覧可能、運営者は全ユーザーの購入履歴を閲覧可能です。

Authorizations:
BearerAuth
query Parameters
limit
integer
Default: 20

一度に取得する件数

offset
integer
Default: 0

取得開始位置

userId
string

特定ユーザーの購入履歴のみ取得(運営者のみ指定可能)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

reactions

リアクション取得

会社に対するリアクション数を取得します

query Parameters
companyId
required
string

Responses

Response samples

Content type
application/json
{
  • "counts": {
    },
  • "userReactions": {
    }
}

リアクション更新

会社に対するリアクションを更新(追加・削除)します

Authorizations:
BearerAuth
query Parameters
companyId
required
string
Request Body schema: application/json
reaction
required
string
Enum: "like" "good" "wantToGo" "interested"

Responses

Request samples

Content type
application/json
{
  • "reaction": "like"
}

Response samples

Content type
application/json
{
  • "counts": {
    },
  • "userReactions": {
    }
}