หลังจากเลือกประเทศแล้ว (สำหรับสหรัฐอเมริกาหรือแคนาดา สามารถเลือกรัฐเพิ่มเติมจาก getstatesได้) ให้เรียก getareas เพื่อดูว่ามีหมายเลขให้บริการในพื้นที่ใดบ้าง เก็บค่า uuid ของพื้นที่ไว้สำหรับขั้นตอนถัดไป
แต่ละพื้นที่จะนำไปสู่ขั้นตอนถัดไปอย่างใดอย่างหนึ่งจากสองแบบต่อไปนี้:
- available > 0:
next_functionคือv3/getprefixes/{uuid}โดยมี?state=ต่อท้ายเมื่อกรองตามรัฐ ใช้เส้นทางนี้เพื่อเรียกดูเลขนำหน้า - available = 0: พื้นที่มีเลขนำหน้าแต่ไม่มีหมายเลขพร้อมให้บริการ และ
next_functionคือv3/order/{uuid}ดูเอกสารการสั่งซื้อสำหรับข้อกำหนดของขั้นตอนนี้
available คือจำนวนรวมทั้งพื้นที่ แม้จะกรองตามรัฐก็ตาม ตัวกรองรัฐรับได้ทั้งรหัสหรือชื่อเต็ม แต่ใช้ได้เฉพาะกับ US และ CA หากการกรองตามรัฐส่งคืน No areas found ให้ลองอีกครั้งโดยไม่ใช้ตัวกรองรัฐ การตรวจสอบจะดำเนินการตามลำดับดังนี้: ไม่ได้ระบุรหัสประเทศ ไม่รู้จักประเทศ ใช้ตัวกรองรัฐกับประเทศอื่น รัฐไม่ถูกต้อง และไม่มีพื้นที่ที่ตรงเงื่อนไข แต่ละกรณีจะส่งคืนรหัส 500 หรือ 404 ใน status.code โดยไม่มีสถานะ HTTP ที่ตรงกับรหัสดังกล่าว
คำขอ
จำเป็นต้องใช้: การยืนยันตัวตนแบบ HTTP Basic หรือโทเค็น Bearer (ดูการยืนยันตัวตนและการตอบกลับของ API) หากยืนยันตัวตนไม่สำเร็จ ระบบจะตอบกลับด้วย HTTP 401 ก่อนดำเนินการค้นหา
ใช้ GET โดยระบุ isocode ในพาธ และสามารถระบุพารามิเตอร์ state และ pid เพิ่มเติมในสตริงการสืบค้นได้ หากละส่วนดังกล่าวของพาธ ระบบจะอ่านฟิลด์ isocode ที่เข้ารหัสแบบฟอร์มแทน
curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/getareas/US'
curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/getareas/US?state=NY'| ชื่อ | ชนิดข้อมูล | จำเป็นต้องระบุ | คำอธิบาย |
|---|---|---|---|
isocode | string | ใช่ | รหัสประเทศตามมาตรฐาน ISO 3166-1 alpha-2 ไม่แยกตัวพิมพ์ใหญ่และเล็ก และไม่นับอักขระช่องว่างที่อยู่หน้าและหลังค่า ต้องเป็นประเทศที่ MultiTEL รู้จัก โดยประเทศนั้นไม่จำเป็นต้องปรากฏใน getcountries |
| ชื่อ | ชนิดข้อมูล | จำเป็นต้องระบุ | คำอธิบาย |
|---|---|---|---|
state | string | ไม่ใช่ | ใช้ได้เฉพาะ US และ CA รับรหัสรัฐหรือจังหวัดที่เป็นตัวอักษรสองตัวได้ทั้งตัวพิมพ์ใหญ่และเล็ก หรือรับชื่อเต็ม (ไม่แยกตัวพิมพ์ใหญ่และเล็ก ไม่นับช่องว่างหน้าและหลังค่า และยุบช่องว่างที่ซ้ำกันภายในให้เหลือช่องเดียว) เช่น NY หรือ new york ระบบจะละเว้นค่าว่าง เมื่อระบุรัฐ ระบบจะส่งคืนเฉพาะพื้นที่ที่มีเลขนำหน้าอย่างน้อยหนึ่งรายการซึ่งบันทึกไว้สำหรับรัฐนั้นและมีหมายเลขพร้อมให้บริการ แต่ available ยังคงเป็นจำนวนรวมทั้งพื้นที่ ค่า next_function จาก getstates มีพารามิเตอร์นี้รวมอยู่แล้ว |
pid | string | ไม่ใช่ | เป็นตัวเลือกขั้นสูงที่ไม่จำเป็นต้องระบุ ใช้จำกัดผลลัพธ์ให้เหลือเฉพาะพื้นที่ที่มีแฟล็กระบุแหล่งหมายเลขแหล่งใดแหล่งหนึ่ง และมีเลขนำหน้าอย่างน้อยหนึ่งรายการจากแหล่งนั้น (ไม่จำเป็นต้องมีหมายเลขพร้อมให้บริการ) พร้อมทั้งจำกัด available และสถิติอื่น ๆ ให้ครอบคลุมเฉพาะแหล่งนั้น ใช้เฉพาะค่าที่ MultiTEL ให้มาในรูปแบบตัวเลขหรือเลขฐานสิบหกความยาว 32 อักขระ และไม่ต้องระบุค่านี้สำหรับการใช้งานปกติ ค่าที่ระบบไม่รู้จักและค่าที่เอนด์พอยต์นี้ไม่รองรับจะถูกละเว้นโดยไม่ส่งข้อผิดพลาด |
การตอบกลับ
ใช้โครงสร้างห่อหุ้มข้อมูลมาตรฐาน เมื่อสำเร็จ status.code จะเป็น 200, status.msg จะเป็น 'Results: N', status.results จะเป็น N และ response จะเป็นรายการที่เรียงตามชื่อพื้นที่ ฟิลด์ต่าง ๆ ได้แก่: uuid (รหัสระบุพื้นที่ที่ไม่ต้องตีความโครงสร้างภายใน ใช้ในขั้นตอนถัดไป); country_uuid (รหัสระบุประเทศความยาว 32 อักขระที่ไม่ต้องตีความโครงสร้างภายใน ไม่จำเป็นต้องใช้ในภายหลัง); name; area_type และ number_type (คำบรรยายประเภทในแค็ตตาล็อก รายการต่าง ๆ ไม่จำเป็นต้องเป็นหมายเลขประเภทท้องถิ่น); country_iso; is_mobile (0 หรือ 1 จากแฟล็กโทรศัพท์มือถือของพื้นที่ สำหรับ US จะเป็น 0 เสมอ เว้นแต่บัญชีของคุณจะเปิดใช้งานหมายเลขโทรศัพท์มือถือของ US); available (จำนวนหมายเลขพร้อมให้บริการรวมจากเลขนำหน้าทั้งหมดของพื้นที่ที่ตรงเงื่อนไข โดยไม่จำกัดเฉพาะรัฐที่ร้องขอ); sms_coverage (0 หรือ 1); returns_numbers (0 หรือ 1 โดยใช้ค่าแฟล็กสูงสุดจากเลขนำหน้าของพื้นที่); latitude และ longitude; state_iso; next_function สำหรับ state_iso: หากมีตัวกรองรัฐ ค่านี้จะเป็นรหัสที่ได้จากการแปลงค่าตัวกรอง สำหรับ US และ CA ที่ไม่มีตัวกรอง จะใช้รหัสของรัฐที่มีชื่อตรงกับชื่อพื้นที่ หากไม่มีจะใช้ค่าที่บันทึกไว้ของพื้นที่ และหากไม่มีค่านั้นจะใช้รหัสที่อนุมานจากข้อมูลเลขนำหน้าของพื้นที่ สำหรับประเทศอื่น จะใช้ค่าที่บันทึกไว้ซึ่งอาจเป็นค่าว่าง next_function จะเป็น 'v3/getprefixes/{uuid}' (ต่อท้ายด้วย '?state={code}' เมื่อมีการกรอง) เมื่อ available มากกว่า 0 มิฉะนั้นจะเป็น 'v3/order/{uuid}' พื้นที่ที่ไม่มีเลขนำหน้าตรงเงื่อนไขเลยจะไม่รวมอยู่ในผลลัพธ์ ส่วนพื้นที่ที่มีเลขนำหน้าแต่ไม่มีหมายเลขพร้อมให้บริการจะถูกส่งคืนโดยมี available เป็น 0
ตัวอย่างรูปแบบการตอบกลับ ไม่ใช่ข้อมูลบัญชีแบบเรียลไทม์หรือใบเสนอราคาปัจจุบัน
{
"status": {
"code": 200,
"msg": "Results: 2",
"results": 2
},
"response": [
{
"uuid": "0000000000000000000000000000a001",
"country_uuid": "0000000000000000000000000000c001",
"name": "Example City",
"area_type": "City",
"number_type": "Local",
"country_iso": "US",
"is_mobile": 0,
"available": 58,
"sms_coverage": 1,
"returns_numbers": 1,
"latitude": "40.0000",
"longitude": "-75.0000",
"state_iso": "NY",
"next_function": "v3/getprefixes/0000000000000000000000000000a001"
},
{
"uuid": "0000000000000000000000000000a002",
"country_uuid": "0000000000000000000000000000c001",
"name": "Sample Town",
"area_type": "City",
"number_type": "Local",
"country_iso": "US",
"is_mobile": 0,
"available": 0,
"sms_coverage": 0,
"returns_numbers": 0,
"latitude": "41.0000",
"longitude": "-76.0000",
"state_iso": "PA",
"next_function": "v3/order/0000000000000000000000000000a002"
}
]
}ข้อผิดพลาด
- 500: msg 'ISO Code parameter is required': ไม่ได้ระบุ isocode หรือระบุเป็นค่าว่าง นี่เป็นข้อผิดพลาดของคำขอที่แก้ไขได้ ไม่มีการตั้งค่าสถานะ HTTP ให้ตรงกับรหัสดังกล่าว
- 404: msg 'Error: no such country': ระบบไม่รู้จักรหัสประเทศ ไม่มีการตั้งค่าสถานะ HTTP ให้ตรงกับรหัสดังกล่าว
- 404: msg 'State filter is only available for US and CA': มีการส่ง state ที่ไม่ใช่ค่าว่างสำหรับประเทศอื่น ไม่มีการตั้งค่าสถานะ HTTP ให้ตรงกับรหัสดังกล่าว
- 404: msg 'Invalid state': state ไม่ใช่ทั้งรหัสหรือชื่อที่ระบบรู้จักสำหรับประเทศนั้น ไม่มีการตั้งค่าสถานะ HTTP ให้ตรงกับรหัสดังกล่าว
- 404: msg 'No areas found': ไม่มีพื้นที่ที่ตรงกับตัวกรองประเทศ แหล่งหมายเลข และรัฐ ไม่มีการตั้งค่าสถานะ HTTP ให้ตรงกับรหัสดังกล่าว
- 401: ไม่ได้ยืนยันตัวตนหรือยืนยันตัวตนไม่สำเร็จ ส่งกลับพร้อมสถานะ HTTP 401
ความพร้อมให้บริการและผลข้างเคียง
- เป็นการค้นหาข้อมูลเท่านั้นสำหรับบัญชีลูกค้า ไม่มีการจอง สั่งซื้อ หรือเปลี่ยนแปลงสิ่งใด
- available เป็นข้อมูลเพื่อประกอบการพิจารณา และอาจเปลี่ยนแปลงได้ก่อนขั้นตอนถัดไป