biz-member-gateway/gateway.json

786 lines
19 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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"
}
}
}