UserInfo API

ログインユーザの情報取得や更新に関連するAPI

Overview#

ログイン済ユーザ情報の検索、更新などのフローと利用APIを説明します。 メールを送信するため、SendGridサービスを利用します。

Pre Requisites#

ログイン可能なHexabaseアカウントがすでに存在すること

API#

ログインユーザー情報#

ログインしているユーザーに関する情報を取得します。

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
43GetUserInfoユーザー情報取得GET/api/v0/userinfoユーザーの関連情報取得v0-
61UpdateUserInfoユーザー情報更新PUT/api/v0/userinfoユーザー名、情報の更新v0-

パスワード変更#

パスワードを忘れたユーザ向けに、パスワードを再発行します

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
56ResetPasswordパスワード初期化リクエストPOST/api/v0/users/password/forgotログイン前、パスワード初期化 開始v0-
57SetNewPasswordパスワード再登録PUT/api/v0/users/password/forgotログイン前、パスワード初期化 パスワードを変更v0-
58ValidatePasswordパスワード変更確認GET/api/v0/users/password/validateログイン前、パスワード初期化 パスワー変更状態の確認v0-
59SetPasswordパスワード変更登録PUT/api/v0/users/passwordログイン後、パスワード変更v0-

Sequence Diagram#

password_update Sequence

sequenceDiagram
participant br as Browser
participant ml as Mailer
participant ap as your WebSite(SPA)
participant hx as Hexabase
participant sg as SendGrid
%% register email
br->>+ap: access the URL
ap->>ap: Press "password forgot" button or link
ap->>+hx: ResetPassword [POST /users/password/forgot]
ap-->>-br: show "email sent" message
hx->>-sg: Send email request
Note right of hx: Hexabase will call sendgrid API
%% send mail from sendgrid
sg-->>+ml: Send email with url link and confirm id
Note right of ml: confirm id
ml->>ml: Click the URL link in the mail
ml->>+hx: [GET /users/password/validate]
%% redirect to "set password"
hx-->>-br: Redirect
br->>+ap: registration_path(redirect url)
ap->>ap: Enter new passwords
ap->>+hx: RegisterUser [POST /users/password]
hx->>hx: Reset to new password
hx-->>-ap: return result

メールアドレス変更#

登録したユーザーのメールアドレスを変更します

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
72UpdateUserEmailRequestメールアドレス変更リクエストPOST/api/v0/users/emailメールアドレス変更リクエストv0-
73ConfirmUserEmailメールアドレス変更確認GET/api/v0/users/confirmations/:confirmation_idメールアドレス変更確認v0-
74UpdateUserEmailメールアドレス変更POST/api/v0/users/confirmationsメールアドレスの変更を確定v0-

Sequence Diagram#

email_update Sequence

sequenceDiagram
participant br as Browser
participant ml as Mailer
participant ap as your WebSite(SPA)
participant hx as Hexabase
participant sg as SendGrid
%% register new email
br->>+ap: access the URL
ap->>ap: Enter new email and press Update
ap->>+hx: UpdateUserEmailRequest [POST /users/email]
Note right of ap: [email, registration_path(redirect url)]
ap-->>-br: show "email sent" message
hx->>-sg: Send email request
Note right of hx: Hexabase will call sendgrid API
%% send mail from sendgrid
sg-->>+ml: Send email with url link and confirm id
Note right of ml: confirm id
ml->>ml: Click the URL link in the mail
ml->>+hx: [GET /users/confirmations/xxxxxxx]
%% redirect to "confirm change email"
hx-->>-br: Redirect
br->>+ap: registration_path(redirect url)
ap->>ap: press Confirm button
ap->>+hx: RegisterUser [POST users/confirmations]
Note left of hx: confirmation_id
hx->>hx: Change email
hx-->>-ap: return status 200