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 telnyx
bash
npm install telnyx

Setup

初始化设置

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
client
is already initialized as shown above.
javascript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['TELNYX_API_KEY'], // 这是默认配置,可省略
});
所有以下示例均假设
client
已按上述方式完成初始化。

Error 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:
401
invalid API key,
403
insufficient permissions,
404
resource not found,
422
validation error (check field formats),
429
rate limited (retry with exponential backoff).
所有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('验证错误 — 检查必填字段和格式');
    }
  }
}
常见错误码:
401
API密钥无效,
403
权限不足,
404
资源未找到,
422
验证错误(检查字段格式),
429
请求速率受限(使用指数退避策略重试)。

Important Notes

重要注意事项

  • Phone numbers must be in E.164 format (e.g.,
    +13125550001
    ). Include the
    +
    prefix and country code. No spaces, dashes, or parentheses.
  • Pagination: List methods return an auto-paginating iterator. Use
    for await (const item of result) { ... }
    to iterate through all pages automatically.
  • 电话号码必须采用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:
caller_name
(object),
carrier
(object),
country_code
(string),
fraud
(string | null),
national_format
(string),
phone_number
(string),
portability
(object),
record_type
(string)
返回指定电话号码的相关信息。
GET /number_lookup/{phone_number}
javascript
const numberLookup = await client.numberLookup.retrieve('+18665552368');

console.log(numberLookup.data);
返回内容:
caller_name
(对象)、
carrier
(对象)、
country_code
(字符串)、
fraud
(字符串 | null)、
national_format
(字符串)、
phone_number
(字符串)、
portability
(对象)、
record_type
(字符串)

List 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:
created_at
(string),
custom_code
(string | null),
id
(uuid),
phone_number
(string),
record_type
(enum: verification),
status
(enum: pending, accepted, invalid, expired, error),
timeout_secs
(integer),
type
(enum: sms, call, flashcall),
updated_at
(string),
verify_profile_id
(uuid)
GET /verifications/by_phone_number/{phone_number}
javascript
const byPhoneNumbers = await client.verifications.byPhoneNumber.list('+13035551234');

console.log(byPhoneNumbers.data);
返回内容:
created_at
(字符串)、
custom_code
(字符串 | null)、
id
(uuid)、
phone_number
(字符串)、
record_type
(枚举值:verification)、
status
(枚举值:pending, accepted, invalid, expired, error)、
timeout_secs
(整数)、
type
(枚举值:sms, call, flashcall)、
updated_at
(字符串)、
verify_profile_id
(uuid)

Verify verification code by phone number

按电话号码验证验证码

