OTP API

The OTP API allows you to send and verify one-time passwords (OTP) via SMS using HTTP endpoints.

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

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

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

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

名前

説明

必須

データ型

website

ご利用になるURL

必須

UTF-8

https://xoxzo.com

テンプレートID

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

任意

整数

3

Template ID is a list of templates that currently we have. Currently, only one template is available:

テンプレートID

3

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

*123456 is an example of the numbers 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 defaults to 3 if omitted.

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

OTPをリクエストするAPI

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

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

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

名前

説明

必須

データ型

website

登録されたドメイン

必須

UTF-8

https://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 is returned if parameters are missing or invalid.

  • 401 Unauthorized is returned for invalid API credentials.

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

OTPを検証するAPI

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

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

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

名前

説明

必須

データ型

website

登録されたドメイン

必須

UTF-8

https://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つのみが許可されます。