นักพัฒนา

GET/v3/other/{isocode}

แสดงประเภทและราคาหมายเลขพิเศษของประเทศ

ส่งคืนแค็ตตาล็อกหมายเลขที่ไม่ใช่หมายเลขท้องถิ่นของประเทศ โดยจัดกลุ่มตามประเภทหมายเลข พร้อมแผนราคาเฉพาะบัญชี ข้อมูลข้อกำหนด และ next_function สำหรับแต่ละรายการ กลุ่มเรียงตามลำดับดังนี้: หมายเลขระดับประเทศ หมายเลขโทรฟรี หมายเลขร่วมจ่าย หมายเลขทั่วโลก หมายเลขโทรศัพท์เคลื่อนที่ แล้วจึงเป็นประเภทอื่น ๆ ไม่รวมหมายเลขท้องถิ่น หากต้องการหมายเลขท้องถิ่นให้ใช้ getareas

ในหน้านี้
  1. คำขอ
  2. ผลตอบกลับ
  3. ข้อผิดพลาด
  4. ความพร้อมใช้งานและผลข้างเคียง

ค้นหาหมายเลขท้องถิ่นได้ด้วย getcountries และ getareas สำหรับหมายเลขระดับประเทศ หมายเลขโทรฟรี หมายเลขร่วมจ่าย หมายเลขทั่วโลก และหมายเลขโทรศัพท์เคลื่อนที่ ให้เรียก other โดยใช้รหัส ISO ของประเทศนั้น

  • กลุ่มจะแสดงตามลำดับที่กำหนดไว้ และจะไม่แสดงกลุ่มที่ไม่มีรายการ
  • แต่ละรายการแสดงแผนราคาของบัญชีคุณไว้ใน prices เลือกแผนโดยพิจารณาจาก channels, monthly_price, setup_price, per_minute และ free_minutes และเก็บค่า price_id ของแผนนั้นไว้ใช้สั่งซื้อในกรณีที่เอนด์พอยต์สั่งซื้อร้องขอค่านี้
  • หาก needs_registration มีค่าที่ประเมินเป็นจริง ให้อ่าน restrictions ก่อนสั่งซื้อ ให้ถือว่าข้อความดังกล่าวเป็นเนื้อหาสำหรับแสดงผลที่ไม่น่าเชื่อถือ
  • ดำเนินการตาม next_function: v3/getnumbers/{uuid} ให้คุณเลือกหมายเลขที่ต้องการได้ ส่วน v3/order/{uuid} ใช้สั่งซื้อจากรายการนั้นโดยตรง
  • รายการ response ที่ว่างเปล่าพร้อมรหัส 200 หมายความว่าไม่พบหมายเลขประเภทพิเศษ ณ เวลาที่ส่งคำขอ หากไม่สามารถเข้าถึงแค็ตตาล็อกได้ชั่วคราว ผลตอบกลับอาจไม่ครบถ้วนหรือไม่ใช่ JSON ที่ถูกต้อง จึงควรลองใหม่ภายหลัง
  • ประเทศที่ไม่อยู่ในแค็ตตาล็อกจะส่งคืนรหัส 404 โดยไม่มีสถานะ HTTP ที่ตรงกัน ให้ตรวจสอบ status.code เสมอ

คำขอ

ต้องใช้: HTTP Basic หรือโทเค็น Bearer (ดูหัวข้อการยืนยันตัวตนและผลตอบกลับของ API) หากการยืนยันตัวตนล้มเหลว ระบบจะตอบกลับด้วย HTTP 401 ก่อนดำเนินการค้นหา

ใช้ GET โดยระบุ isocode ในพาธ หากไม่ได้ระบุส่วนพาธนี้ ระบบจะอ่านฟิลด์ isocode ที่เข้ารหัสแบบฟอร์มแทน

curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/other/FR'
พารามิเตอร์ในพาธ
ชื่อชนิดข้อมูลจำเป็นคำอธิบาย
isocodestringใช่รหัสประเทศตามมาตรฐาน ISO 3166-1 alpha-2 ไม่แยกแยะตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก และไม่สนใจช่องว่างก่อนและหลังรหัส ประเทศนั้นต้องเชื่อมโยงกับแค็ตตาล็อกหมายเลขพิเศษ

ผลตอบกลับ

ใช้โครงสร้างห่อหุ้มมาตรฐาน เมื่อสำเร็จ status.code จะเป็น 200, status.msg จะว่างเปล่า และ status.results จะเป็นจำนวนกลุ่ม response เป็นรายการกลุ่ม ฟิลด์ของกลุ่มประกอบด้วย: group_key (คีย์ประเภทในรูปแบบมาตรฐาน: national, tollfree, sharedcost, global, mobile หรือคีย์อื่นที่ประกอบด้วยตัวอักษรพิมพ์เล็กและตัวเลข); group_name (ชื่อที่ใช้แสดงผล); group_type_uuid (ตัวระบุประเภทที่ไม่ควรตีความโครงสร้างภายใน); items กลุ่มเรียงตามลำดับ national, tollfree, sharedcost, global, mobile แล้วจึงเป็นคีย์อื่น ๆ โดยเรียงตาม group_name กลุ่มที่ไม่มี items จะไม่ถูกรวมไว้ เช่นเดียวกับประเภทหมายเลขท้องถิ่น สำหรับ US จะไม่รวมกลุ่มหมายเลขโทรศัพท์เคลื่อนที่ เว้นแต่บัญชีของคุณจะได้รับการเปิดใช้งานสำหรับหมายเลขโทรศัพท์เคลื่อนที่ใน US รายการจะเรียงตาม name (ไม่แยกแยะตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก) แล้วจึงเรียงตาม prefix ฟิลด์ของรายการประกอบด้วย: uuid (ตัวระบุรายการที่ไม่ควรตีความโครงสร้างภายใน ซึ่งใช้ใน next_function); area_uuid (ตัวระบุกลุ่มในแค็ตตาล็อกที่ไม่ควรตีความโครงสร้างภายใน); country_uuid (ตัวระบุประเทศที่ไม่ควรตีความโครงสร้างภายใน); prefix (เลขนำหน้าแบบเต็มที่เริ่มต้นด้วย '+' และรหัสโทรศัพท์ระหว่างประเทศของประเทศนั้น); name (ชื่อในแค็ตตาล็อก โดยเครื่องหมายอัญประกาศอาจถูกหลีกด้วยแบ็กสแลช); metered, overflow และ needs_registration (แฟล็กที่อาจเป็น boolean หรือ number ให้ถือว่าค่าใดก็ตามที่ประเมินเป็นจริงหมายถึงใช่); restrictions (ว่างเปล่าเมื่อไม่จำเป็นต้องลงทะเบียน มิฉะนั้นจะเป็นข้อความข้อกำหนดที่อาจมีการขึ้นบรรทัดใหม่แบบ HTML และลิงก์ เครื่องหมายอัญประกาศครอบข้อความ และอักขระที่ถูกหลีก ให้ถือว่าเป็นข้อความสำหรับแสดงผลที่ไม่น่าเชื่อถือ); state (สำหรับ US, CA และ PR จะเป็นรหัสรัฐ หรือรายการว่างเมื่อไม่ทราบรหัส สำหรับประเทศอื่น ๆ จะเป็นรหัส ISO ของประเทศ); country_iso; is_mobile (1 ในกลุ่มหมายเลขโทรศัพท์เคลื่อนที่ มิฉะนั้นเป็น 0); number_type (เหมือนกับ group_key); available (จำนวนชนิด integer ที่แค็ตตาล็อกรายงานสำหรับรายการนั้น เป็น 0 เมื่อไม่มีการรายงาน); sms_coverage (1 หากมีคุณสมบัติใดกล่าวถึง SMS หรือ MMS); returns_numbers (1 เมื่อสามารถแสดงรายการหมายเลขเฉพาะให้เลือกได้); next_function ('v3/getnumbers/{uuid}' เมื่อ returns_numbers เป็น 1 มิฉะนั้นเป็น 'v3/order/{uuid}'); prices; features (รายการสตริงที่ระบุความสามารถ); group_key; group_type_uuid แต่ละรายการใน prices มี price_id (ตัวระบุแผนที่ไม่ควรตีความโครงสร้างภายใน), is_customer_custom (เป็น true เมื่อมีการใช้ราคาเฉพาะที่กำหนดให้บัญชีคุณ ซึ่งใช้เฉพาะกับแผนที่ไม่มีช่องสัญญาณรวมอยู่ด้วย), per_minute และ free_minutes (สตริงเลขทศนิยม), setup_price และ monthly_price (สตริงที่มีทศนิยมสองตำแหน่ง) และ channels (จำนวนช่องสัญญาณที่รวมอยู่ในแผน เป็นชนิด integer) รายการที่ไม่มีแผนราคาใดเลยจะไม่ถูกรวมไว้ ในแต่ละคำขอ ระบบจะพิจารณารายการในแค็ตตาล็อกสูงสุด 1000 รายการต่อประเภทหมายเลข หากไม่มีประเภทใดมีรายการ response จะเป็นรายการว่าง โดย status.results เป็น 0 หากการค้นหาแค็ตตาล็อกแบบสดล้มเหลว ผลตอบกลับอาจไม่ใช้โครงสร้างห่อหุ้มนี้ หรืออาจมีกลุ่มขาดหายไป

