OTP API

OTP APIは、HTTPエンドポイントを使用して、SMS経由でワンタイムパスワード(OTP)の送信と確認を行うことができます。

ご利用のウェブサイトを登録するAPI

新しいURLを登録するには、次のエンドポイントに``POST``リクエストを送信してください。

https://api.xoxzo.com/otp/register-website/

次のパラメータを使用してください。

名前

説明

必須

データ型

website

ご利用になるURL

必須

UTF-8

https://www.xoxzo.com

テンプレートID

オプションのOTPテンプレートID

任意

整数

3

テンプレートIDは現在利用可能なテンプレートのリストです。現在、ご利用可能なテンプレートは1点です:

テンプレートID

3

あなたの確認コードは123456です。

※123456は送信されるOTPの例です。

レスポンスはJSON構造で返され、HTTP 201 CREATED ステータスコードが付与されます:

HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "message": "Website registered successfully."
}

もしウェブサイトが既に登録されている場合、以下のレスポンスが返され、HTTP 400 BAD REQUEST ステータスコードが付与されます:

HTTP/1.1 400 BAD REQUEST
Content-Type: application/json

{
    "website": [
        "website info with this website already exists."
    ]
}

注釈

  • ``template_id``は省略すると3がデフォルト値として使用されます。

  • API認証情報はドメインに関連付けられている必要があります。

OTPをリクエストするAPI

電話番号にOTPコードを送信するには、次のエンドポイントに``POST``リクエストを送信してください:

https://api.xoxzo.com/otp/request/

次のパラメータを使用してください。

名前

説明

必須

データ型

website

登録されたドメイン

必須

UTF-8

https://www.xoxzo.com

phone_number

E.164フォーマットの受信者番号

必須

E.164

+818012345678

レスポンスはJSON構造で返され、HTTP 201 CREATED ステータスコードが付与されます:

HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "msgid": "1234567890"
}

注釈

  • パラメータが不足しているか無効な場合、``400 Bad Request``が返されます。

  • 無効なAPI認証情報の場合、``401 Unauthorized``が返されます。

  • 各電話番号およびドメインごとに許可されるアクティブなOTPは1つのみです。

OTPを検証するAPI

ユーザーが送信したOTPを検証するには、次のエンドポイントに``POST``リクエストを送信してください。

https://api.xoxzo.com/otp/verify/

次のパラメータを使用してください。

名前

説明

必須

データ型

website

登録されたドメイン

必須

UTF-8

https://www.xoxzo.com

phone_number

受信者番号

必須

E.164

+818012345678

otp

ユーザーが送信したOTPコード

必須

数値

654321

レスポンスはJSON構造で返され、HTTP 200 OK ステータスコードが付与されます。

HTTP/1.1 200 OK
Content-Type: application/json

{
    "is_otp_valid": true,
    "user_identifier": "user@xoxzo.com",
    "phone_number": "+818012345678",
    "msgid": "1234567890",
    "website": "https://xoxzo.com"
}

以下は検証失敗の例です。

HTTP/1.1 200 OK
Content-Type: application/json

{
    "is_otp_valid": false,
    "message": "OTP is invalid.",
    "user_identifier": "engineering@xoxzo.com",
    "phone_number": "+818073662952",
    "website": "https://xoxzo.com"
}

注釈

  • OTPの検証には、電話番号とドメインが正確に一致することが必要です。

  • OTPは制限時間内で有効であり、番号/ドメインごとにアクティブなOTP1つのみが許可されます。