Akses akun dan proyek
Gunakan akun API yang diaktifkan melalui HTTPS dari alamat IP yang diizinkan. Proyek harus dimiliki oleh akun tersebut dan tidak boleh sudah dihapus. Gunakan ID unik proyek dari alur kerja pesanan porting, bukan ID numeriknya di basis data atau nomor telepon. Lakukan pengodean URL pada ID proyek saat menyusun permintaan.
Siapkan penambahan
Operasi ini mengubah proyek porting yang sudah ada. Konfirmasikan terlebih dahulu nomor dan otorisasi pelanggan melalui alur kerja pesanan porting Anda. Tulis setiap nomor sebagai deretan digit internasional lengkap, hapus sendiri nomor duplikat, dan periksa daftar nomor yang sudah ada dalam proyek. Jangan gunakan titik akhir ini untuk menguji sembarang nomor.
Portal saat ini memvalidasi dan menormalkan nomor sebelum memanggil rute ini. Titik akhir lama yang digunakan secara langsung tidak memberikan perlindungan yang sama: titik akhir tersebut memang menghapus spasi di awal dan akhir masukan, tetapi tidak memvalidasi format nomor telepon, kode negara, duplikat, atau status alur kerja proyek.
Permintaan POST
Buat berkas lokal numbers.json dengan struktur berikut. Nomor-nomor ini fiktif; gantilah dengan nomor yang telah diotorisasi untuk proyek yang dipilih.
{
"numbers": [
"12025550123",
"12025550124"
],
"isocode": "US"
}curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--header "Content-Type: application/json" \
--data-binary @numbers.json \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"| Kolom | Arti |
|---|---|
| numbers | Wajib diisi dengan larik tidak kosong berisi string nomor, atau sebuah string dengan satu nomor pada setiap baris baru. Entri kosong dibuang dan spasi di awal/akhir dihapus. Teks yang dipisahkan dengan koma tidak dipecah menjadi nomor-nomor terpisah. |
| isocode | Kode negara opsional untuk baris yang ditambahkan. Jika tidak disertakan atau kosong, lokasi proyek digunakan. Penangan menghapus spasi di awal dan akhir nilai yang diberikan, tetapi tidak mengubahnya menjadi huruf kapital atau memvalidasinya. Anda harus memberikan sendiri kode negara yang benar dalam huruf kapital. |
Gunakan POST dengan application/json untuk contoh ini. Masukan formulir POST juga dibaca. Metode ini tidak menetapkan kunci idempotensi atau ketentuan ukuran kelompok yang aman khusus untuk titik akhir ini; cocokkan hasil untuk kelompok yang dapat dikelola alih-alih mengandalkan batas yang ditebak.
Hasil yang dilaporkan
Contoh respons fiktif.
{
"status": {
"code": 200,
"msg": "Success add numbers"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"count": 2,
"numbers": [
{
"id": 21,
"number": "12025550123",
"status": 0,
"status_str": "Pending",
"isocode": "US"
},
{
"id": 22,
"number": "12025550124",
"status": 0,
"status_str": "Pending",
"isocode": "US"
}
]
}
}Respons memberi label Pending pada penambahan yang dicoba. Respons tidak memverifikasi hasil setiap penyisipan ke basis data sebelum melaporkannya. Karena itu, jumlah atau ID yang dikembalikan saja bukan bukti bahwa setiap baris telah tersimpan secara persisten. Penambahan berstatus Pending tidak berarti penerimaan oleh operator, pemindahan yang sudah dijadwalkan, atau aktivasi yang sudah selesai.
Cocokkan data sebelum mencoba lagi
- Baca daftar nomor proyek sebelum menambahkan nomor dan simpan daftar nomor yang hendak ditambahkan dalam catatan permintaan Anda sendiri.
- Kirim permintaan penambahan satu kali.
- Baca kembali daftar nomor proyek dan cocokkan setiap nomor yang hendak ditambahkan. Periksa duplikat dan status setiap nomor.
- Jika permintaan kehabisan waktu, mengembalikan kesalahan, atau melaporkan hasil yang tidak jelas, baca kembali data sebelum mencoba lagi. Sebagian nomor mungkin sudah ditambahkan.
- Selesaikan masalah baris yang hilang atau duplikat melalui alur kerja pesanan porting atau layanan dukungan, alih-alih langsung mengulangi seluruh permintaan tanpa memeriksa hasilnya.
Penangan menyisipkan entri satu per satu tanpa transaksi atau perlindungan terhadap duplikat. Gangguan dapat membuat data yang ditulis sebelumnya tetap tersimpan; penyisipan gagal yang mengembalikan false masih dapat dimasukkan dalam jumlah yang dilaporkan. Mengulangi permintaan dapat menambahkan baris duplikat. Penangan itu sendiri tidak mencatat peristiwa atau menyelesaikan pemindahan oleh operator.
Kesalahan sistem lama
Metode selain POST mengembalikan kode API 403. Proyek yang tidak ditemukan, sudah dihapus, atau bukan milik akun tersebut mengembalikan kode API 404. Masukan nomor yang kosong juga mengembalikan kode API 404. Autentikasi dan pembatasan IP sumber berlaku. Kode-kode lama ini tidak membuktikan bahwa tidak ada penyisipan sebelumnya setelah pemrosesan dimulai.
Cakupan penagihan dan pemindahan
Penangan yang ditinjau menyisipkan baris nomor proyek dan tidak mencakup pendebitan akun secara langsung atau pengajuan kepada operator. Hal ini tidak membuat keseluruhan layanan porting menjadi gratis atau membatalkan biaya porting yang telah disepakati. Penuhi persyaratan otorisasi, dokumen, dan peninjauan proyek sebelum mengharapkan pemindahan.