Perbaiki merek perpesanan yang sudah ada
Perbarui merek yang sudah ada saat detail kontak bisnis atau alamat berubah. Pertahankan ID mereknya; membuat pendaftaran lain bukanlah cara untuk memperbaiki bisnis yang sudah ada. Gunakan akun API yang aktif melalui HTTPS dari alamat IP sumber yang diizinkan. Merek tersebut harus dimiliki oleh akun itu.
Mulailah dengan membaca catatan saat ini. Jaga kerahasiaan salinan lokal Anda karena salinan tersebut berisi identitas bisnis dan informasi kontak.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/brand/$BRAND_ID" \
--output current-brand.jsonPertahankan kolom merek saat ini
Siapkan brand-update.json dari catatan saat ini dengan memilih hanya kolom merek yang dapat ditulis. Pertahankan identitas bisnis dan nilai wajib lainnya saat menerapkan perbaikan yang dimaksud. Jangan kirim seluruh respons GET: brandId, hasil identitas/status, cap waktu, dan kolom lain yang hanya ada dalam respons tidak boleh disertakan dalam pembaruan.
Skema pembaruan mewajibkan entityType, displayName, country, email, dan brandRelationship. Aturan khusus jenis entitas tetap berlaku. Untuk organisasi, pertahankan nama resmi perusahaan, pengenal pajak beserta negara penerbitnya, alamat, dan sektor industri sesuai yang berlaku. Untuk pemilik usaha perseorangan, pertahankan kolom nama pribadi dan kontak seluler yang relevan sebagai gantinya. Gunakan nilai aktual saat ini, bukan nilai pengganti dari contoh pendaftaran.
| Kolom | Cara menggunakannya |
|---|---|
| displayName, email, phone | Nama merek yang mudah dikenali dan detail kontak yang valid. Panjang maksimum: 255, 100, dan 20 karakter. Gunakan format nomor telepon internasional dengan tanda + diikuti kode negara. |
| street, city, state, postalCode, country | Alamat bisnis nyata dengan rincian yang konsisten. Batas: 255, 100, 20, 10, dan 2 karakter. Gunakan kode negara bagian AS yang berlaku saat ini jika sesuai. |
| entityType, companyName, ein, einIssuingCountry | Identitas hukum. Perubahan ini dibatasi ketika kampanye atau penilaian eksternal masih tertunda atau aktif. Jangan hapus kampanye yang sedang berjalan hanya untuk menghindari pembatasan identitas. |
| firstName, lastName, mobilePhone, businessContactEmail | Identitas atau kontak verifikasi jika sesuai dengan jenis entitas. Batas: 100, 100, 20, dan 255 karakter. |
| brandRelationship, vertical | Kode hubungan dan sektor industri saat ini. Perubahan hubungan dibatasi menjadi satu kali dalam tiga bulan. Formulir pengeditan biasa di portal tidak menyediakan perubahan hubungan. |
| website, altBusinessIdType, altBusinessId, stockSymbol, stockExchange | Situs web, identitas bisnis alternatif, dan detail perusahaan terbuka yang berlaku. Pertahankan nilai yang diperlukan untuk validasi entitas. |
| referenceId, ipAddress | Metadata referensi bisnis dan IP asal yang didukung. Keduanya tidak menentukan kepemilikan akun maupun berfungsi sebagai kunci idempotensi permintaan. |
Gunakan katalog perpesanan yang berlaku saat ini untuk mendapatkan kode. Skema pembaruan tidak menyediakan mock sebagai cara untuk mengubah lingkungan merek. Gunakan alur kerja terpisah yang telah ditinjau untuk beralih dari lingkungan uji ke produksi, alih-alih mengubah penanda tersebut saat mengedit.
Kirim perbaikan yang telah ditinjau
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
--request PUT \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data-binary @brand-update.json \
"https://api.multitel.net/tcr/v2/brand/$BRAND_ID"Gunakan satu kunci untuk pembaruan yang dimaksud ini dan simpan bita isi permintaan secara persis. Penggunaan ulang kunci dengan metode, jalur, kueri, atau isi yang berubah menimbulkan konflik; mengubah format JSON juga mengubah sidik digitalnya. Duplikat dari permintaan yang masih diproses dapat mengembalikan 409 dengan Retry-After. Permintaan yang sudah selesai dapat mengembalikan kembali hasil yang tersimpan, termasuk kesalahan. Simpan detail permintaan saat mencocokkan hasil setelah batas waktu terlampaui, alih-alih membuat kunci baru secara otomatis.
Periksa catatan tersimpan dan status validasi
Pembaruan yang berhasil mengembalikan HTTP 200 dan objek JSON merek secara langsung, tanpa pembungkus status/response lama dari v3. Periksa brandId-nya, lalu baca kembali merek yang sama dengan GET dan bandingkan kolom yang dimaksud. Rute pembaruan publik tidak menerima pembungkus changes/version milik portal dan tidak menyediakan pemeriksaan konkurensi optimistis milik portal. Koordinasikan para pengedit yang bekerja bersamaan; kunci idempotensi mencegah pengiriman duplikat, tetapi tidak mencegah perubahan oleh pengedit lain.
Portal saat ini membaca merek, mempertahankan kolom yang dapat ditulis, memeriksa versi formulir sebelum menyimpan, lalu membaca kembali hasilnya. Portal mengunci kolom inti identitas hukum ketika menemukan kampanye aktif. Registri dapat memberlakukan pembatasan tambahan, termasuk pembatasan penilaian eksternal, meskipun suatu kolom tersedia di formulir.
Menyimpan informasi yang telah diperbaiki tidak secara otomatis meminta verifikasi identitas baru atau menjamin persetujuan. Verifikasi ulang merupakan tindakan terpisah yang dapat dikenai biaya; gunakan portal untuk meninjau status saat ini dan konfirmasikan secara tegas setiap biaya yang ditawarkan. Pembaruan merek PUT biasa tidak memicu pendebitan biaya pendaftaran terpisah pada layanan API saat ini. Biaya kampanye, perpesanan, dan biaya lainnya yang sudah ada tetap terpisah.
Atasi kesalahan tanpa membuat pendaftaran duplikat
Baca status HTTP dan detail kesalahan JSON. Untuk 400, perbaiki kolom yang disebutkan atau patuhi pembatasan identitas/hubungan. Untuk 401, 403, atau 404, periksa kredensial, IP sumber yang diizinkan, dan kepemilikan akun. Untuk 429, patuhi Retry-After. Kesalahan 500 atau 502 dapat terjadi setelah registri menerima pembaruan; simpan requestId jika ada dan baca catatan yang sudah ada sebelum mengirim ulang.
Respons pembaruan yang tidak kosong tetapi tidak lengkap dapat meninggalkan rekaman lokal yang tidak lengkap; isi respons berhasil yang kosong dapat mempertahankan kolom dari rekaman sebelumnya. Jangan menyimpulkan bahwa kolom tetap dipertahankan hanya dari status berhasil. Baca kembali data merek secara lengkap dan selesaikan setiap ketidaksesuaian melalui dukungan. Panduan ini tidak menjanjikan pembaruan registri, cache lokal, dan penagihan secara atomik sebagai satu kesatuan yang tidak dapat dipisahkan.