sinch-numbers-api
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSinch Numbers API
Sinch Numbers API
The Numbers API lets you search, activate, manage, and release phone numbers — the prerequisite for SMS, Voice, and Conversation APIs.
Numbers API可让您搜索、激活、管理和释放电话号码——这是使用SMS、Voice和Conversation API的前提条件。
Instructions
操作步骤
Step 1: Choose approach
步骤1:选择实现方式
- SDK project? Default to SDK if (Node),
@sinch/sdk-core(Python), orsinch(Java) is present.com.sinch.sdk - Direct HTTP? Use curl/fetch with Basic auth.
For SDK code, read the correct reference before generating any code:
| Language | Reference | SDK docs |
|---|---|---|
| TypeScript/Node.js | references/typescript.md | Syntax reference |
| Python | references/python.md | Syntax reference |
| Java | references/java.md | Syntax reference |
For direct HTTP calls, see Numbers API Reference.
- 使用SDK项目? 如果项目中已存在(Node.js)、
@sinch/sdk-core(Python)或sinch(Java),默认使用SDK。com.sinch.sdk - 直接调用HTTP? 使用curl/fetch并结合Basic auth进行调用。
在生成任何代码前,请先阅读对应语言的SDK参考文档:
| 语言 | 参考文档 | SDK文档 |
|---|---|---|
| TypeScript/Node.js | references/typescript.md | 语法参考 |
| Python | references/python.md | 语法参考 |
| Java | references/java.md | 语法参考 |
如果是直接调用HTTP,请查看Numbers API参考文档。
Step 2: Authenticate
步骤2:身份验证
See sinch-authentication for full setup. Use Basic auth () for quick starts, OAuth2 for production.
-u KEY_ID:KEY_SECRET完整设置请查看sinch-authentication。快速入门可使用Basic auth(),生产环境建议使用OAuth2。
-u KEY_ID:KEY_SECRETStep 3: Verify connectivity
步骤3:验证连通性
bash
curl -X GET "https://numbers.api.sinch.com/v1/projects/{PROJECT_ID}/activeNumbers?regionCode=US&type=LOCAL&pageSize=10" \
-u {KEY_ID}:{KEY_SECRET}A 200 response confirms credentials and project access.
bash
curl -X GET "https://numbers.api.sinch.com/v1/projects/{PROJECT_ID}/activeNumbers?regionCode=US&type=LOCAL&pageSize=10" \
-u {KEY_ID}:{KEY_SECRET}返回200状态码即表示凭证和项目访问权限验证通过。
Workflows
工作流
Search and rent a number
搜索并租赁号码
- — discover valid
GET /availableRegionsvaluesregionCode - — search (both params required)
GET /availableNumbers?regionCode={code}&type={type} - Pick a number → with config body
POST /availableNumbers/{phoneNumber}:rent - — confirm activation
GET /activeNumbers/{phoneNumber}
Use to skip step 3 (US LOCAL numbers only).
POST /availableNumbers:rentAny- —— 获取有效的
GET /availableRegions值regionCode - —— 搜索号码(两个参数必填)
GET /availableNumbers?regionCode={code}&type={type} - 选择一个号码 → 携带配置体调用
POST /availableNumbers/{phoneNumber}:rent - —— 确认号码已激活
GET /activeNumbers/{phoneNumber}
对于美国本地号码,可使用跳过步骤3。
POST /availableNumbers:rentAnySafe retries for billable operations
计费操作的安全重试机制
Before retrying any potentially billable action (for example , , or ) after an incomplete/uncertain response:
:rent:rentAny:release- Check current state first using a read endpoint (or
GET /activeNumbers/{phoneNumber}with filters)GET /activeNumbers - Retry only if the verification shows the prior action did not succeed
- If state is ambiguous, prefer listing active numbers and matching on before issuing another billable request
phoneNumber
在对可能产生计费的操作(例如、或)收到不完整/不确定的响应后进行重试前:
:rent:rentAny:release- 先通过只读端点(或带筛选条件的
GET /activeNumbers/{phoneNumber})检查当前状态GET /activeNumbers - 仅当验证显示之前的操作未成功时再进行重试
- 如果状态不明确,建议先列出所有活跃号码并匹配,再发起新的计费请求
phoneNumber
Update number configuration
更新号码配置
- — check current config
GET /activeNumbers/{phoneNumber} - — set
PATCH /activeNumbers/{phoneNumber},displayName, orsmsConfigurationvoiceConfiguration - To unlink, send empty string in
""orservicePlanIdcampaignId
- —— 查看当前配置
GET /activeNumbers/{phoneNumber} - —— 设置
PATCH /activeNumbers/{phoneNumber}、displayName或smsConfigurationvoiceConfiguration - 如需解除关联,在或
servicePlanId中传入空字符串campaignId""
Release a number
释放号码
POST /activeNumbers/{phoneNumber}:release调用
POST /activeNumbers/{phoneNumber}:releaseFetch all numbers to JSON
将所有号码导出为JSON
Run (uses , , env vars). Supports and filters.
node scripts/get_numbers.cjs --output numbers.jsonSINCH_PROJECT_IDSINCH_KEY_IDSINCH_KEY_SECRET--region--type运行(使用环境变量、、)。支持和筛选条件。
node scripts/get_numbers.cjs --output numbers.jsonSINCH_PROJECT_IDSINCH_KEY_IDSINCH_KEY_SECRET--region--typeEmergency addresses
紧急地址
Use the emergency address endpoints on active numbers: , , , . See API reference.
GETprovisiondeprovisionvalidateNumber orders (KYC-regulated regions)
号码订单(受KYC监管的区域)
Use the endpoints: → → upload registration/attachments → . See API reference.
numberOrderslookupNumberRequirementscreateNumberOrdersubmitImported numbers
导入号码
A separate API at handles importing non-Sinch numbers (DCA) and hosting orders. See API reference.
https://imported.numbers.api.sinch.com独立API地址用于处理非Sinch号码(DCA)的导入和托管订单。详情请查看API参考文档。
https://imported.numbers.api.sinch.comGotchas
注意事项
- Param names differ between endpoints: uses
GET /activeNumbers(singular) andcapability.pageSizeusesGET /availableNumbers(plural) andcapabilities(single page, no pagination).size - defaults to
type— omitting it returns only MOBILE numbers, not all types.MOBILE - Always set explicitly on
pageSize— no documented default.GET /activeNumbers - is US LOCAL only — use
rentAnyfor other types/regions.:rent - Do not blindly retry billable actions — if output is incomplete, verify state via (or list + filter) before retrying
GET /activeNumbers/{phoneNumber},:rent, or:rentAny.:release - Never pass both config objects unnecessarily — sending empty when you only need SMS will error.
voiceConfiguration - Unlink before relinking — a number must be detached from its current service/campaign before attaching to a new one.
- is US-only — required for 10DLC, irrelevant elsewhere.
campaignId - /
scheduledProvisioningare objects (withscheduledVoiceProvisioning,status,lastUpdatedTime), not strings. Status values:errorCodes,PROVISIONING_STATUS_UNSPECIFIED,WAITING,IN_PROGRESS.FAILED - is a discriminated union on
voiceConfiguration:type→RTC,appId→EST,trunkId→FAX.serviceId - Callback config () sets only
PATCH /callbackConfigurationfor HMAC-SHA1 signature verification — it does not set a callback URL.hmacSecret - Callback IP allowlist: ,
54.76.19.159,54.78.194.39.54.155.83.128
- 端点间参数名称不同:使用
GET /activeNumbers(单数)和capability;pageSize使用GET /availableNumbers(复数)和capabilities(单页,无分页)。size - 默认值为
type—— 省略该参数将仅返回移动号码,而非所有类型。MOBILE - 需显式设置
GET /activeNumbers—— 官方文档未说明默认值。pageSize - 仅适用于美国本地号码 —— 其他类型/区域请使用
rentAny。:rent - 请勿盲目重试计费操作 —— 如果输出不完整,在重试、
:rent或:rentAny前,请先通过:release(或列表+筛选)验证状态。GET /activeNumbers/{phoneNumber} - 请勿不必要地同时传递两个配置对象 —— 仅需SMS时发送空的会导致错误。
voiceConfiguration - 解除关联后再重新关联 —— 号码必须先与当前服务/活动解除关联,才能绑定到新的服务/活动。
- 仅适用于美国 —— 10DLC要求必填,其他区域无需设置。
campaignId - /
scheduledProvisioning是对象(包含scheduledVoiceProvisioning、status、lastUpdatedTime),而非字符串。状态值包括:errorCodes、PROVISIONING_STATUS_UNSPECIFIED、WAITING、IN_PROGRESS。FAILED - 是基于
voiceConfiguration的区分联合类型:type对应RTC,appId对应EST,trunkId对应FAX。serviceId - 回调配置()仅设置用于HMAC-SHA1签名验证的
PATCH /callbackConfiguration—— 不设置回调URL。hmacSecret - 回调IP白名单:、
54.76.19.159、54.78.194.39。54.155.83.128