Daftarkan bisnis di balik pesan Anda
Brand pesan mengidentifikasi bisnis yang mengirim pesan US 10DLC. Daftarkan brand sebelum memilih kasus penggunaan kampanye. Gunakan rincian resmi bisnis dan kontak yang dapat menyelesaikan validasi yang diperlukan. ID brand yang dikembalikan bukanlah persetujuan untuk mengirim pesan.
Gunakan rute milik akun terkini ini melalui HTTPS dengan akun API yang diaktifkan dan alamat IP sumber yang diizinkan. Jangan kirimkan user_id, username atau pengenal pemilik pelanggan lain. MultiTEL mencatat kepemilikan dari akun yang diautentikasi.
Mulai dengan permintaan sandbox yang eksplisit
Formulir portal secara baku menggunakan mode sandbox; permintaan API langsung harus secara eksplisit menyertakan boolean JSON mock: true ketika Anda bermaksud membuat brand tiruan. Menghilangkan tanda tersebut bukan jaminan sandbox dan dapat membuat pendaftaran produksi yang dapat ditagih. Kolom mode portal bukan pengganti kolom mock API.
Siapkan berkas brand.json lokal menggunakan kolom di bawah ini. Ganti nilai contoh dengan rincian pengujian yang sesuai dan kode katalog terkini. Contoh ini adalah bisnis laba swasta; jenis entitas lain memiliki persyaratan berbeda.
{
"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
}Bisnis, alamat, telepon, dan pengenal di atas adalah nilai contoh, bukan identitas bisnis yang siap didaftarkan. Dapatkan nilai terkini untuk entityType, vertical, country, state, brandRelationship dan enumerasi lain dari katalog pengiriman pesan.
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'Kolom bisnis dan kontak
| Kolom | Yang harus diberikan |
|---|---|
| entityType, displayName | Kode jenis entitas terkini dan nama brand yang mudah dikenali. Panjang maksimum masing-masing adalah 20 dan 255 karakter. |
| country, street, city, state, postalCode | Alamat bisnis yang sebenarnya. Gunakan kode negara dua huruf dan kode state US terkini bila berlaku. Batasan: street 255, city 100, state 20 dan postalCode 10 karakter. |
| email, phone | Email kontak yang aktif, hingga 100 karakter, dan nomor telepon dalam format internasional +kode negara, hingga 20 karakter. Jaga agar rincian bisnis tetap konsisten di seluruh pendaftaran. |
| companyName, ein, einIssuingCountry | Untuk organisasi, berikan nama perusahaan resmi dan pengenal pajak bisnis. Negara penerbit pengenal adalah kolom dua huruf yang terpisah. Batasan: companyName 255 dan ein 21 karakter. Pemilik tunggal menggunakan kolom nama pribadi, bukan identitas pajak organisasi. |
| brandRelationship, vertical | Hubungan dengan bisnis dan industrinya, menggunakan kode katalog terkini. Organisasi wajib mengisinya; aturan pemilik tunggal berbeda. Jangan mengganti kode API dengan label tampilan yang diterjemahkan. |
| firstName, lastName, mobilePhone | Wajib bagi pemilik tunggal. Kolom nama masing-masing memungkinkan hingga 100 karakter. Berikan nomor ponsel yang memenuhi syarat untuk validasi OTP yang diwajibkan, dalam format internasional. |
| stockSymbol, stockExchange, website, businessContactEmail | Perusahaan publik juga memerlukan simbol/bursa saham, website dan email kontak bisnis yang memenuhi syarat untuk proses validasi tambahan. Batasan: stockSymbol 10, website 255 dan businessContactEmail 255 karakter. |
| altBusinessIdType, altBusinessId | Pengenal bisnis alternatif yang bersifat opsional. Berikan jenis dan nilainya bersama-sama. Gunakan katalog jenis terkini; nilainya memungkinkan hingga 50 karakter. |
| referenceId | Referensi bisnis Anda, hingga 50 karakter. Sertakan untuk pendaftaran pemilik tunggal sesuai persyaratan khusus entitas terkini. Ini adalah metadata bisnis, bukan kunci idempotensi permintaan. |
| website, ipAddress, tag | Nilai situs web tambahan, metadata IP asal, dan nilai tag bila berlaku. Nilai ini tidak menetapkan kepemilikan akun atau menggantikan pemeriksaan identitas. |
| mock | Boolean JSON. Gunakan true hanya untuk alur tiruan yang dimaksudkan; gunakan false untuk pendaftaran produksi yang telah ditinjau secara eksplisit. Jangan kirim string "false" sebagai pengganti boolean JSON. |
Pemilik tunggal didukung untuk pendaftaran US atau Kanada dan memerlukan verifikasi OTP sebelum memenuhi syarat kampanye. Perusahaan publik dapat memerlukan langkah validasi kontak bisnis. GOVERNMENT hanya untuk entitas pemerintah berbasis US; konfirmasikan kategori entitas yang benar untuk organisasi lain. Ikuti persyaratan khusus entitas serta kesalahan validasi yang dikembalikan.
Pertahankan kunci idempotensi yang stabil
Buat satu Idempotency-Key untuk pendaftaran yang dimaksudkan ini. Kunci harus berisi 1–128 karakter ASCII yang dapat dicetak tanpa spasi. Gunakan kembali kunci yang sama hanya dengan metode HTTP, jalur, string kueri, dan byte isi permintaan yang sama persis. Memformat ulang JSON, meskipun tanpa mengubah maknanya, akan mengubah sidik jari permintaan.
Permintaan berkunci yang telah selesai dapat memutar ulang respons yang tersimpan tanpa pengajuan pendaftaran lain. Duplikat yang masih diproses mengembalikan HTTP 409 dan dapat menyertakan Retry-After. Permintaan yang diubah dengan kunci yang sama akan berkonflik. Jangan buat kunci baru hanya karena permintaan habis waktu atau mengembalikan kesalahan: bisnis tersebut mungkin sudah terdaftar.
Biarkan brand.json tidak berubah selama menyelesaikan permintaan tersebut. Kesalahan 500 atau 502 yang di-cache dapat memutar ulang kesalahan asli alih-alih mencoba ulang pendaftaran. Simpan brandId, requestId yang dikembalikan dan header korelasi; periksa status brand yang sebenarnya dan selesaikan ketidaksesuaian sebelum memulai permintaan yang berbeda.
Baca brand dan statusnya
API ini menggunakan kode status HTTP dan isi JSON langsung, bukan amplop v3 status/response. Pendaftaran yang berhasil mengembalikan objek brand yang mencakup brandId. Simpan pengenal tersebut dan periksa status validasi atau identitas yang dikembalikan. Kolom tambahan bergantung pada entitas dan status pendaftaran.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/brand/$BRAND_ID"Baca hanya brand milik akun Anda. Kesalahan 404 dapat berarti brand tidak tersedia untuk akun ini. Selesaikan validasi yang diperlukan, lalu gunakan kualifikasi brand untuk menemukan kasus penggunaan kampanye yang tersedia. Sumber daya tiruan tidak dapat dianggap memenuhi syarat untuk pengiriman produksi.
Biaya produksi
| Pendaftaran | Biaya |
|---|---|
| Organisasi standar | $5.00 |
| Pemilik tunggal | $4.45 |
| Brand tiruan | Tidak ada pendebitan pendaftaran brand dalam alur tiruan |
Jumlah ritel ini telah diperiksa terhadap konfigurasi portal terkini pada 24 Oktober 2026. Konfirmasikan biaya terkini di portal sebelum pendaftaran produksi. Biaya kampanye, pemeriksaan tambahan, dan penggunaan pengiriman pesan bersifat terpisah. Pendaftaran produksi memeriksa izin pembelian dan dana yang tersedia sebelum pengajuan; keberhasilan pendaftaran brand di registri dan penagihan lokal adalah langkah pemrosesan yang terpisah, jadi simpan ID sumber daya dan rekonsiliasikan transaksi jika terjadi kesalahan atau masalah penagihan.
Mengubah brand tiruan menjadi produksi adalah alur yang dikonfirmasi secara terpisah dan dapat membuat identitas produksi dan tagihan baru. Jangan berasumsi bahwa mengubah mock menjadi false pada permintaan berikutnya akan mengonversi brand yang ada.
Tangani kesalahan tanpa menduplikasi brand
| Hasil HTTP | Yang harus diperiksa |
|---|---|
| 400 | Baca kesalahan kolom. Kesalahan validasi registri dapat berupa array objek code/description. Validasi kunci idempotensi lokal juga dapat mengembalikan 400. |
| 401, 403 atau 404 | Periksa kredensial API, IP sumber yang diizinkan untuk akun API, izin dan kepemilikan pelanggan. Respons registri juga dapat membawa kesalahan otorisasinya sendiri. |
| 402 | Tinjau pendanaan dan izin pembelian. Jangan perlakukan permintaan produksi yang tidak didanai sebagai uji sandbox. |
| 409 | Pertahankan kunci yang sama dan permintaan yang tidak berubah saat menunggu permintaan yang sedang berlangsung. Jika isi/kunci yang diubah menimbulkan konflik atau respons sebelumnya tidak dapat dipulihkan, periksa status permintaan yang sebenarnya dan selesaikan ketidaksesuaian terlebih dahulu. |
| 429 atau respons pembatas tidak tersedia | Patuhi Retry-After bila ada. Coba lagi permintaan dan kunci yang dimaksudkan setelah batas berakhir. |
| 500 atau 502 | Operasi jarak jauh mungkin telah diterima. Kesalahan pemrosesan lokal dapat menyertakan requestId. Simpan dan periksa sumber daya yang ada; jangan berasumsi pendaftaran pengganti diperlukan. |