Skip to main content

App Registration の電話番号認証を作成

Endpoint

POST https://api.verifik.co/v2/phone-validations/app-registration

Phone Validation は、アプリ登録プロセス中に電話番号を処理・検証できる、Verifik システム内のインスタンスです。このプロセスによりユーザーの電話番号の真正性が確保され、SMS または WhatsApp の配信方法による安全な確認が可能になります。

warning

App Registration Phone Validations を作成するときに使用する JWT Token は、App Registration の作成時に提供されます。App Registration の作成時に返されるトークンを使用して、このリクエストを認証する必要があります。

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

Params

NameTypeRequiredDescription
projectstringYesこの電話番号認証が使用されるプロジェクトの一意の識別子
validationMethodstringYes検証方法。verificationCode である必要があります
phonestringYes検証対象の電話番号。処理中にスペースは自動的に除去されます
countryCodestringYes電話番号の国コード。形式は +XXX(例: パナマは +507、米国は +1)。+ の後に 1〜3 桁の数字という形式に一致する必要があります
typestringYes検証の種類。次のいずれかである必要があります: validationloginonboarding、または oneTimeLink
expiresAtstringNo検証コードの任意の有効期限。指定しない場合、デフォルトの有効期限が設定されます。形式: ISO 8601(例: 2024-12-31T23:59:59.000Z
redirectUrlstringNo検証後のリダイレクト用の任意の URL
webhookUrlstringNo検証通知用の任意の Webhook URL
identityUrlstringNo任意のアイデンティティ検証 URL
requires2FAbooleanNo二要素認証が必要かどうかを示す任意のフラグ。デフォルトは false
ipAddressstringNoユーザーの任意の IP アドレス

Validation Method Values

ValueDescription
verificationCode確認用のワンタイムパスワード(OTP)を電話番号に送信します

Type Values

ValueDescription
onboardingユーザー登録時の電話番号確認(App Registration 向けに推奨)
validation一般的な電話番号検証
loginユーザーログイン時の電話番号確認
oneTimeLinkワンタイムリンク検証

Request

const fetch = require("node-fetch");

async function run() {
const res = await fetch("https://api.verifik.co/v2/phone-validations/app-registration", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
project: "507f1f77bcf86cd799439011",
validationMethod: "verificationCode",
phone: "62647737",
countryCode: "+507",
type: "onboarding"
}),
});
console.log(await res.json());
}

run();

Response

{
"data": {
"client": "507f1f77bcf86cd799439013",
"project": "507f1f77bcf86cd799439011",
"projectFlow": "507f1f77bcf86cd799439015",
"status": "sent",
"countryCode": "+507",
"phone": "62647737",
"phoneGateway": "whatsapp",
"otp": "$2a$10$/v55.1QmwlCdX6zD1jy51OF87POIDZzj30.UmTtp13pZv6uKm.a.m",
"expiresAt": "2024-12-02T17:15:35.000Z",
"phoneData": {},
"type": "validation",
"redirectUrl": "https://api.verifik.co",
"requires2FA": false,
"ipAddress": "172.17.0.1",
"language": "en",
"_id": "674de8df21c72be3cc42b8a7",
"updatedAt": "2024-12-02T17:05:36.788Z",
"createdAt": "2024-12-02T17:05:36.788Z",
"__v": 0,
"new": true
}
}

Notes

  • 国コードの形式: countryCode+XXX 形式である必要があります(X は数字、最大 1〜3 桁)。例: +1+507+52
  • 電話番号: 電話番号内のスペースは処理中に自動的に除去されます。
  • OTP のセキュリティ: OTP はセキュリティのため、保存前に bcrypt で暗号化されます。
  • デフォルトのゲートウェイ: 電話番号認証は、プロジェクトフローの設定に基づき、デフォルトで WhatsApp 配信になります。
  • 自動リンク: app-registration エンドポイント経由で作成すると、電話番号認証はユーザーの App Registration レコードに自動的にリンクされます。
  • クレジット課金: このエンドポイントは SmartEnroll プランから自動的にクレジットを課金します。
  • App Registration が必要: このエンドポイントにはアクティブな App Registration セッションが必要です。App Registration 作成時に返されるトークンを使用する必要があります。