การเข้าถึงบัญชีและโครงการ
ใช้บัญชี API ที่เปิดใช้งานแล้วผ่าน HTTPS จากที่อยู่ IP ที่ได้รับอนุญาต โครงการต้องเป็นของบัญชีนั้นและต้องยังไม่ถูกลบ ใช้รหัสเฉพาะของโครงการจากขั้นตอนการสั่งย้ายค่ายเบอร์เดิม ห้ามใช้รหัสตัวเลขในฐานข้อมูลหรือหมายเลขโทรศัพท์ เข้ารหัสรหัสโครงการตามรูปแบบ URL เมื่อสร้างคำขอ
เตรียมเพิ่มหมายเลข
การดำเนินการนี้เปลี่ยนแปลงโครงการย้ายค่ายเบอร์เดิมที่มีอยู่ ให้ยืนยันหมายเลขและการอนุญาตจากลูกค้าผ่านขั้นตอนการสั่งย้ายค่ายเบอร์เดิมของคุณก่อน จัดรูปแบบแต่ละหมายเลขเป็นตัวเลขระหว่างประเทศแบบครบถ้วน ลบหมายเลขซ้ำด้วยตนเอง และตรวจสอบรายการหมายเลขที่มีอยู่ในโครงการ ห้ามใช้จุดปลายทางนี้เพื่อทดสอบหมายเลขใด ๆ โดยพลการ
พอร์ทัลปัจจุบันตรวจสอบความถูกต้องและปรับรูปแบบหมายเลขให้เป็นมาตรฐานก่อนเรียกเส้นทางนี้ การเรียกจุดปลายทางรุ่นเก่าโดยตรงไม่มีมาตรการป้องกันเช่นเดียวกัน โดยจะตัดช่องว่างหัวท้ายของข้อมูลเข้า แต่ไม่ตรวจสอบรูปแบบหมายเลขโทรศัพท์ รหัสประเทศ หมายเลขซ้ำ หรือสถานะขั้นตอนการทำงานของโครงการ
คำขอ POST
สร้างไฟล์ในเครื่องชื่อ numbers.json โดยใช้โครงสร้างต่อไปนี้ หมายเลขเหล่านี้เป็นหมายเลขสมมติ ให้แทนที่ด้วยหมายเลขที่ได้รับอนุญาตสำหรับโครงการที่เลือก
{
"numbers": [
"12025550123",
"12025550124"
],
"isocode": "US"
}curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--header "Content-Type: application/json" \
--data-binary @numbers.json \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"| ฟิลด์ | ความหมาย |
|---|---|
| numbers | ต้องระบุอาร์เรย์ที่ไม่ว่างของสตริงหมายเลข หรือสตริงที่มีหนึ่งหมายเลขต่อหนึ่งบรรทัด รายการว่างจะถูกละทิ้งและช่องว่างหัวท้ายจะถูกลบ ข้อความที่คั่นด้วยจุลภาคจะไม่ถูกแยกเป็นหมายเลขแต่ละรายการ |
| isocode | รหัสประเทศสำหรับแถวที่เพิ่ม ซึ่งไม่จำเป็นต้องระบุ หากไม่ได้ระบุหรือเป็นค่าว่าง จะใช้ตำแหน่งที่ตั้งของโครงการ ตัวจัดการจะตัดช่องว่างหัวท้าย แต่ไม่แปลงค่าที่ระบุเป็นตัวพิมพ์ใหญ่หรือตรวจสอบความถูกต้อง คุณต้องระบุรหัสประเทศที่ถูกต้องด้วยตัวพิมพ์ใหญ่เอง |
ตัวอย่างนี้ใช้ POST ร่วมกับ application/json ระบบยังอ่านข้อมูลแบบฟอร์มที่ส่งด้วย POST ด้วย เมธอดนี้ไม่ได้กำหนดคีย์ป้องกันผลซ้ำเมื่อส่งคำขอเดิมอีกครั้ง หรือข้อกำหนดขนาดชุดข้อมูลที่ปลอดภัยเฉพาะสำหรับจุดปลายทางนี้ ให้ตรวจสอบข้อมูลให้ตรงกันเป็นชุดที่จัดการได้ แทนการอาศัยขีดจำกัดที่คาดเดาเอง
ผลลัพธ์ที่รายงาน
ตัวอย่างการตอบกลับสมมติ
{
"status": {
"code": 200,
"msg": "Success add numbers"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"count": 2,
"numbers": [
{
"id": 21,
"number": "12025550123",
"status": 0,
"status_str": "Pending",
"isocode": "US"
},
{
"id": 22,
"number": "12025550124",
"status": 0,
"status_str": "Pending",
"isocode": "US"
}
]
}
}การตอบกลับระบุสถานะ Pending ให้รายการที่พยายามเพิ่ม โดยไม่ได้ตรวจสอบผลการแทรกข้อมูลแต่ละครั้งในฐานข้อมูลก่อนรายงาน ดังนั้นจำนวนหรือรหัสที่ส่งกลับเพียงอย่างเดียวจึงไม่ใช่หลักฐานว่าบันทึกทุกแถวไว้อย่างถาวรแล้ว รายการที่เพิ่มซึ่งมีสถานะ Pending ไม่ได้หมายความว่าผู้ให้บริการเครือข่ายยอมรับแล้ว กำหนดวันย้ายค่ายแล้ว หรือเปิดใช้งานเสร็จแล้ว
ตรวจสอบข้อมูลให้ตรงกันก่อนลองอีกครั้ง
- อ่านรายการหมายเลขของโครงการก่อนเพิ่มหมายเลข และเก็บรายการที่ตั้งใจจะเพิ่มไว้ในบันทึกคำขอของคุณเอง
- ส่งคำขอเพิ่มหมายเลขเพียงครั้งเดียว
- อ่านรายการหมายเลขของโครงการอีกครั้งและเปรียบเทียบหมายเลขที่ตั้งใจจะเพิ่มทุกรายการ ตรวจสอบหมายเลขซ้ำและสถานะของแต่ละหมายเลข
- หากคำขอหมดเวลารอ ส่งข้อผิดพลาดกลับมา หรือรายงานผลที่ไม่ชัดเจน ให้อ่านข้อมูลกลับมาตรวจสอบก่อนลองอีกครั้ง บางรายการอาจถูกเพิ่มไว้แล้ว
- แก้ไขแถวที่ขาดหายหรือซ้ำผ่านขั้นตอนการสั่งย้ายค่ายเบอร์เดิมหรือฝ่ายสนับสนุน แทนการส่งคำขอทั้งหมดซ้ำโดยไม่ตรวจสอบ
ตัวจัดการแทรกรายการทีละรายการโดยไม่มีธุรกรรมหรือการป้องกันข้อมูลซ้ำ หากการทำงานหยุดชะงัก ข้อมูลที่เขียนไปก่อนหน้านั้นอาจยังคงอยู่ การแทรกที่ล้มเหลวและคืนค่า false อาจยังถูกรวมในจำนวนที่รายงาน การส่งคำขอซ้ำอาจเพิ่มแถวซ้ำ ตัวจัดการเองไม่ได้บันทึกเหตุการณ์หรือดำเนินการย้ายค่ายกับผู้ให้บริการเครือข่ายให้เสร็จสมบูรณ์
ข้อผิดพลาดของระบบรุ่นเก่า
เมธอดอื่นที่ไม่ใช่ POST จะคืนรหัส API 403 โครงการที่ไม่มีอยู่ ถูกลบ หรือไม่ได้เป็นของบัญชีนั้นจะคืนรหัส API 404 ข้อมูลหมายเลขเข้าที่ว่างจะคืนรหัส API 404 เช่นกัน ต้องเป็นไปตามข้อกำหนดการยืนยันตัวตนและข้อจำกัด IP ต้นทาง รหัสของระบบรุ่นเก่าเหล่านี้ไม่ได้ยืนยันว่าไม่มีการแทรกข้อมูลเกิดขึ้นก่อนหน้านั้นหลังจากเริ่มประมวลผล
ขอบเขตการเรียกเก็บเงินและการย้ายค่าย
ตัวจัดการที่ตรวจทานแล้วแทรกแถวหมายเลขของโครงการ และไม่มีการหักเงินจากบัญชีโดยตรงหรือส่งคำขอไปยังผู้ให้บริการเครือข่าย ทั้งนี้ไม่ได้ทำให้บริการย้ายค่ายเบอร์เดิมโดยรวมไม่มีค่าใช้จ่าย หรือทำให้ค่าธรรมเนียมการย้ายค่ายที่ตกลงกันไว้เป็นอันยกเลิก ให้ดำเนินการตามข้อกำหนดด้านการอนุญาต เอกสาร และการตรวจทานของโครงการให้ครบถ้วนก่อนคาดหวังว่าจะมีการย้ายค่าย