biz-member-gateway/gateway.json

786 lines
19 KiB
JSON
Raw Normal View History

2025-03-12 13:46:41 +00:00
{
"swagger": "2.0",
"info": {
"title": "",
"version": ""
},
"host": "dev-api.30cm.net",
"schemes": [
"http",
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/api/v1/member": {
"post": {
"summary": "創建新會員",
"description": "創建一個全新的帳號,創完成之後會自動登入",
"operationId": "AccountCreate",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/LoginTokenResp"
}
}
},
"parameters": [
{
"name": "body",
"description": " -------------------------------------------",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateAccountRequest"
}
}
],
"tags": [
"member"
],
"consumes": [
"multipart/form-data"
]
}
},
"/api/v1/member/check-verify-code": {
"post": {
"summary": "確認邀請 - 綁定會員",
"description": "確認驗證碼是否有效",
"operationId": "CheckVerifyCode",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/RespOK"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CheckoutVerifyReq"
}
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/forget-password-code": {
"post": {
"summary": "發送忘記密碼驗證",
"description": "發送忘記密碼驗證(三分鐘內只能發一次信)",
"operationId": "ForgetPasswordCode",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/RespOK"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ForgetPasswordCodeReq"
}
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/info": {
"get": {
"summary": "取得會員資訊",
"operationId": "Info",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/UserInfo"
}
}
},
"parameters": [
{
"name": "required",
"in": "header",
"required": true,
"type": "string"
}
],
"tags": [
"member"
]
},
"put": {
"summary": "更新會員詳細資訊",
"operationId": "ModifyMemberInfo",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/UserInfo"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/BindingUserInfoReq"
}
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/login": {
"post": {
"summary": "登入",
"description": "會員登入",
"operationId": "Login",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/LoginTokenResp"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/LoginReq"
}
}
],
"tags": [
"member"
],
"consumes": [
"multipart/form-data"
]
}
},
"/api/v1/member/logout": {
"get": {
"summary": "會員登出",
"operationId": "Logout",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/RespOK"
}
}
},
"parameters": [
{
"name": "required",
"in": "header",
"required": true,
"type": "string"
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/modify-passwd": {
"put": {
"summary": "修改密碼",
"description": "修改密碼",
"operationId": "ModifyPasswdHandler",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/RespOK"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ModifyPasswdReq"
}
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/pre-verify": {
"put": {
"summary": "預先驗證驗證碼",
"description": "忘記密碼的時候看 ui. 流程要預先驗證一次才給送,",
"operationId": "PreVerifyUpdatePasswordCode",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/RespOK"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PreVerifyForgetPasswdReq"
}
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/refresh_access_token": {
"put": {
"summary": "更新 Access Token",
"description": "用 RefreshToken 換取 AccessToken",
"operationId": "RefreshAccessToken",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/LoginTokenResp"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateTokenReq"
}
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/update-password": {
"put": {
"summary": "更新密碼(要發送驗證碼才可以的流程)",
"description": "更新密碼(要發送驗證碼才可以的流程)",
"operationId": "UpdatePassword",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/RespOK"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/UpdatePasswordReq"
}
}
],
"tags": [
"member"
]
}
},
"/api/v1/member/verify": {
"post": {
"summary": "發送邀請 - 綁定會員",
"description": "可以依照類別手機驗證email驗證同一個類型十分鐘內只能發送一次",
"operationId": "SendVerifyCode",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/RespOK"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/VerificationCodeRequest"
}
}
],
"tags": [
"member"
]
}
}
},
"definitions": {
"BaseResponse": {
"type": "object",
"properties": {
"status": {
"$ref": "#/definitions/Status",
"description": " 狀態"
},
"data": {
"type": "object",
"description": " 資料"
}
},
"title": "BaseResponse",
"required": [
"status",
"data"
]
},
"BindingUserInfoReq": {
"type": "object",
"properties": {
"preferred_language": {
"type": "string",
"description": " 使用語言"
},
"currency": {
"type": "string"
},
"avatar_url": {
"type": "string",
"description": " 頭像 URL可選"
},
"nickname": {
"type": "string"
},
"full_name": {
"type": "string",
"description": " 用戶全名"
},
"gender_code": {
"type": "string",
"description": " 性別代碼"
},
"birthdate": {
"type": "string",
"description": " 生日 (格式: unix)"
},
"address": {
"type": "string",
"description": " 地址"
}
},
"title": "BindingUserInfoReq",
"required": [
"gender_code"
]
},
"CheckoutVerifyReq": {
"type": "object",
"properties": {
"account": {
"type": "string",
"description": " 帳號名稱"
},
"code_type": {
"type": "string",
"description": " 驗證碼類型 1 信箱 2 手機"
},
"verify_code": {
"type": "string",
"description": " 驗證碼長度為6"
},
"uid": {
"type": "string"
}
},
"title": "CheckoutVerifyReq",
"required": [
"account",
"code_type",
"verify_code",
"uid"
]
},
"CreateAccountRequest": {
"type": "object",
"properties": {
"account": {
"type": "string",
"description": " 帳號名稱line code 輸入在這邊)"
},
"token": {
"type": "string",
"description": " 密碼或平台token密碼請 sha256 轉碼如果三方token 請隨便給一個 sha256 字串"
},
"token_check": {
"type": "string",
"description": " 密碼或平台tokentoken 請保持原樣,填在這邊,不用管 token"
},
"platform": {
"type": "string",
"description": " 平台名稱 (platform) 平台、google、line"
},
"account_type": {
"type": "string",
"description": " 帳號類型 phone(手機)、email(信箱)、platform(自定義帳號) -\u003e (如果為第三方都寫 platform)"
}
},
"title": "CreateAccountRequest",
"required": [
"account",
"token",
"token_check",
"platform",
"account_type"
]
},
"ForgetPasswordCodeReq": {
"type": "object",
"properties": {
"account": {
"type": "string",
"description": " 帳號名稱"
},
"account_type": {
"type": "string",
"description": " 帳號類型 (phone) 手機 (email) 信箱"
}
},
"title": "ForgetPasswordCodeReq",
"required": [
"account",
"account_type"
]
},
"LoginReq": {
"type": "object",
"properties": {
"account": {
"type": "string",
"description": " 帳號名稱"
},
"token": {
"type": "string",
"description": " 密碼或平台token密碼請 sha256 轉碼"
},
"platform": {
"type": "string",
"description": " 平台名稱 platform, google"
},
"account_type": {
"type": "string",
"description": " 帳號類型 1 手機 2 信箱 3 自定義帳號"
}
},
"title": "LoginReq",
"required": [
"account",
"token",
"platform",
"account_type"
]
},
"LoginTokenResp": {
"type": "object",
"properties": {
"uid": {
"type": "string",
"description": " Account"
},
"access_token": {
"type": "string",
"description": " 訪問令牌 預設 5 分鐘過期"
},
"refresh_token": {
"type": "string",
"description": " 刷新令牌 (預設一天過期,只能用一次)當呼叫更新token api 時,會自動把舊的失效,變成新的 refresh_token ,前端要記得過其實協助刷新,刷新不過表示全失效了(重新登入)"
},
"token_type": {
"type": "string",
"description": " Bearer"
}
},
"title": "LoginTokenResp",
"required": [
"uid",
"access_token",
"refresh_token",
"token_type"
]
},
"MemberLoginHeader": {
"type": "object",
"title": "MemberLoginHeader"
},
"ModifyPasswdReq": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": " 密碼或平台token密碼請 sha256 轉碼"
},
"token_check": {
"type": "string",
"description": " 密碼或平台token密碼請 sha256 轉碼"
}
},
"title": "ModifyPasswdReq",
"required": [
"token",
"token_check"
]
},
"PreVerifyForgetPasswdReq": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": " 聯繫方式,可以是 email 或 phone"
},
"verify_code": {
"type": "string",
"description": " 驗證碼長度為6"
}
},
"title": "PreVerifyForgetPasswdReq",
"required": [
"identifier",
"verify_code"
]
},
"RespOK": {
"type": "object",
"title": "RespOK"
},
"Status": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int64",
"description": " 狀態碼"
},
"message": {
"type": "string",
"description": " 訊息"
},
"data": {
"type": "object",
"description": " 可選的數據,當有返回時才出現"
},
"error": {
"type": "object",
"description": " 可選的錯誤信息"
}
},
"title": "Status",
"required": [
"code",
"message"
]
},
"UpdatePasswordReq": {
"type": "object",
"properties": {
"account": {
"type": "string",
"description": " 帳號名稱"
},
"verify_code": {
"type": "string",
"description": " 驗證碼長度為6"
},
"token": {
"type": "string",
"description": " 密碼或平台token密碼請 sha256 轉碼"
},
"token_check": {
"type": "string",
"description": " 密碼或平台token密碼請 sha256 轉碼"
}
},
"title": "UpdatePasswordReq",
"required": [
"account",
"verify_code",
"token",
"token_check"
]
},
"UpdateTokenReq": {
"type": "object",
"properties": {
"uid": {
"type": "string",
"description": " 誰要更新"
},
"token": {
"type": "string",
"description": " access token -\u003e 已過期要被更新的"
},
"refresh_token": {
"type": "string",
"description": " refresh token -\u003e 重點,要驗證他的"
}
},
"title": "UpdateTokenReq",
"required": [
"uid",
"token",
"refresh_token"
]
},
"UserInfo": {
"type": "object",
"properties": {
"platform": {
"type": "string",
"description": " 用戶平台 platform, google, line"
},
"uid": {
"type": "string",
"description": " 用戶 UID"
},
"avatar_url": {
"type": "string",
"description": " 頭像 URL可選"
},
"full_name": {
"type": "string",
"description": " 用戶全名"
},
"nickname": {
"type": "string",
"description": " 暱稱(可選)"
},
"gender_code": {
"type": "string",
"description": " 性別代碼 mail, femail ,sec"
},
"birthdate": {
"type": "string",
"description": " 生日 (格式: 19930417)"
},
"phone_number": {
"type": "string",
"description": " 電話"
},
"address": {
"type": "string",
"description": " 地址"
},
"email": {
"type": "string",
"description": " 驗證後的信箱"
},
"alarm_category": {
"type": "string",
"description": " 告警狀態"
},
"user_status": {
"type": "string",
"description": " 用戶狀態"
},
"preferred_language": {
"type": "string",
"description": " 使用語言"
},
"currency": {
"type": "string",
"description": " 使用幣種"
},
"update_at": {
"type": "string"
},
"create_at": {
"type": "string"
}
},
"title": "UserInfo",
"required": [
"platform",
"uid",
"avatar_url",
"full_name",
"nickname",
"gender_code",
"birthdate",
"phone_number",
"address",
"email",
"alarm_category",
"user_status",
"preferred_language",
"currency",
"update_at",
"create_at"
]
},
"VerificationCodeRequest": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": " 聯繫方式,可以是 email 或 phone"
},
"code_type": {
"type": "string",
"description": " 驗證碼類型"
}
},
"title": "VerificationCodeRequest",
"required": [
"identifier",
"code_type"
]
},
"VerifyHeader": {
"type": "object",
"title": "VerifyHeader"
}
},
"securityDefinitions": {
"apiKey": {
"type": "apiKey",
"description": "Enter JWT Bearer token **_only_**",
"name": "Authorization",
"in": "header"
}
}
}