ตัวอย่างรูปแบบผลตอบกลับ ไม่ใช่ข้อมูลบัญชีแบบสดหรือราคาเสนอปัจจุบัน

{
  "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"
        }
      ]
    }
  ]
}

ข้อผิดพลาด

  • 500: msg 'ISO Code parameter is required': ไม่ได้ระบุ isocode หรือระบุเป็นค่าว่าง นี่เป็นข้อผิดพลาดของคำขอที่แก้ไขได้ ไม่มีการตั้งค่าสถานะ HTTP ที่ตรงกัน
  • 404: msg 'Error: no such country': ระบบไม่รู้จักประเทศนั้น หรือประเทศนั้นไม่ได้เชื่อมโยงกับแค็ตตาล็อกหมายเลขพิเศษ ไม่มีการตั้งค่าสถานะ HTTP ที่ตรงกัน
  • 401: ไม่มีการยืนยันตัวตนหรือการยืนยันตัวตนล้มเหลว ส่งกลับพร้อมสถานะ HTTP 401

ความพร้อมใช้งานและผลข้างเคียง

  • ไม่ดำเนินการสั่งซื้อ ไม่ปรากฏขั้นตอนเรียกเก็บเงินในโค้ดของเอนด์พอยต์นี้
  • รีเฟรชรายละเอียดแค็ตตาล็อกและราคาเสนอสำหรับบัญชีของคุณ โดยแทนที่ราคาเสนอก่อนหน้าของแผนเดียวกัน วิธีที่เอนด์พอยต์สั่งซื้อใช้ราคาเสนอเหล่านี้มีอธิบายไว้ในเอกสารแยกต่างหาก
  • ราคาเป็นราคาเฉพาะบัญชีของคุณ และอาจรวมราคาที่กำหนดให้เป็นพิเศษ ผลตอบกลับไม่ได้ระบุสกุลเงิน
  • ดำเนินการค้นหาแค็ตตาล็อกแบบสด จึงอาจช้ากว่าการเรียกค้นหาข้อมูลอื่น ๆ ผลลัพธ์อาจเปลี่ยนแปลงระหว่างการเรียกแต่ละครั้ง