การเข้าถึงบัญชีและโครงการ
ใช้บัญชี API ที่เปิดใช้งานแล้วผ่าน HTTPS จากที่อยู่ IP ที่ได้รับอนุญาต โครงการต้องเป็นของบัญชีนั้นและต้องยังไม่ถูกลบ ใช้รหัสเฉพาะของโครงการจากขั้นตอนการสั่งย้ายค่ายเบอร์เดิม ไม่ใช่รหัสตัวเลขในฐานข้อมูลหรือหมายเลขโทรศัพท์ เข้ารหัสรหัสโครงการในรูปแบบ URL เมื่อสร้างคำขอ
คำขอ
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/status"ปลายทางนี้ไม่อ่านเนื้อหาคำขอ ข้อมูลการแบ่งหน้า หรือตัวกรองวันที่
การตอบกลับ
ตัวอย่างการตอบกลับสมมติ
{
"status": {
"code": 200,
"msg": "Project Status"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"status": 2,
"status_str": "Completed",
"counts": {
"total": 2,
"pending": 0,
"in_progress": 0,
"completed": 1,
"rejected": 1
}
}
}ฟิลด์ระดับนอก status.code รายงานผลของ API ส่วนฟิลด์ที่แยกต่างหากคือ response.status เป็นสรุปสถานะการย้ายค่ายเบอร์เดิมของโครงการที่คำนวณจากข้อมูล อย่าสับสนระหว่างสองฟิลด์นี้
สรุปสถานะไม่ได้หมายถึงผลของทุกหมายเลข
สรุปสถานะจะเลือก In Progress หากมีหมายเลขใดมีสถานะนั้น หากไม่มีจะพิจารณา Pending ตามด้วย Completed และ Rejected ตามลำดับด้วยเงื่อนไขเดียวกัน หากไม่พบสถานะที่รู้จักซึ่งตรงกัน จะใช้ค่าเริ่มต้นเป็น Pending ดังนั้นโครงการที่มีทั้งหมายเลขที่ดำเนินการเสร็จแล้วและหมายเลขที่ถูกปฏิเสธจะรายงาน Completed แม้ยังมีหมายเลขที่ถูกปฏิเสธอยู่
ตรวจสอบจำนวนและรายการหมายเลขแต่ละหมายเลขทุกครั้งก่อนสรุปว่าทั้งโครงการเสร็จสิ้นแล้ว counts.total รวมข้อมูลหมายเลขทุกแถวในโครงการ ส่วนตัวนับอื่นครอบคลุมเฉพาะค่าสถานะที่รู้จักสี่ค่าเท่านั้น และผลรวมอาจไม่เท่ากับจำนวนทั้งหมดหากมีค่าอื่นอยู่ โครงการที่ไม่มีหมายเลขจะรายงานตัวนับทุกตัวเป็นศูนย์และสรุปสถานะเป็น Pending
การตีความสถานะการย้ายค่ายเบอร์เดิม
| ค่า | ชื่อสถานะ |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
เก็บค่าสถานะแบบตัวเลขไว้และรองรับค่าที่ไม่รู้จัก หากไม่รู้จักชื่อสถานะ ระบบจะใช้ค่าที่จัดเก็บไว้แทน โดยไม่ได้รับประกันว่าจะมีชื่อสถานะใหม่ สถานะเสร็จสิ้นหรือวันที่กำหนดไว้ซึ่งจัดเก็บอยู่ไม่ได้เป็นการทดสอบการกำหนดเส้นทางสายเรียกเข้าหรือบริการทุกอย่างของหมายเลขนั้นด้วยตัวมันเอง
ข้อผิดพลาดและข้อจำกัด
ตรวจสอบทั้งการตอบกลับ HTTP และ status.code/status.msg. หากไม่มีโครงการ โครงการถูกลบแล้ว หรือโครงการไม่ได้เป็นของบัญชี จะส่งรหัส API 404 กลับมาพร้อมข้อความว่าไม่พบโครงการ ทั้งนี้ยังต้องผ่านการยืนยันตัวตนและข้อจำกัดเกี่ยวกับ IP ต้นทางด้วย ตัวอย่างเหล่านี้ไม่ได้ส่งคำขอจริง และการตอบกลับที่สำเร็จไม่ได้เป็นหลักฐานว่าผู้ให้บริการเครือข่ายยอมรับหรือดำเนินการย้ายค่ายเสร็จแล้ว
ผลที่เกิดขึ้น
ปลายทางนี้อ่านจำนวนของโครงการที่จัดเก็บไว้ ในตัวจัดการที่ผ่านการตรวจทานแล้ว ปลายทางนี้ไม่ส่งคำขอย้ายค่าย ไม่เปลี่ยนสถานะ ไม่เริ่มการโทร และไม่หักเงินจากบัญชี ไม่มีการสอบถามสถานะจากผู้ให้บริการเครือข่ายเป็นระยะแบบเรียลไทม์หรือการสมัครรับการแจ้งเตือนผ่านเว็บฮุก