POST /verifications/by_phone_number/{phone_number}/actions/verify
— Required:
code
,
verify_profile_id
javascript
const verifyVerificationCodeResponse = await client.verifications.byPhoneNumber.actions.verify(
  '+13035551234',
  { code: '17686', verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292' },
);

console.log(verifyVerificationCodeResponse.data);
Returns:
phone_number
(string),
response_code
(enum: accepted, rejected)
POST /verifications/by_phone_number/{phone_number}/actions/verify
— 必填参数:
code
,
verify_profile_id
javascript
const verifyVerificationCodeResponse = await client.verifications.byPhoneNumber.actions.verify(
  '+13035551234',
  { code: '17686', verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292' },
);

console.log(verifyVerificationCodeResponse.data);
返回内容:
phone_number
(字符串)、
response_code
(枚举值:accepted, rejected)

Trigger Call verification

触发语音验证

POST /verifications/call
— Required:
phone_number
,
verify_profile_id
Optional:
custom_code
(string | null),
extension
(string | null),
timeout_secs
(integer)
javascript
const createVerificationResponse = await client.verifications.triggerCall({
  phone_number: '+13035551234',
  verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});

console.log(createVerificationResponse.data);
Returns:
created_at
(string),
custom_code
(string | null),
id
(uuid),
phone_number
(string),
record_type
(enum: verification),
status
(enum: pending, accepted, invalid, expired, error),
timeout_secs
(integer),
type
(enum: sms, call, flashcall),
updated_at
(string),
verify_profile_id
(uuid)
POST /verifications/call
— 必填参数:
phone_number
,
verify_profile_id
可选参数:
custom_code
(字符串 | null)、
extension
(字符串 | null)、
timeout_secs
(整数)
javascript
const createVerificationResponse = await client.verifications.triggerCall({
  phone_number: '+13035551234',
  verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});

console.log(createVerificationResponse.data);
返回内容:
created_at
(字符串)、
custom_code
(字符串 | null)、
id
(uuid)、
phone_number
(字符串)、
record_type
(枚举值:verification)、
status
(枚举值:pending, accepted, invalid, expired, error)、
timeout_secs
(整数)、
type
(枚举值:sms, call, flashcall)、
updated_at
(字符串)、
verify_profile_id
(uuid)

Trigger Flash call verification

触发闪呼验证

POST /verifications/flashcall
— Required:
phone_number
,
verify_profile_id
Optional:
timeout_secs
(integer)
javascript
const createVerificationResponse = await client.verifications.triggerFlashcall({
  phone_number: '+13035551234',
  verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});

console.log(createVerificationResponse.data);
Returns:
created_at
(string),
custom_code
(string | null),
id
(uuid),
phone_number
(string),
record_type
(enum: verification),
status
(enum: pending, accepted, invalid, expired, error),
timeout_secs
(integer),
type
(enum: sms, call, flashcall),
updated_at
(string),
verify_profile_id
(uuid)
POST /verifications/flashcall
— 必填参数:
phone_number
,
verify_profile_id
可选参数:
timeout_secs
(整数)
javascript
const createVerificationResponse = await client.verifications.triggerFlashcall({
  phone_number: '+13035551234',
  verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});

console.log(createVerificationResponse.data);
返回内容:
created_at
(字符串)、
custom_code
(字符串 | null)、
id
(uuid)、
phone_number
(字符串)、
record_type
(枚举值:verification)、
status
(枚举值:pending, accepted, invalid, expired, error)、
timeout_secs
(整数)、
type
(枚举值:sms, call, flashcall)、
updated_at
(字符串)、
verify_profile_id
(uuid)

Trigger SMS verification

触发短信验证

POST /verifications/sms
— Required:
phone_number
,
verify_profile_id
Optional:
custom_code
(string | null),
timeout_secs
(integer)
javascript
const createVerificationResponse = await client.verifications.triggerSMS({
  phone_number: '+13035551234',
  verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});

console.log(createVerificationResponse.data);
Returns:
created_at
(string),
custom_code
(string | null),
id
(uuid),
phone_number
(string),
record_type
(enum: verification),
status
(enum: pending, accepted, invalid, expired, error),
timeout_secs
(integer),
type
(enum: sms, call, flashcall),
updated_at
(string),
verify_profile_id
(uuid)
POST /verifications/sms
— 必填参数:
phone_number
,
verify_profile_id
可选参数:
custom_code
(字符串 | null)、
timeout_secs
(整数)
javascript
const createVerificationResponse = await client.verifications.triggerSMS({
  phone_number: '+13035551234',
  verify_profile_id: '12ade33a-21c0-473b-b055-b3c836e1c292',
});

console.log(createVerificationResponse.data);
返回内容:
created_at
(字符串)、
custom_code
(字符串 | null)、
id
(uuid)、
phone_number
(字符串)、
record_type
(枚举值:verification)、
status
(枚举值:pending, accepted, invalid, expired, error)、
timeout_secs
(整数)、
type
(枚举值:sms, call, flashcall)、
updated_at
(字符串)、
verify_profile_id
(uuid)

Retrieve verification

查询验证记录详情

GET /verifications/{verification_id}
javascript
const verification = await client.verifications.retrieve('12ade33a-21c0-473b-b055-b3c836e1c292');

console.log(verification.data);
Returns:
created_at
(string),
custom_code
(string | null),
id
(uuid),
phone_number
(string),
record_type
(enum: verification),
status
(enum: pending, accepted, invalid, expired, error),
timeout_secs
(integer),
type
(enum: sms, call, flashcall),
updated_at
(string),
verify_profile_id
(uuid)
GET /verifications/{verification_id}
javascript
const verification = await client.verifications.retrieve('12ade33a-21c0-473b-b055-b3c836e1c292');

console.log(verification.data);
返回内容:
created_at
(字符串)、
custom_code
(字符串 | null)、
id
(uuid)、
phone_number
(字符串)、
record_type
(枚举值:verification)、
status
(枚举值:pending, accepted, invalid, expired, error)、
timeout_secs
(整数)、
type
(枚举值:sms, call, flashcall)、
updated_at
(字符串)、
verify_profile_id
(uuid)

Verify verification code by ID

按验证ID验证验证码

POST /verifications/{verification_id}/actions/verify
Optional:
code
(string),
status
(enum: accepted, rejected)
javascript
const verifyVerificationCodeResponse = await client.verifications.actions.verify(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
);

console.log(verifyVerificationCodeResponse.data);
Returns:
phone_number
(string),
response_code
(enum: accepted, rejected)
POST /verifications/{verification_id}/actions/verify
可选参数:
code
(字符串)、
status
(枚举值:accepted, rejected)
javascript
const verifyVerificationCodeResponse = await client.verifications.actions.verify(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
);

console.log(verifyVerificationCodeResponse.data);
返回内容:
phone_number
(字符串)、
response_code
(枚举值:accepted, rejected)

List all Verify profiles

查询所有验证配置文件

Gets a paginated list of Verify profiles.
GET /verify_profiles
javascript
// Automatically fetches more pages as needed.
for await (const verifyProfile of client.verifyProfiles.list()) {
  console.log(verifyProfile.id);
}
Returns:
call
(object),
created_at
(string),
flashcall
(object),
id
(uuid),
language
(string),
name
(string),
rcs
(object),
record_type
(enum: verification_profile),
sms
(object),
updated_at
(string),
webhook_failover_url
(string),
webhook_url
(string)
获取验证配置文件的分页列表。
GET /verify_profiles
javascript
// 自动按需获取更多分页内容
for await (const verifyProfile of client.verifyProfiles.list()) {
  console.log(verifyProfile.id);
}
返回内容:
call
(对象)、
created_at
(字符串)、
flashcall
(对象)、
id
(uuid)、
language
(字符串)、
name
(字符串)、
rcs
(对象)、
record_type
(枚举值:verification_profile)、
sms
(对象)、
updated_at
(字符串)、
webhook_failover_url
(字符串)、
webhook_url
(字符串)

Create a Verify profile

创建验证配置文件

Creates a new Verify profile to associate verifications with.
POST /verify_profiles
— Required:
name
Optional:
call
(object),
flashcall
(object),
language
(string),
rcs
(object),
sms
(object),
webhook_failover_url
(string),
webhook_url
(string)
javascript
const verifyProfileData = await client.verifyProfiles.create({ name: 'Test Profile' });

console.log(verifyProfileData.data);
Returns:
call
(object),
created_at
(string),
flashcall
(object),
id
(uuid),
language
(string),
name
(string),
rcs
(object),
record_type
(enum: verification_profile),
sms
(object),
updated_at
(string),
webhook_failover_url
(string),
webhook_url
(string)
创建新的验证配置文件,用于关联验证记录。
POST /verify_profiles
— 必填参数:
name
可选参数:
call
(对象)、
flashcall
(对象)、
language
(字符串)、
rcs
(对象)、
sms
(对象)、
webhook_failover_url
(字符串)、
webhook_url
(字符串)
javascript
const verifyProfileData = await client.verifyProfiles.create({ name: 'Test Profile' });

console.log(verifyProfileData.data);
返回内容:
call
(对象)、
created_at
(字符串)、
flashcall
(对象)、
id
(uuid)、
language
(字符串)、
name
(字符串)、
rcs
(对象)、
record_type
(枚举值:verification_profile)、
sms
(对象)、
updated_at
(字符串)、
webhook_failover_url
(字符串)、
webhook_url
(字符串)

Retrieve Verify profile message templates

查询验证配置文件消息模板

List all Verify profile message templates.
GET /verify_profiles/templates
javascript
const response = await client.verifyProfiles.retrieveTemplates();

console.log(response.data);
Returns:
id
(uuid),
text
(string)
列出所有验证配置文件的消息模板。
GET /verify_profiles/templates
javascript
const response = await client.verifyProfiles.retrieveTemplates();

console.log(response.data);
返回内容:
id
(uuid)、
text
(字符串)

Create message template

创建消息模板

Create a new Verify profile message template.
POST /verify_profiles/templates
— Required:
text
javascript
const messageTemplate = await client.verifyProfiles.createTemplate({
  text: 'Your {{app_name}} verification code is: {{code}}.',
});

console.log(messageTemplate.data);
Returns:
id
(uuid),
text
(string)
创建新的验证配置文件消息模板。
POST /verify_profiles/templates
— 必填参数:
text
javascript
const messageTemplate = await client.verifyProfiles.createTemplate({
  text: 'Your {{app_name}} verification code is: {{code}}.',
});

console.log(messageTemplate.data);
返回内容:
id
(uuid)、
text
(字符串)

Update message template

更新消息模板

Update an existing Verify profile message template.
PATCH /verify_profiles/templates/{template_id}
— Required:
text
javascript
const messageTemplate = await client.verifyProfiles.updateTemplate(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
  { text: 'Your {{app_name}} verification code is: {{code}}.' },
);

console.log(messageTemplate.data);
Returns:
id
(uuid),
text
(string)
更新已有的验证配置文件消息模板。
PATCH /verify_profiles/templates/{template_id}
— 必填参数:
text
javascript
const messageTemplate = await client.verifyProfiles.updateTemplate(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
  { text: 'Your {{app_name}} verification code is: {{code}}.' },
);

console.log(messageTemplate.data);
返回内容:
id
(uuid)、
text
(字符串)

Retrieve 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:
call
(object),
created_at
(string),
flashcall
(object),
id
(uuid),
language
(string),
name
(string),
rcs
(object),
record_type
(enum: verification_profile),
sms
(object),
updated_at
(string),
webhook_failover_url
(string),
webhook_url
(string)
获取单个验证配置文件信息。
GET /verify_profiles/{verify_profile_id}
javascript
const verifyProfileData = await client.verifyProfiles.retrieve(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
);

console.log(verifyProfileData.data);
返回内容:
call
(对象)、
created_at
(字符串)、
flashcall
(对象)、
id
(uuid)、
language
(字符串)、
name
(字符串)、
rcs
(对象)、
record_type
(枚举值:verification_profile)、
sms
(对象)、
updated_at
(字符串)、
webhook_failover_url
(字符串)、
webhook_url
(字符串)

Update Verify profile

更新验证配置文件

PATCH /verify_profiles/{verify_profile_id}
Optional:
call
(object),
flashcall
(object),
language
(string),
name
(string),
rcs
(object),
sms
(object),
webhook_failover_url
(string),
webhook_url
(string)
javascript
const verifyProfileData = await client.verifyProfiles.update(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
);

console.log(verifyProfileData.data);
Returns:
call
(object),
created_at
(string),
flashcall
(object),
id
(uuid),
language
(string),
name
(string),
rcs
(object),
record_type
(enum: verification_profile),
sms
(object),
updated_at
(string),
webhook_failover_url
(string),
webhook_url
(string)
PATCH /verify_profiles/{verify_profile_id}
可选参数:
call
(对象)、
flashcall
(对象)、
language
(字符串)、
name
(字符串)、
rcs
(对象)、
sms
(对象)、
webhook_failover_url
(字符串)、
webhook_url
(字符串)
javascript
const verifyProfileData = await client.verifyProfiles.update(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
);

console.log(verifyProfileData.data);
返回内容:
call
(对象)、
created_at
(字符串)、
flashcall
(对象)、
id
(uuid)、
language
(字符串)、
name
(字符串)、
rcs
(对象)、
record_type
(枚举值:verification_profile)、
sms
(对象)、
updated_at
(字符串)、
webhook_failover_url
(字符串)、
webhook_url
(字符串)

Delete 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:
call
(object),
created_at
(string),
flashcall
(object),
id
(uuid),
language
(string),
name
(string),
rcs
(object),
record_type
(enum: verification_profile),
sms
(object),
updated_at
(string),
webhook_failover_url
(string),
webhook_url
(string)
DELETE /verify_profiles/{verify_profile_id}
javascript
const verifyProfileData = await client.verifyProfiles.delete(
  '12ade33a-21c0-473b-b055-b3c836e1c292',
);

console.log(verifyProfileData.data);
返回内容:
call
(对象)、
created_at
(字符串)、
flashcall
(对象)、
id
(uuid)、
language
(字符串)、
name
(字符串)、
rcs
(对象)、
record_type
(枚举值:verification_profile)、
sms
(对象)、
updated_at
(字符串)、
webhook_failover_url
(字符串)、
webhook_url
(字符串)