注册您消息背后的企业
消息品牌用于标识发送 US 10DLC 消息的企业。请先注册品牌,再选择短信活动用例。请使用企业的法定详细信息以及能够完成所需验证的联系人。返回的品牌 ID 本身并不表示已获准发送消息。
请通过 HTTPS 使用当前帐户拥有的路由,并使用已启用的 API 帐户及其允许的源 IP 地址。请勿提交 user_id、username 或其他客户的属主标识符。MultiTEL 将根据经过身份验证的帐户记录所有权。
从明确的沙盒请求开始
门户表单的 mode 字段默认设为沙盒;若要创建模拟品牌,直接 API 请求必须明确包含 JSON 布尔值 mock: true。省略该标志并不保证进入沙盒,还可能创建计费的生产注册。门户的 mode 字段不能替代 API 的 mock 字段。
请使用以下字段准备本地 brand.json 文件。请将占位符替换为适当的测试详细信息和当前目录代码。本示例为私营盈利企业;其他实体类型的要求有所不同。
{
"entityType": "PRIVATE_PROFIT",
"displayName": "Example business",
"companyName": "Example legal business name",
"ein": "YOUR_TAX_ID",
"einIssuingCountry": "US",
"phone": "+12025550123",
"street": "123 Example Street",
"city": "Example City",
"state": "NY",
"postalCode": "10001",
"country": "US",
"email": "contact@example.invalid",
"brandRelationship": "BASIC_ACCOUNT",
"vertical": "CURRENT_VERTICAL_CODE",
"referenceId": "your-business-reference",
"mock": true
}上述企业、地址、电话和标识符均为占位符,而非可注册的企业身份。有关 entityType、vertical、country、state、brandRelationship 及其他枚举的当前值,请参阅 消息目录.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data-binary @brand.json \
'https://api.multitel.net/tcr/v2/brand/nonBlocking'企业与联系人字段
| 字段 | 需提供的内容 |
|---|---|
| entityType, displayName | 当前实体类型代码和可识别的品牌名称。最大长度分别为 20 和 255 个字符。 |
| country, street, city, state, postalCode | 实际企业地址。请使用双字母国家代码,并在适用时使用当前 US state 代码。限制:street 255、city 100、state 20 和 postalCode 10 个字符。 |
| email, phone | 可用的联系电子邮件,最多 100 个字符,以及国际 +国家代码格式的电话号码,最多 20 个字符。请在整个注册过程中保持企业详细信息一致。 |
| companyName, ein, einIssuingCountry | 对于组织,请提供法定公司名称和企业税号。标识符的签发国家为单独的双字母字段。限制:companyName 255 和 ein 21 个字符。个体经营者使用个人姓名字段,而非组织的税务身份。 |
| brandRelationship, vertical | 与企业的关系及其所属行业,请使用当前目录代码。组织必须提供这些信息;个体经营者规则有所不同。请勿使用翻译后的显示标签替代 API 代码。 |
| firstName, lastName, mobilePhone | 个体经营者必须提供。姓名字段各最多允许 100 个字符。请按国际格式提供符合条件的手机号码,以完成所需的 OTP 验证。 |
| stockSymbol, stockExchange, website, businessContactEmail | 上市公司还需要提供股票代码/交易所、website 以及符合条件的企业联系电子邮件,以完成额外的验证流程。限制:stockSymbol 10、website 255 和 businessContactEmail 255 个字符。 |
| altBusinessIdType, altBusinessId | 可选的备用企业标识符。请同时提供其类型和值。请使用当前类型目录;值最多允许 50 个字符。 |
| referenceId | 您的企业参考信息,最多 50 个字符。请根据当前实体特定要求,为个体经营者注册提供该信息。它属于企业元数据,而非请求的幂等键。 |
| website, ipAddress, tag | 适用时提供的其他网站、源 IP 元数据和标签值。这些信息不能确立帐户所有权,也不能替代身份检查。 |
| mock | JSON 布尔值。仅在预期的模拟工作流中使用 true;对于已明确审核的生产注册,请使用 false。请勿发送字符串 "false" 来替代 JSON 布尔值。 |
个体经营者支持 US 或加拿大注册,并在获得短信活动资格之前需要 OTP 验证。上市公司可能需要企业联系人验证步骤。GOVERNMENT 仅适用于 US 政府实体;其他组织请确认正确的实体类别。请遵循实体特定要求以及返回的验证错误。
保持稳定的幂等键
请为本次预期注册生成一个 Idempotency-Key。它必须包含 1–128 个不带空格的可打印 ASCII 字符。仅在 HTTP 方法、路径、查询字符串和确切请求正文字节完全相同时,方可重复使用同一键。即使不改变含义,重新设置 JSON 格式也会改变请求指纹。
已完成的带键请求可重放其存储的响应,而无需再次提交注册。仍在处理中的重复请求将返回 HTTP 409,并可能包含 Retry-After。使用相同键但请求内容已更改会产生冲突。请勿仅因请求超时或返回错误就生成新键:该企业可能已经注册。
在解决该请求期间,请保持 brand.json 不变。缓存的 500 或 502 可能重放原始错误,而不会重试注册。请保留返回的 brandId、requestId 和关联标头;在开始其他请求之前,请先核对现有品牌。
读取品牌及其状态
此 API 使用 HTTP 状态代码和直接 JSON 正文,而非 v3 status/response 信封。注册成功后将返回包含 brandId 的品牌对象。请存储该标识符,并检查返回的验证或身份状态。其他字段取决于实体和注册状态。
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/brand/$BRAND_ID"请仅读取属于您帐户的品牌。404 可能表示该品牌对此帐户不可用。完成所需验证后,请使用 品牌资质 查找其可用的短信活动用例。不得假定模拟资源符合生产发送条件。
生产费用
| 注册 | 费用 |
|---|---|
| 标准组织 | $5.00 |
| 个体经营者 | $4.45 |
| 模拟品牌 | 模拟工作流中不扣取品牌注册费用 |
这些零售金额已于十月24日(2026年)按当时的门户配置核对。请在生产注册前在门户中确认当前费用。短信活动费用、额外审核和消息使用费另计。生产注册在提交前会检查购买权限和可用资金;在注册中心成功创建品牌与本地计费是不同的处理步骤,因此请保留资源 ID,并在出现错误或计费问题时核对交易。
将模拟品牌转为生产品牌是经单独确认的工作流,并可能创建新的生产身份和费用。请勿假定在后续请求中将 mock 编辑为 false 即可转换现有品牌。
处理错误时避免重复创建品牌
| HTTP 结果 | 检查事项 |
|---|---|
| 400 | 请阅读字段错误。注册中心验证错误可能是 code/description 对象数组。本地幂等键验证也可能返回 400。 |
| 401、403 或 404 | 请检查 API 凭据、API 帐户允许的源 IP、客户权限和所有权。注册中心响应也可能带有自身的授权错误。 |
| 402 | 请检查资金和购买权限。请勿将未获资助的生产请求视为沙盒测试。 |
| 409 | 在等待处理中的请求时,请保持相同的键和不变的请求。正文/键冲突或不可恢复的先前响应需要先核对。 |
| 429 或限流器不可用响应 | 若存在 Retry-After,请遵守该标头。请在限制解除后,使用相同的预期请求和键重试。 |
| 500 或 502 | 远程操作可能已被接受。本地处理错误可能包含 requestId。请保存该标识并检查现有资源;请勿假定需要替代注册。 |