telnyx-verify-javascript
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
Telnyx Verify - JavaScript
Telnyx 验证服务 - JavaScript
Installation
安装
bash
npm install telnyxbash
npm install telnyxSetup
初始化设置
javascript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});All examples below assume is already initialized as shown above.
clientjavascript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // 这是默认配置,可省略
});所有以下示例均假设已按上述方式完成初始化。
clientError Handling
错误处理
All API calls can fail with network errors, rate limits (429), validation errors (422),
or authentication errors (401). Always handle errors in production code:
javascript
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('Validation error — check required fields and formats');
}
}
}Common error codes: invalid API key, insufficient permissions,
resource not found, validation error (check field formats),
rate limited (retry with exponential backoff).
401403404422429所有API调用都可能因网络错误、速率限制(429)、验证错误(422)或身份验证错误(401)而失败。在生产代码中务必处理错误:
javascript
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('网络错误 — 检查连接后重试');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: 请求速率受限 — 等待后使用指数退避策略重试
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API错误 ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('验证错误 — 检查必填字段和格式');
}
}
}常见错误码: API密钥无效, 权限不足, 资源未找到, 验证错误(检查字段格式), 请求速率受限(使用指数退避策略重试)。
401403404422429Important Notes
重要注意事项
- Phone numbers must be in E.164 format (e.g., ). Include the
+13125550001prefix and country code. No spaces, dashes, or parentheses.+ - Pagination: List methods return an auto-paginating iterator. Use to iterate through all pages automatically.
for await (const item of result) { ... }
- 电话号码必须采用E.164格式(例如:)。需包含
+13125550001前缀和国家代码,不能有空格、连字符或括号。+ - 分页处理:列表类方法会返回自动分页的迭代器。使用可自动遍历所有分页内容。
for await (const item of result) { ... }
Lookup phone number data
查询电话号码数据
Returns information about the provided phone number.
GET /number_lookup/{phone_number}javascript
const numberLookup = await client.numberLookup.retrieve('+18665552368');
console.log(numberLookup.data);Returns: (object), (object), (string), (string | null), (string), (string), (object), (string)
caller_namecarriercountry_codefraudnational_formatphone_numberportabilityrecord_type返回指定电话号码的相关信息。
GET /number_lookup/{phone_number}javascript
const numberLookup = await client.numberLookup.retrieve('+18665552368');
console.log(numberLookup.data);返回内容:(对象)、(对象)、(字符串)、(字符串 | null)、(字符串)、(字符串)、(对象)、(字符串)
caller_namecarriercountry_codefraudnational_formatphone_numberportabilityrecord_typeList verifications by phone number
按电话号码查询验证记录
GET /verifications/by_phone_number/{phone_number}javascript
const byPhoneNumbers = await client.verifications.byPhoneNumber.list('+13035551234');
console.log(byPhoneNumbers.data);Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idGET /verifications/by_phone_number/{phone_number}javascript
const byPhoneNumbers = await client.verifications.byPhoneNumber.list('+13035551234');
console.log(byPhoneNumbers.data);返回内容:(字符串)、(字符串 | null)、(uuid)、(字符串)、(枚举值:verification)、(枚举值:pending, accepted, invalid, expired, error)、(整数)、(枚举值:sms, call, flashcall)、(字符串)、(uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idVerify verification code by phone number
按电话号码验证验证码
POST /verifications/by_phone_number/{phone_number}/actions/verifycodeverify_profile_idjavascript
const verifyVerificationCodeResponse = await client.verifications.byPhoneNumber.actions.verify(
'+13035551234',
{ code: '17686', verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292' },
);
console.log(verifyVerificationCodeResponse.data);Returns: (string), (enum: accepted, rejected)
phone_numberresponse_codePOST /verifications/by_phone_number/{phone_number}/actions/verifycodeverify_profile_idjavascript
const verifyVerificationCodeResponse = await client.verifications.byPhoneNumber.actions.verify(
'+13035551234',
{ code: '17686', verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292' },
);
console.log(verifyVerificationCodeResponse.data);返回内容:(字符串)、(枚举值:accepted, rejected)
phone_numberresponse_codeTrigger Call verification
触发语音验证
POST /verifications/callphone_numberverify_profile_idOptional: (string | null), (string | null), (integer)
custom_codeextensiontimeout_secsjavascript
const createVerificationResponse = await client.verifications.triggerCall({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/callphone_numberverify_profile_id可选参数:(字符串 | null)、(字符串 | null)、(整数)
custom_codeextensiontimeout_secsjavascript
const createVerificationResponse = await client.verifications.triggerCall({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);返回内容:(字符串)、(字符串 | null)、(uuid)、(字符串)、(枚举值:verification)、(枚举值:pending, accepted, invalid, expired, error)、(整数)、(枚举值:sms, call, flashcall)、(字符串)、(uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idTrigger Flash call verification
触发闪呼验证
POST /verifications/flashcallphone_numberverify_profile_idOptional: (integer)
timeout_secsjavascript
const createVerificationResponse = await client.verifications.triggerFlashcall({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/flashcallphone_numberverify_profile_id可选参数:(整数)
timeout_secsjavascript
const createVerificationResponse = await client.verifications.triggerFlashcall({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);返回内容:(字符串)、(字符串 | null)、(uuid)、(字符串)、(枚举值:verification)、(枚举值:pending, accepted, invalid, expired, error)、(整数)、(枚举值:sms, call, flashcall)、(字符串)、(uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idTrigger SMS verification
触发短信验证
POST /verifications/smsphone_numberverify_profile_idOptional: (string | null), (integer)
custom_codetimeout_secsjavascript
const createVerificationResponse = await client.verifications.triggerSMS({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/smsphone_numberverify_profile_id可选参数:(字符串 | null)、(整数)
custom_codetimeout_secsjavascript
const createVerificationResponse = await client.verifications.triggerSMS({
phone_number: '+13035551234',
verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});
console.log(createVerificationResponse.data);返回内容:(字符串)、(字符串 | null)、(uuid)、(字符串)、(枚举值:verification)、(枚举值:pending, accepted, invalid, expired, error)、(整数)、(枚举值:sms, call, flashcall)、(字符串)、(uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idRetrieve verification
查询验证记录详情
GET /verifications/{verification_id}javascript
const verification = await client.verifications.retrieve('12ade33a-21c0-473b-b055-b3c836e1c292');
console.log(verification.data);Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idGET /verifications/{verification_id}javascript
const verification = await client.verifications.retrieve('12ade33a-21c0-473b-b055-b3c836e1c292');
console.log(verification.data);返回内容:(字符串)、(字符串 | null)、(uuid)、(字符串)、(枚举值:verification)、(枚举值:pending, accepted, invalid, expired, error)、(整数)、(枚举值:sms, call, flashcall)、(字符串)、(uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idVerify verification code by ID
按验证ID验证验证码
POST /verifications/{verification_id}/actions/verifyOptional: (string), (enum: accepted, rejected)
codestatusjavascript
const verifyVerificationCodeResponse = await client.verifications.actions.verify(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyVerificationCodeResponse.data);Returns: (string), (enum: accepted, rejected)
phone_numberresponse_codePOST /verifications/{verification_id}/actions/verify可选参数:(字符串)、(枚举值:accepted, rejected)
codestatusjavascript
const verifyVerificationCodeResponse = await client.verifications.actions.verify(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyVerificationCodeResponse.data);返回内容:(字符串)、(枚举值:accepted, rejected)
phone_numberresponse_codeList all Verify profiles
查询所有验证配置文件
Gets a paginated list of Verify profiles.
GET /verify_profilesjavascript
// Automatically fetches more pages as needed.
for await (const verifyProfile of client.verifyProfiles.list()) {
console.log(verifyProfile.id);
}Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url获取验证配置文件的分页列表。
GET /verify_profilesjavascript
// 自动按需获取更多分页内容
for await (const verifyProfile of client.verifyProfiles.list()) {
console.log(verifyProfile.id);
}返回内容:(对象)、(字符串)、(对象)、(uuid)、(字符串)、(字符串)、(对象)、(枚举值:verification_profile)、(对象)、(字符串)、(字符串)、(字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlCreate a Verify profile
创建验证配置文件
Creates a new Verify profile to associate verifications with.
POST /verify_profilesnameOptional: (object), (object), (string), (object), (object), (string), (string)
callflashcalllanguagercssmswebhook_failover_urlwebhook_urljavascript
const verifyProfileData = await client.verifyProfiles.create({ name: 'Test Profile' });
console.log(verifyProfileData.data);Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url创建新的验证配置文件,用于关联验证记录。
POST /verify_profilesname可选参数:(对象)、(对象)、(字符串)、(对象)、(对象)、(字符串)、(字符串)
callflashcalllanguagercssmswebhook_failover_urlwebhook_urljavascript
const verifyProfileData = await client.verifyProfiles.create({ name: 'Test Profile' });
console.log(verifyProfileData.data);返回内容:(对象)、(字符串)、(对象)、(uuid)、(字符串)、(字符串)、(对象)、(枚举值:verification_profile)、(对象)、(字符串)、(字符串)、(字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlRetrieve Verify profile message templates
查询验证配置文件消息模板
List all Verify profile message templates.
GET /verify_profiles/templatesjavascript
const response = await client.verifyProfiles.retrieveTemplates();
console.log(response.data);Returns: (uuid), (string)
idtext列出所有验证配置文件的消息模板。
GET /verify_profiles/templatesjavascript
const response = await client.verifyProfiles.retrieveTemplates();
console.log(response.data);返回内容:(uuid)、(字符串)
idtextCreate message template
创建消息模板
Create a new Verify profile message template.
POST /verify_profiles/templatestextjavascript
const messageTemplate = await client.verifyProfiles.createTemplate({
text: 'Your {{app_name}} verification code is: {{code}}.',
});
console.log(messageTemplate.data);Returns: (uuid), (string)
idtext创建新的验证配置文件消息模板。
POST /verify_profiles/templatestextjavascript
const messageTemplate = await client.verifyProfiles.createTemplate({
text: 'Your {{app_name}} verification code is: {{code}}.',
});
console.log(messageTemplate.data);返回内容:(uuid)、(字符串)
idtextUpdate message template
更新消息模板
Update an existing Verify profile message template.
PATCH /verify_profiles/templates/{template_id}textjavascript
const messageTemplate = await client.verifyProfiles.updateTemplate(
'12ade33a-21c0-473b-b055-b3c836e1c292',
{ text: 'Your {{app_name}} verification code is: {{code}}.' },
);
console.log(messageTemplate.data);Returns: (uuid), (string)
idtext更新已有的验证配置文件消息模板。
PATCH /verify_profiles/templates/{template_id}textjavascript
const messageTemplate = await client.verifyProfiles.updateTemplate(
'12ade33a-21c0-473b-b055-b3c836e1c292',
{ text: 'Your {{app_name}} verification code is: {{code}}.' },
);
console.log(messageTemplate.data);返回内容:(uuid)、(字符串)
idtextRetrieve Verify profile
查询验证配置文件详情
Gets a single Verify profile.
GET /verify_profiles/{verify_profile_id}javascript
const verifyProfileData = await client.verifyProfiles.retrieve(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url获取单个验证配置文件信息。
GET /verify_profiles/{verify_profile_id}javascript
const verifyProfileData = await client.verifyProfiles.retrieve(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);返回内容:(对象)、(字符串)、(对象)、(uuid)、(字符串)、(字符串)、(对象)、(枚举值:verification_profile)、(对象)、(字符串)、(字符串)、(字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlUpdate Verify profile
更新验证配置文件
PATCH /verify_profiles/{verify_profile_id}Optional: (object), (object), (string), (string), (object), (object), (string), (string)
callflashcalllanguagenamercssmswebhook_failover_urlwebhook_urljavascript
const verifyProfileData = await client.verifyProfiles.update(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlPATCH /verify_profiles/{verify_profile_id}可选参数:(对象)、(对象)、(字符串)、(字符串)、(对象)、(对象)、(字符串)、(字符串)
callflashcalllanguagenamercssmswebhook_failover_urlwebhook_urljavascript
const verifyProfileData = await client.verifyProfiles.update(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);返回内容:(对象)、(字符串)、(对象)、(uuid)、(字符串)、(字符串)、(对象)、(枚举值:verification_profile)、(对象)、(字符串)、(字符串)、(字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlDelete Verify profile
删除验证配置文件
DELETE /verify_profiles/{verify_profile_id}javascript
const verifyProfileData = await client.verifyProfiles.delete(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlDELETE /verify_profiles/{verify_profile_id}javascript
const verifyProfileData = await client.verifyProfiles.delete(
'12ade33a-21c0-473b-b055-b3c836e1c292',
);
console.log(verifyProfileData.data);返回内容:(对象)、(字符串)、(对象)、(uuid)、(字符串)、(字符串)、(对象)、(枚举值:verification_profile)、(对象)、(字符串)、(字符串)、(字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url