คู่มือนี้ระบุวิธีที่คุณสามารถตรวจสอบยืนยันหมายเลขโทรศัพท์ของคุณและการจัดรูปแบบที่จำเป็นสำหรับ API ระบบคลาวด์
โดยระบบมีเกณฑ์สำหรับประเภทของหมายเลขโทรศัพท์ที่คุณสามารถเพิ่มลงในบัญชี WhatsApp Business (WABA) โปรดดูข้อมูลเพิ่มเติมที่ หมายเลขโทรศัพท์
คุณต้องทราบ ID หมายเลขโทรศัพท์ของคุณเพื่อที่จะเรียกใช้ API บางรายการ โปรดดูวิธีเรียกดูหมายเลขโทรศัพท์ที่เชื่อมโยงกับ WABA ของคุณที่เรียกดูหมายเลขโทรศัพท์ทั้งหมด ซึ่งการตอบกลับการเรียกใช้ API ประกอบด้วย ID ของหมายเลขโทรศัพท์แต่ละหมายเลขที่เชื่อมต่อกับบัญชี WhatsApp Business ของคุณ ให้บันทึก ID ของโทรศัพท์ที่คุณต้องการใช้กับการโทรของ /PHONE_NUMBER_ID
คุณจำเป็นต้องตรวจสอบยืนยันหมายเลขโทรศัพท์ที่คุณต้องการใช้ส่งข้อความถึงลูกค้าของคุณ โดยหมายเลขโทรศัพท์ดังกล่าวต้องได้รับการตรวจสอบยืนยันโดยใช้รหัสที่ส่งผ่านทาง SMS/การโทรด้วยเสียง ซึ่งกระบวนการตรวจสอบยืนยันสามารถทำได้ผ่านการเรียกใช้ API กราฟที่ระบุไว้ด้านล่าง
หากต้องการตรวจสอบยืนยันหมายเลขโทรศัพท์โดยใช้ API กราฟ ให้สร้างคำขอ POST
ไปยัง PHONE_NUMBER_ID/request_code
โดยให้ระบุวิธีการตรวจสอบยืนยันและภาษาที่เลือกไว้ในการเรียกใช้ของคุณ
ตำแหน่งข้อมูล | การยืนยันตัวตน |
---|---|
(โปรดดูที่ เรียกดู ID หมายเลขโทรศัพท์) | ยืนยันตัวตนของคุณเองด้วยโทเค็นการเข้าถึงผู้ใช้ระบบ หากคุณกำลังขอรหัสในนามของธุรกิจอื่น โทเค็นการเข้าถึงนี้จำเป็นต้องมี Advanced Access สำหรับสิทธิ์การอนุญาต |
ชื่อ | คำอธิบาย (คลิกที่ลูกศรในคอลัมน์ด้านซ้ายเพื่อดูตัวเลือกที่รองรับ) |
---|---|
| จำเป็นต้องระบุ วิธีการตรวจสอบยืนยันที่เลือก |
| จำเป็นต้องระบุ รหัสภาษาแบบ 2 อักขระของภาษานั้นๆ ตัวอย่างเช่น: |
ตัวอย่างคำขอ:
หลังจากเรียกใช้ API แล้ว คุณจะได้รับรหัสยืนยันผ่านทางวิธีที่คุณเลือก ให้ระบุรหัสของคุณในคำขอ POST
ไปยัง PHONE_NUMBER_ID/verify_code
เพื่อเสร็จสิ้นกระบวนการตรวจสอบยืนยัน
ตำแหน่งข้อมูล | การยืนยันตัวตน |
---|---|
(โปรดดูที่ เรียกดู ID หมายเลขโทรศัพท์) | ยืนยันตัวตนของคุณเองด้วยโทเค็นการเข้าถึงผู้ใช้ระบบ หากคุณกำลังขอรหัสในนามของธุรกิจอื่น โทเค็นการเข้าถึงนี้จำเป็นต้องมี Advanced Access สำหรับสิทธิ์การอนุญาต |
ชื่อ | คำอธิบาย |
---|---|
| จำเป็นต้องระบุ รหัสที่คุณได้รับหลังจากเรียกใช้ |
ตัวอย่างคำขอ:
การตอบกลับที่สำเร็จจะมีลักษณะดังนี้
{ "success": true }
Plus signs (+
), hyphens (-
), parenthesis ((
,)
), and spaces are supported in send message requests.
We highly recommend that you include both the plus sign and country calling code when sending a message to a customer. If the plus sign is omitted, your business phone number's country calling code is prepended to the customer's phone number. This can result in undelivered or misdelivered messages.
For example, if your business is in India (country calling code 91
) and you send a message to the following customer phone number in various formats:
Number In Send Message Request | Number Message Delivered To | Outcome |
---|---|---|
|
| Correct number |
|
| Correct number |
|
| Potentially wrong number |
|
| Potentially wrong number |
คุณอาจต้องการให้เรายืนยันตัวตนของลูกค้าก่อนที่เราจะส่งข้อความของคุณไปให้ลูกค้าเหล่านั้น ซึ่งคุณสามารถให้เราดำเนินการนี้ได้โดยเปิดใช้งานการตั้งค่าการตรวจสอบการเปลี่ยนแปลงข้อมูลระบุตัวตนในหมายเลขโทรศัพท์ธุรกิจของคุณ
หากลูกค้าดำเนินการใน WhatsApp ที่เราถือว่าเป็นการเปลี่ยนแปลงข้อมูลระบุตัวตน เราจะสร้างแฮชข้อมูลระบุตัวตนใหม่ให้กับผู้ใช้รายนั้น ซึ่งคุณสามารถรับแฮชนี้ได้ทุกครั้งที่คุณส่งข้อความถึงลูกค้าโดยเปิดใช้งานการตั้งค่าการตรวจสอบการเปลี่ยนแปลงข้อมูลระบุตัวตนในหมายเลขโทรศัพท์ธุรกิจของคุณ เมื่อเปิดใช้งานแล้ว ทุกครั้งที่ลูกค้าส่งข้อความถึงคุณ หรือคุณส่งข้อความถึงลูกค้าที่ไม่มีแฮชข้อมูลระบุตัวตน เราจะรวมแฮชของลูกค้าเหล่านั้นไว้ใน Webhooks ข้อความขาเข้าหรือ Webhooks สถานะการนำส่ง จากนั้นคุณจะสามารถบันทึกและจัดเก็บแฮชนี้เพื่อใช้ในอนาคตได้
หากต้องการใช้แฮช ให้คุณรวมไว้ในคำขอส่งข้อความ เราจะเปรียบเทียบแฮชในคำขอกับแฮชปัจจุบันของลูกค้า หากแฮชเหล่านี้ตรงกัน ระบบจะส่งข้อความ แต่หากแฮชไม่ตรงกัน แสดงว่าลูกค้าได้เปลี่ยนข้อมูลระบุตัวตนนับตั้งแต่ครั้งล่าสุดที่คุณส่งข้อความถึงลูกค้า และเราจะไม่ส่งข้อความดังกล่าว แต่เราจะส่ง Webhook สถานะข้อความให้กับคุณแทน โดยมีรหัสข้อผิดพลาด 137000
เพื่อแจ้งให้ทราบว่าเราส่งข้อความไม่สำเร็จและแฮชไม่ตรงกัน
เมื่อคุณได้รับ Webhook แฮชที่ไม่ตรงกัน ให้ถือว่าหมายเลขโทรศัพท์ของลูกค้าไม่สามารถเชื่อถือได้อีกต่อไป หากต้องการให้ความเชื่อมั่นกลับคืนมา ให้ยืนยันตัวตนของลูกค้าอีกครั้งโดยใช้ช่องทางอื่นๆ ที่ไม่ใช่ WhatsApp เมื่อคุณได้รับความเชื่อมั่นกลับคืนมาแล้ว ให้ส่งข้อความที่ส่งไม่สำเร็จอีกครั้งไปยังข้อมูลระบุตัวตนใหม่ (หากมี) โดยไม่มีแฮช จากนั้นให้จัดเก็บแฮชใหม่ของลูกค้าที่รวมอยู่ใน Webhook สถานะการนำส่งข้อความ
ส่งคำขอ POST ไปที่ตำแหน่งข้อมูล "หมายเลขโทรศัพท์ WhatsApp Business > การตั้งค่า" เพื่อเปิดหรือปิดใช้งานการตั้งค่าการตรวจสอบการเปลี่ยนแปลงข้อมูลระบุตัวตน
POST /<WHATSAPP_BUSINESS_PHONE_NUMBER>/settings
{ "user_identity_change" : { "enable_identity_key_check": <ENABLE_IDENTITY_KEY_CHECK> }
ตั้งค่า <ENABLE_IDENTITY_KEY_CHECK>
เป็น true
เพื่อเปิดใช้งานการตรวจสอบข้อมูลระบุตัวตน หรือตั้งค่าเป็น false
เพื่อปิดใช้งาน
curl 'https://graph.facebook.com/v21.0
/106850078877666/settings' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"user_identity_change": {
"enable_identity_key_check": true
}
}'
{ "success": true }
ระบบจะส่งข้อความตัวอย่างนี้ก็ต่อเมื่อค่าแฮช recipient_identity_key_hash
ตรงกับแฮชปัจจุบันของลูกค้าเท่านั้น
curl 'https://graph.facebook.com/v21.0
/106850078877666/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "+16505551234",
"recipient_identity_key_hash": "DF2lS5v2W6x=",
"type": "text",
"text": {
"preview_url": false,
"body": "Your latest statement is attached. See... "
}
}'
ใน Webhooks ข้อความขาเข้า ระบบจะกำหนดแฮชของลูกค้าให้กับคุณสมบัติ identity_key_hash
{ "object": "whatsapp_business_account", "entry": [ { "id": "102290129340398", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550051310", "phone_number_id": "106540352242922" }, "contacts": [ { "profile": { "name": "Pablo Morales" }, "wa_id": "16505551234", "identity_key_hash": "DF2lS5v2W6x=" } ], "messages": [ { "from": "16505551234", "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgASGBQzQUMyNTA4M0VGN0Q4RjdDNDVCMAA=", "timestamp": "1686591695", "text": { "body": "Your latest statement is attached. See... " }, "type": "text" } ] }, "field": "messages" } ] } ] }
ใน Webhooks สถานะการนำส่ง ระบบจะกำหนดแฮชของลูกค้าให้กับคุณสมบัติ recipient_identity_key_hash
{ "object": "whatsapp_business_account", "entry": [ { "id": "102290129340398", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550051310", "phone_number_id": "106540352242922" }, "statuses": [ { "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJGODlDQjZBNjUxMUQ5NEU0MEUA", "status": "delivered", "timestamp": "1686591922", "recipient_id": "16505551234", "recipient_identity_key_hash": "DF2lS5v2W6x=", "conversation": { "id": "6c84493f3de086c7c68d5a39248f72c0", "origin": { "type": "service" } }, "pricing": { "billable": true, "pricing_model": "CBP", "category": "service" } } ] }, "field": "messages" } ] } ] }
ใน Webhooks สถานะการนำส่ง ระบบจะกำหนดแฮชของลูกค้าให้กับคุณสมบัติ recipient_identity_key_hash
{ "object": "whatsapp_business_account", "entry": [ { "id": "102290129340398", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550051310", "phone_number_id": "106540352242922" }, "statuses": [ { "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJDQzA0OEU4OTdEQUE5REVCQTgA", "status": "failed", "timestamp": "1686594665", "recipient_id": "16505551234", "errors": [ { "code": 137000, "title": "Confirm the correct Recipient Identity Key Hash or send without any identity key hash" } ] } ] }, "field": "messages" } ] } ] }
ใช้ตำแหน่งข้อมูลหมายเลขโทรศัพท์ WhatsApp Business เพื่อเรียกดูระดับปริมาณข้อความในปัจจุบันของหมายเลขโทรศัพท์นั้นๆ
GET /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>?fields=throughput