ค้นหาหมายเลขท้องถิ่นได้ด้วย 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'| ชื่อ | ชนิดข้อมูล | จำเป็น | คำอธิบาย |
|---|---|---|---|
isocode | string | ใช่ | รหัสประเทศตามมาตรฐาน 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
ความพร้อมใช้งานและผลข้างเคียง
- ไม่ดำเนินการสั่งซื้อ ไม่ปรากฏขั้นตอนเรียกเก็บเงินในโค้ดของเอนด์พอยต์นี้
- รีเฟรชรายละเอียดแค็ตตาล็อกและราคาเสนอสำหรับบัญชีของคุณ โดยแทนที่ราคาเสนอก่อนหน้าของแผนเดียวกัน วิธีที่เอนด์พอยต์สั่งซื้อใช้ราคาเสนอเหล่านี้มีอธิบายไว้ในเอกสารแยกต่างหาก
- ราคาเป็นราคาเฉพาะบัญชีของคุณ และอาจรวมราคาที่กำหนดให้เป็นพิเศษ ผลตอบกลับไม่ได้ระบุสกุลเงิน
- ดำเนินการค้นหาแค็ตตาล็อกแบบสด จึงอาจช้ากว่าการเรียกค้นหาข้อมูลอื่น ๆ ผลลัพธ์อาจเปลี่ยนแปลงระหว่างการเรียกแต่ละครั้ง