Зарегистрируйте бизнес, стоящий за вашими сообщениями
Бренд сообщений идентифицирует компанию, отправляющую сообщения US 10DLC. Зарегистрируйте бренд, прежде чем выбирать вариант использования кампании. Используйте юридические данные компании и контактное лицо, которое сможет пройти необходимую проверку. Возвращенный идентификатор бренда сам по себе не является разрешением на отправку сообщений.
Используйте этот актуальный маршрут, принадлежащий учетной записи, через HTTPS с включенной учетной записью API и ее разрешенным IP-адресом источника. Не отправляйте user_id, username или другой идентификатор владельца другого клиента. MultiTEL фиксирует принадлежность по аутентифицированной учетной записи.
Начните с явного запроса к песочнице
В форме портала поле mode по умолчанию установлено в режим песочницы; прямой запрос API должен явно содержать логическое значение JSON mock: true, если вы намерены создать тестовый бренд. Пропуск этого флага не гарантирует песочницу и может создать оплачиваемую боевую регистрацию. Поле mode портала не заменяет поле mock API.
Подготовьте локальный файл 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 символов и номер телефона в международном формате +country-code длиной до 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 года. Подтвердите актуальный тариф на портале перед боевой регистрацией. Плата за кампании, дополнительная проверка и использование обмена сообщениями оплачиваются отдельно. Боевая регистрация проверяет разрешение на покупку и доступное финансирование перед отправкой; успешное создание в реестре и локальное выставление счета — отдельные этапы обработки, поэтому сохраняйте идентификатор ресурса и сверяйте транзакции и устраняйте расхождения, если произошла ошибка или проблема с оплатой.
Перевод тестового бренда в боевой режим — это отдельно подтверждаемый сценарий, который может создать новую боевую идентичность и списание средств. Не предполагайте, что изменение mock на false в более позднем запросе преобразует существующий бренд.
Обрабатывайте ошибки без дублирования бренда
| Результат HTTP | Что проверить |
|---|---|
| 400 | Прочитайте ошибки полей. Ошибки проверки реестра могут быть массивом объектов code/description. Локальная проверка ключа идемпотентности также может возвращать 400. |
| 401, 403 или 404 | Проверьте учетные данные API, разрешенный IP-адрес источника учетной записи API, разрешения клиента и принадлежность. Ответ реестра также может содержать собственную ошибку авторизации. |
| 402 | Проверьте финансирование и разрешение на покупку. Не воспринимайте нефинансированный боевой запрос как тест песочницы. |
| 409 | Сохраняйте тот же ключ и неизмененный запрос при ожидании выполняющегося запроса. Конфликт измененного тела/ключа или невосстановимый предыдущий ответ сначала требуют проверки фактического состояния и устранения расхождений. |
| 429 или ответ о недоступности ограничителя | Учитывайте Retry-After, если он присутствует. Повторите тот же намеренный запрос и ключ после снятия ограничения. |
| 500 или 502 | Удаленная операция, возможно, уже принята. Ошибка локальной обработки может содержать requestId. Сохраните его и проверьте существующий ресурс; не предполагайте, что нужна заменяющая регистрация. |