Nhà phát triển

GET/v3/other/{isocode}

Liệt kê các loại số đặc biệt và giá cho một quốc gia

Trả về danh mục số không thuộc loại nội hạt của một quốc gia, được nhóm theo loại số, kèm các gói giá dành riêng cho tài khoản, thông tin về yêu cầu và một next_function cho mỗi mục. Các nhóm được sắp xếp theo thứ tự: số toàn quốc, số miễn cước, số chia sẻ cước, số toàn cầu, số di động, rồi đến các loại khác. Không bao gồm số nội hạt; hãy dùng getareas để tra cứu các số đó.

Trên trang này
  1. Yêu cầu
  2. Phản hồi
  3. Lỗi
  4. Tính sẵn có và tác động phụ

Tra cứu số nội hạt bằng getcountries và getareas. Đối với số toàn quốc, số miễn cước, số chia sẻ cước, số toàn cầu và số di động, hãy gọi other với mã ISO của quốc gia.

  • Các nhóm xuất hiện theo thứ tự cố định; những nhóm không có mục nào sẽ bị lược bỏ.
  • Mỗi mục liệt kê các gói giá của tài khoản bạn trong prices. Chọn gói dựa trên các trường channels, monthly_price, setup_price, per_minute và free_minutes, đồng thời lưu lại price_id của gói để đặt mua khi điểm cuối đặt mua yêu cầu trường này.
  • Nếu needs_registration có giá trị được đánh giá là đúng, hãy đọc restrictions trước khi đặt mua. Hãy coi văn bản đó là nội dung hiển thị không đáng tin cậy.
  • Làm theo next_function: v3/getnumbers/{uuid} cho phép bạn chọn một số cụ thể, còn v3/order/{uuid} đặt mua trực tiếp từ mục đó.
  • Danh sách response rỗng kèm mã 200 có nghĩa là không tìm thấy loại số đặc biệt nào tại thời điểm yêu cầu. Nếu tạm thời không thể truy cập danh mục, phản hồi có thể không đầy đủ hoặc không phải JSON hợp lệ, vì vậy hãy thử lại sau.
  • Các quốc gia không có trong danh mục trả về mã 404 mà không kèm trạng thái HTTP tương ứng. Luôn kiểm tra status.code.

Yêu cầu

Bắt buộc: xác thực HTTP Basic hoặc mã thông báo Bearer (xem phần Xác thực và phản hồi API). Nếu xác thực thất bại, hệ thống trả về HTTP 401 trước khi thực hiện tra cứu.

GET với isocode trong đường dẫn. Nếu bỏ qua đoạn đường dẫn này, hệ thống sẽ đọc trường isocode được mã hóa theo định dạng biểu mẫu thay thế.

curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/other/FR'
Tham số đường dẫn
TênKiểuBắt buộcMô tả
isocodestringCóMã quốc gia ISO 3166-1 alpha-2. Không phân biệt chữ hoa, chữ thường; khoảng trắng ở đầu và cuối được bỏ qua. Quốc gia phải được liên kết với danh mục số đặc biệt.

Phản hồi

