Quyền truy cập tài khoản và dự án
Sử dụng tài khoản API đã được kích hoạt qua HTTPS từ địa chỉ IP được phép. Dự án phải thuộc tài khoản đó và chưa bị xóa. Sử dụng mã định danh duy nhất của dự án từ quy trình đặt yêu cầu chuyển mạng giữ số, không dùng mã định danh dạng số trong cơ sở dữ liệu hoặc số điện thoại. Mã hóa mã định danh dự án theo quy tắc URL khi tạo yêu cầu.
Chuẩn bị thêm số
Thao tác này thay đổi một dự án chuyển mạng giữ số hiện có. Trước tiên, hãy xác nhận các số điện thoại và sự ủy quyền của khách hàng thông qua quy trình đặt yêu cầu chuyển mạng giữ số của bạn. Định dạng mỗi số thành dãy chữ số quốc tế đầy đủ, tự loại bỏ số trùng lặp và kiểm tra danh sách số hiện có của dự án. Không sử dụng điểm cuối này để thử các số tùy ý.
Cổng thông tin hiện tại kiểm tra tính hợp lệ và chuẩn hóa các số trước khi gọi tuyến này. Điểm cuối cũ khi được gọi trực tiếp không cung cấp các biện pháp bảo vệ tương đương: nó loại bỏ khoảng trắng ở đầu và cuối dữ liệu đầu vào nhưng không kiểm tra định dạng số điện thoại, mã quốc gia, số trùng lặp hoặc trạng thái quy trình của dự án.
Yêu cầu POST
Tạo tệp cục bộ numbers.json với cấu trúc sau. Các số trong ví dụ là giả định; hãy thay bằng các số đã được cho phép sử dụng cho dự án đã chọn.
{
"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"| Trường | Ý nghĩa |
|---|---|
| numbers | Bắt buộc cung cấp một mảng không rỗng gồm các chuỗi số điện thoại, hoặc một chuỗi có mỗi số trên một dòng riêng. Các mục trống bị loại bỏ và khoảng trắng ở đầu/cuối bị xóa. Văn bản phân cách bằng dấu phẩy không được tách thành các số riêng biệt. |
| isocode | Mã quốc gia tùy chọn cho các dòng được thêm. Khi bỏ qua hoặc để trống, hệ thống sử dụng địa điểm của dự án. Trình xử lý loại bỏ khoảng trắng ở đầu và cuối nhưng không chuyển giá trị được cung cấp thành chữ hoa hoặc kiểm tra tính hợp lệ của giá trị đó. Bạn phải tự cung cấp mã quốc gia chính xác bằng chữ hoa. |
Trong ví dụ này, sử dụng POST với application/json. Dữ liệu biểu mẫu gửi bằng POST cũng được đọc. Phương thức này không quy định khóa bảo đảm tính lũy đẳng hoặc cam kết về kích thước lô an toàn dành riêng cho điểm cuối; hãy đối chiếu từng lô có quy mô dễ quản lý thay vì dựa vào một giới hạn phỏng đoán.
Kết quả được báo cáo
Ví dụ phản hồi giả định.
{
"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"
}
]
}
}Phản hồi gắn nhãn Pending cho các mục đã được thử thêm. Phản hồi không xác minh kết quả của từng lần chèn vào cơ sở dữ liệu trước khi báo cáo. Vì vậy, chỉ riêng số lượng hoặc mã định danh được trả về không chứng minh rằng mọi dòng đều đã được lưu bền vững. Một mục được thêm có nhãn Pending không có nghĩa là nhà mạng đã chấp nhận, việc chuyển mạng đã được lên lịch hoặc việc kích hoạt đã hoàn tất.
Đối chiếu trước khi thử lại
- Đọc danh sách số của dự án trước khi thêm số và lưu các số dự định thêm trong hồ sơ yêu cầu của riêng bạn.
- Gửi yêu cầu thêm số một lần.
- Đọc lại danh sách số của dự án và đối chiếu từng số dự định thêm. Kiểm tra số trùng lặp và trạng thái của từng số.
- Nếu yêu cầu hết thời gian chờ, trả về lỗi hoặc báo cáo kết quả không rõ ràng, hãy đọc lại dữ liệu trước khi thử lại. Một số mục có thể đã được thêm.
- Xử lý các dòng bị thiếu hoặc trùng lặp thông qua quy trình đặt yêu cầu chuyển mạng giữ số hoặc bộ phận hỗ trợ thay vì lặp lại toàn bộ yêu cầu mà không kiểm tra.
Trình xử lý chèn từng mục một mà không dùng giao dịch hoặc cơ chế ngăn trùng lặp. Khi xảy ra gián đoạn, dữ liệu đã ghi trước đó có thể vẫn được giữ lại; một lần chèn thất bại trả về false vẫn có thể được tính vào số lượng báo cáo. Lặp lại yêu cầu có thể thêm các dòng trùng lặp. Bản thân trình xử lý không ghi sự kiện hoặc hoàn tất việc chuyển mạng với nhà mạng.
Lỗi của hệ thống cũ
Phương thức khác POST trả về mã API 403. Dự án không tồn tại, đã bị xóa hoặc không thuộc tài khoản trả về mã API 404. Dữ liệu số đầu vào rỗng cũng trả về mã API 404. Các yêu cầu xác thực và hạn chế về IP nguồn được áp dụng. Các mã của hệ thống cũ này không chứng minh rằng chưa có lần chèn nào diễn ra trước đó kể từ khi bắt đầu xử lý.
Phạm vi tính phí và chuyển mạng
Trình xử lý đã được rà soát chèn các dòng số điện thoại của dự án và không có thao tác trực tiếp trừ tiền tài khoản hoặc gửi yêu cầu tới nhà mạng. Điều này không có nghĩa là toàn bộ dịch vụ chuyển mạng giữ số được miễn phí hoặc các khoản phí chuyển mạng đã thỏa thuận không còn áp dụng. Hãy hoàn thành các yêu cầu về ủy quyền, tài liệu và rà soát của dự án trước khi kỳ vọng việc chuyển mạng được thực hiện.