UserRegistration API

新規ユーザを登録し、最初のワークスペースを作成する

Overview#

システムへはじめてのユーザを登録するためのフローと利用APIを説明します。 メールを送信するために、SendGridサービスの利用が必須です。

Pre Requisites#

Hexabase社へEmail送信用のSendGridのAPI_KEY、テンプレートIDを連絡し、email_template_idの発行を受けます。 (Optional) Hexabaseデフォルトのメールテンプレートを利用すればemail_template_idの発行をしなくても開発を進めることができます。

API#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
53UserRegistration初回ユーザー登録POST/api/v0/users/registrationユーザーの初期登録用リクエストv0-
55RegisterUserユーザー初期登録POST/api/v0/users/registration/confirmユーザーの初期登録、パスワード登録v0-

Sequence Diagram#

User Registration 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: Enter email and press Register
ap->>+hx: UserRegistration [POST /users/registration]
Note right of ap: [email, email_template_id, registration_path(redirect url)]
ap-->>-br: show "email sent" message
hx->>-sg: Send email request
Note right of hx: Hexabase will call sendgrid API using template settings
%% 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/registration/confirm&id=xxxxxxx]
%% redirect to "set password"
hx-->>-br: Redirect
br->>+ap: registration_path(redirect url)
ap->>ap: Enter initial passwords
ap->>+hx: RegisterUser [POST users/registration/confirm]
Note left of hx: confirmation_id, email, password, user_info
hx->>hx: Create default workspace and group<br> and add the user in it
hx-->>-ap: return result