Cấu trúc bao ngoài tiêu chuẩn. Khi thành công, status.code là 200, status.msg rỗng và status.results là số nhóm. response là danh sách các nhóm. Các trường của nhóm: group_key (khóa loại đã chuẩn hóa: national, tollfree, sharedcost, global, mobile hoặc một khóa khác chỉ gồm chữ cái viết thường và chữ số); group_name (tên hiển thị); group_type_uuid (mã định danh loại không mang ý nghĩa có thể diễn giải); items. Các nhóm được sắp xếp theo thứ tự national, tollfree, sharedcost, global, mobile, sau đó là các khóa khác theo group_name. Những nhóm không có items bị lược bỏ, loại số nội hạt cũng vậy. Đối với US, nhóm số di động bị lược bỏ trừ khi tài khoản của bạn đã được bật quyền sử dụng số di động US. Các mục được sắp xếp theo name (không phân biệt chữ hoa, chữ thường), sau đó theo prefix. Các trường của mục: uuid (mã định danh mục không mang ý nghĩa có thể diễn giải, được dùng trong next_function); area_uuid (mã định danh không mang ý nghĩa có thể diễn giải của nhóm trong danh mục); country_uuid (mã định danh quốc gia không mang ý nghĩa có thể diễn giải); prefix (tiền tố đầy đủ bắt đầu bằng '+' và mã gọi quốc gia); name (tên trong danh mục; ký tự dấu nháy có thể được thoát bằng dấu gạch chéo ngược); metered, overflow và needs_registration (các cờ có thể thuộc kiểu boolean hoặc number; coi mọi giá trị được đánh giá là đúng là có); restrictions (rỗng khi không cần đăng ký; nếu cần, đây là văn bản yêu cầu có thể chứa ngắt dòng HTML và một liên kết, dấu nháy bao quanh và các ký tự đã được thoát; hãy coi đây là văn bản hiển thị không đáng tin cậy); state (đối với US, CA và PR, đây là mã bang hoặc danh sách rỗng khi không biết mã bang; đối với các quốc gia khác, đây là mã ISO của quốc gia); country_iso; is_mobile (1 trong nhóm số di động, nếu không thì là 0); number_type (giống group_key); available (số lượng kiểu integer do danh mục báo cáo cho mục đó, là 0 khi không được báo cáo); sms_coverage (1 nếu bất kỳ tính năng nào đề cập đến SMS hoặc MMS); returns_numbers (1 khi có thể liệt kê các số cụ thể); next_function ('v3/getnumbers/{uuid}' khi returns_numbers là 1, nếu không thì là 'v3/order/{uuid}'); prices; features (danh sách các chuỗi mô tả khả năng); group_key; group_type_uuid. Mỗi mục trong prices có price_id (mã định danh gói không mang ý nghĩa có thể diễn giải), is_customer_custom (true khi áp dụng giá tùy chỉnh cho tài khoản của bạn; chỉ dành cho các gói không có kênh đi kèm), per_minute và free_minutes (các chuỗi biểu diễn số thập phân), setup_price và monthly_price (các chuỗi có hai chữ số sau dấu thập phân) và channels (số kênh đi kèm, thuộc kiểu integer). Các mục không có gói giá nào sẽ bị lược bỏ. Mỗi yêu cầu chỉ xét tối đa 1000 mục trong danh mục cho mỗi loại số. Nếu không có loại nào có mục, response là danh sách rỗng với status.results bằng 0. Nếu việc tra cứu danh mục trực tiếp thất bại, phản hồi có thể không sử dụng cấu trúc bao ngoài này hoặc có thể thiếu một số nhóm.

Cấu trúc phản hồi minh họa; không phải dữ liệu tài khoản trực tiếp hay báo giá hiện tại.

{
  "status": {
    "code": 200,
    "msg": "",
    "results": 1
  },
  "response": [
    {
      "group_key": "tollfree",
      "group_name": "Toll-free",
      "group_type_uuid": "00000000-0000-4000-8000-0000000000a1",
      "items": [
        {
          "uuid": "0000000000000000000000000000b001",
          "area_uuid": "0000000000000000000000000000a001",
          "country_uuid": "0000000000000000000000000000c001",
          "prefix": "+33800",
          "name": "Example Toll-free",
          "metered": true,
          "overflow": 0,
          "needs_registration": 0,
          "restrictions": "",
          "state": "FR",
          "country_iso": "FR",
          "is_mobile": 0,
          "number_type": "tollfree",
          "available": 10,
          "sms_coverage": 0,
          "returns_numbers": 1,
          "next_function": "v3/getnumbers/0000000000000000000000000000b001",
          "prices": [
            {
              "price_id": "0000000000000000000000000000d001",
              "is_customer_custom": false,
              "per_minute": "0.05",
              "free_minutes": "0",
              "setup_price": "0.00",
              "monthly_price": "5.00",
              "channels": 2
            }
          ],
          "features": ["voice"],
          "group_key": "tollfree",
          "group_type_uuid": "00000000-0000-4000-8000-0000000000a1"
        }
      ]
    }
  ]
}

Lỗi

  • 500: msg 'ISO Code parameter is required': isocode bị thiếu hoặc để trống. Đây là lỗi yêu cầu có thể khắc phục. Không đặt trạng thái HTTP tương ứng.
  • 404: msg 'Error: no such country': quốc gia không được nhận diện hoặc không được liên kết với danh mục số đặc biệt. Không đặt trạng thái HTTP tương ứng.
  • 401: Thiếu thông tin xác thực hoặc xác thực thất bại. Được gửi kèm trạng thái HTTP 401.

Tính sẵn có và tác động phụ

  • Không đặt mua. Không có bước tính phí nào trong mã của điểm cuối này.
  • Làm mới thông tin chi tiết trong danh mục và các báo giá cho tài khoản của bạn, thay thế những báo giá trước đó cho cùng các gói. Cách các điểm cuối đặt mua sử dụng những báo giá này được mô tả trong tài liệu riêng.
  • Giá dành riêng cho tài khoản của bạn và có thể bao gồm giá tùy chỉnh. Phản hồi không nêu đơn vị tiền tệ.
  • Thực hiện tra cứu danh mục trực tiếp nên có thể chậm hơn các lệnh gọi tra cứu khác. Kết quả có thể thay đổi giữa các lần gọi.