/v1/contacts
ใช้โหนด contacts
เพื่อจัดการผู้ใช้ WhatsApp ในฐานข้อมูลของคุณ โดยการตรวจสอบความถูกต้องของผู้ใช้ก่อนจะส่งข้อความและยืนยันตัวตนของผู้ใช้ด้วยแฮชข้อมูลระบุตัวตน
เมื่อใช้โหนด contacts
คุณจะสามารถดำเนินการดังต่อไปนี้ได้
status
เป็น valid
ก่อนจึงจะส่งข้อความถึงผู้ใช้ได้ ตั้งแต่เวอร์ชั่น 2.39.1 คุณสามารถใช้โหนด messages
กับหมายเลขโทรศัพท์ได้โดยตรง โดยไม่จำเป็นต้องใช้โหนด contacts
เพื่อแปลงเป็น WhatsApp ID ก่อน
เราจะเปลี่ยนวัตถุประสงค์ของโหนด contacts
ตั้งแต่เวอร์ชั่น 2.43 เพื่อไม่ให้ข้อมูลสถานะเกี่ยวกับหมายเลขโทรศัพท์อีกต่อไป ระบบจะส่งคืน valid
สำหรับ status
ในการตอบกลับและ wa_id.
ไม่ว่าผู้ใช้จะมี WhatsApp หรือไม่ก็ตาม
คุณจะต้องนำเสนอตัวเลือกให้ลูกค้าสามารถเลือกรับการสื่อสารกับธุรกิจของคุณผ่าน WhatsApp ได้ ธุรกิจของคุณจะเป็นฝ่ายดูแลจัดการขั้นตอนการเลือกรับนี้ หลังจากที่ลูกค้าได้เลือกรับแล้ว ให้ใช้โหนด contacts
เพื่อตรวจสอบความถูกต้องของหมายเลขที่ลงทะเบียนไว้ โปรดดูข้อมูลเพิ่มเติมที่การทำความเข้าใจวิธีการเสนอให้ลูกค้าเลือกรับ WhatsApp
หากธุรกิจนำตำแหน่งข้อมูลนี้ไปใช้ในทางที่ผิด เราจะดำเนินการดังต่อไปนี้
เราขอแนะนำให้ตรวจสอบผู้ติดต่อก่อนที่จะส่งข้อความ แต่คุณไม่จำเป็นต้องตรวจสอบผู้ติดต่อในกรณีที่เป็นการตอบกลับข้อความขาเข้าจากลูกค้า เนื่องจากคุณสามารถตอบกลับได้ทันทีโดยใช้ wa_id
ที่ให้ไว้ ทั้งนี้จะไม่มีค่าใช้จ่ายเพิ่มเติมเนื่องจากระบบแคชผลลัพธ์ไว้
ก่อนที่จะส่งข้อความถึงผู้ใช้ได้ที่เลือกรับข้อความแล้ว ให้ส่งคำขอ POST
ไปยังตำแหน่งข้อมูล /v1/contacts
เพื่อสร้างคำขอตรวจสอบความถูกต้องของผู้ใช้บัญชี WhatsApp ในการเรียกใช้ของคุณ ให้ระบุรายการหมายเลขโทรศัพท์ที่คุณต้องการตรวจสอบความถูกต้องเอาไว้
POST /v1/contacts { "blocking": "wait" | "no_wait", "contacts": [ "16315551000", "+1 631 555 1001", "6315551002", "+1 (631) 555-1004", "1-631-555-1005" ], "force_check": false | true }
คุณจะได้รับการตอบกลับซึ่งระบุ status
ในปัจจุบันของหมายเลขที่ส่งคำขอไป รวมถึง WhatsApp ID (wa_id
) สำหรับหมายเลขเหล่านั้น
{ "contacts": [ { "wa_id": "16315551000", "input": "16315551000", "status": "valid" }, { "wa_id": "16315551001", "input": "+1 631 555 1001", "status": "processing" # Only applicable when request is non-blocking }, { "input": "6315551002", "status": "invalid" }, { "input": "+163155588", "status": "failed" } }
บันทึก WhatsApp ID สำหรับหมายเลขที่แสดง status
เป็น valid
โดยผู้ใช้ที่ถูกต้องคือผู้ใช้ที่มีบัญชี WhatsApp ใช้ ID ของ WhatsApp เพื่อส่งข้อความและการแจ้งเตือน
ดำเนินการขั้นตอนเหล่านี้ซ้ำเป็นประจำเพื่อจัดการรายชื่อผู้ใช้ที่ถูกต้อง ระบบจะแคชผลลัพธ์ในฐานข้อมูลของไคลเอ็นต์ API ภายในองค์กรของ WhatsApp Business ไว้เป็นเวลา 7 วัน
ระบบรองรับพารามิเตอร์ต่อไปนี้สำหรับการเรียกใช้ POST
ไปยัง /v1/contacts
ชื่อ | คำอธิบาย |
---|---|
| ระบุหรือไม่ก็ได้ ระบุว่าคำขอควรรอให้การประมวลผลเสร็จสมบูรณ์ก่อนที่จะตอบกลับหรือไม่ โปรดอ่านข้อมูลเพิ่มเติมที่ส่วนการบล็อกด้านล่าง ค่าที่เป็นไปได้: |
| จำเป็นต้องระบุ อาร์เรย์ของหมายเลขโทรศัพท์ที่คุณกำลังตรวจสอบความถูกต้องอยู่ หมายเลขอาจเป็นรูปแบบหมายเลขโทรศัพท์มาตรฐานแบบใดก็ได้ รูปแบบที่แนะนำสำหรับหมายเลขโทรศัพท์ในการติดต่อคือให้ใส่เครื่องหมายบวก ( |
| ระบุหรือไม่ก็ได้ ระบุว่าจะตรวจสอบแคชผู้ติดต่อหรือไม่ ระบบมักแคชข้อมูลติดต่อไว้เป็นเวลา 7 วัน เมื่อตั้งค่าพารามิเตอร์ ค่าที่เป็นไปได้: |
จุดเชื่อมโยงต่อไปนี้เชื่อมต่อกับโหนดนี้
จุดเชื่อมโยง | คำอธิบาย |
---|---|
ใช้จุดเชื่อมโยงนี้เพื่อจัดการข้อมูลระบุตัวตนของผู้ใช้ โปรดดูข้อมูลเพิ่มเติมที่การทำความเข้าใจเกี่ยวกับการเปลี่ยนแปลงข้อมูลระบุตัวตนสำหรับ WhatsApp Business |
พารามิเตอร์ blocking
มีอยู่ 2 ตัวเลือก ได้แก่ no_wait
และ wait
หากไม่ได้ระบุพารามิเตอร์ blocking
ไว้ในการเรียกใช้ พารามิเตอร์นี้จะมีค่าเป็น no_wait
โดยค่าเริ่มต้น
พารามิเตอร์ blocking
จะเป็นตัวกำหนดว่าคำขอควรรอให้การประมวลผลเสร็จสมบูรณ์ (ซิงโครนัส) หรือไม่ควรรอ (อะซิงโครนัส)
การตั้งค่า | คำอธิบาย |
---|---|
| การประมวลผลหมายเลขโทรศัพท์เป็นแบบอะซิงโครนัส การตอบกลับอาจมีหมายเลขบางรายการที่ตั้งค่า
|
| การประมวลผลหมายเลขเป็นแบบซิงโครนัส คุณจะเห็นสถานะขั้นสุดท้ายสำหรับผู้ติดต่อทั้งหมดหลังจากซิงค์กับเซิร์ฟเวอร์ การตั้งค่านี้จะทำให้บล็อกการสืบค้นต้องรอจนกว่าจะตรวจสอบครบทุกหมายเลขจึงจะส่งคืนผลลัพธ์ได้ ซึ่งอาจใช้เวลาสักครู่ |
หมายเลขโทรศัพท์ในคำขอ contacts
สามารถอยู่ในรูปแบบใดก็ได้ที่สามารถใช้โทรได้
เมื่อไม่มีเครื่องหมายบวก (+
) ขึ้นต้นหมายเลขโทรศัพท์ ระบบจะกำหนดรหัสประเทศโดยใช้หมายเลขโทรศัพท์ที่ใช้ลงทะเบียนไคลเอ็นต์ API ภายในองค์กรของ WhatsApp Business ของคุณ ด้วยเหตุนี้ หมายเลขโทรศัพท์ที่เชื่อมโยงกับรหัสประเทศอื่นจะไม่สามารถใช้งานได้
หลักปฏิบัติที่ดีที่สุดที่แนะนำคือให้ระบุรหัสประเทศไว้กับหมายเลขโทรศัพท์อยู่เสมอ และใส่เครื่องหมายบวก (+
) นำหน้าไว้อย่างชัดเจน
โปรดทราบว่ารหัสประเทศอาจยังคงใช้ได้หากหมายเลขหลัง +
ไม่ถูกต้อง ขอแนะนำให้ตรวจสอบหมายเลขโทรศัพท์ก่อนใช้ API ภายในองค์กรเพื่อรับพฤติกรรมที่คาดเดาได้
ต่อไปนี้เป็นตัวอย่างบางส่วนที่แสดงให้เห็นถึงลักษณะการทำงานเช่นนี้ โดยตัวอย่างนี้จะถือว่าไคลเอ็นต์ API ภายในองค์กรของ WhatsApp Business ได้รับการลงทะเบียนไว้กับหมายเลขโทรศัพท์ในประเทศอินเดีย (กล่าวคือ รหัสประเทศเป็น +91
)
หมายเลขโทรศัพท์ | หมายเลขโทรศัพท์ที่แปลงแล้ว |
---|---|
|
|
|
|
|
|
|
|
|
|
เพย์โหลดการตอบกลับ contacts
จะมีอาร์เรย์ของหมายเลขโทรศัพท์แบบเดียวกันกับที่ส่งไปในคำขอ พร้อมด้วยคุณสมบัติ input
, status
และ wa_id
ชื่อ | คำอธิบาย |
---|---|
| ค่าที่คุณส่งไปในช่อง |
เวอร์ชั่น 2.41 ลงไป | สถานะของผู้ใช้ ค่าที่เป็นไปได้:
|
เวอร์ชั่น 2.43 ขึ้นไป | สถานะผู้ใช้ ค่าที่เป็นไปได้:
|
เวอร์ชั่น 2.41 ลงไป | ID ผู้ใช้ WhatsApp ที่สามารถใช้ในการเรียกใช้อื่นๆ ได้ โดยจะส่งคืนมาเฉพาะในกรณีที่ |
เวอร์ชั่น 2.43 ขึ้นไป | ID ผู้ใช้ WhatsApp ที่ส่งคืนมา ซึ่งอาจถูกต้องหรือไม่ถูกต้องก็ได้ โปรดอย่าใช้ค่านี้ในการเรียกใช้ครั้งต่อๆ ไป เนื่องจากไม่มีการรับประกันว่าค่าจะถูกต้อง |
คุณควรเห็นสถานะ HTTP เป็น 200 OK
ควบคู่กับสถานะ processing
หากระบบส่งข้อความเทมเพลตไปยังหมายเลขโทรศัพท์โดยไม่มีบัญชี WhatsApp คุณจะได้รับข้อความแสดงข้อผิดพลาดที่ระบุว่า "User is not valid" (ผู้ใช้ไม่ถูกต้อง) พร้อมรหัสข้อผิดพลาด 1013
โปรดดูข้อผิดพลาดอื่นๆ ทั้งหมดในการตอบกลับที่ข้อความแสดงข้อผิดพลาดและสถานะ
การบล็อกอาจถือเป็นฟีเจอร์การป้องกันเพื่อหยุดยั้งผู้ไม่ประสงค์ดีจากการกระทำที่เป็นอันตรายอย่างต่อเนื่อง หากต้องการบล็อกผู้ติดต่อ บุคคลดังกล่าวจะต้องส่งข้อความถึงคุณในช่วง 24 ชั่วโมงที่ผ่านมา
ส่งการเรียกใช้ API ไปที่ /v1/contacts/{phone_number}/block
พร้อมระบุเหตุผลในการบล็อกบัญชี WhatsApp อื่น
POST /v1/contacts/+16315551000/block { "reason": "Optional string(0;60). Freeform block reason. Will be used when another WhatsApp account is being blocked" }
การตอบกลับที่สำเร็จจะมีสถานะ HTTP เป็น 200
และไม่มีอ็อบเจ็กต์ "error"
การตอบกลับที่ล้มเหลวจะมีลักษณะดังนี้
{ "errors": [ { "code": 2048, "title": "Not engaged contact", "details": "Invalid Request. This contact hasn't engaged with you in the last 24 hrs." } ] }
ระบบรองรับพารามิเตอร์ต่อไปนี้สำหรับการเรียกใช้ POST ไปยัง /v1/contacts/{phone_number}/block
การตั้งค่า | คำอธิบาย |
---|---|
| ระบุหรือไม่ก็ได้ เหตุผลในการบล็อกที่มีรูปแบบอิสระ ระบบจะใช้เมื่อบัญชี WhatsApp อื่นถูกบล็อกอยู่ โดยจำนวนอักขระต้องไม่เกิน 60 ตัว |
| จำเป็นต้องระบุ หมายเลขอาจเป็นรูปแบบหมายเลขโทรศัพท์มาตรฐานแบบใดก็ได้ รูปแบบที่แนะนำสำหรับหมายเลขโทรศัพท์ในการติดต่อคือให้ใส่เครื่องหมายบวก (+) ตามด้วยรหัสประเทศ โปรดดูข้อมูลเพิ่มเติมที่รูปแบบหมายเลขโทรศัพท์ |
ให้ทำการเรียกใช้นี้เพื่อเลิกบล็อกผู้ติดต่อ
ส่งการเรียกใช้ API ไปที่ /v1/contacts/{phone_number}/unblock
POST /v1/contacts/+16315551000/unblock
การตอบกลับที่สำเร็จจะมีสถานะ HTTP เป็น 200
และไม่มีอ็อบเจ็กต์ "error"
การตอบกลับที่ล้มเหลวจะมีลักษณะดังนี้
{ "errors": [ { "code": 1009, "title": "Parameter value is not valid", "details": "Provided WhatsApp ID is not valid. Please provide a valid WhatsApp ID or a phone number with a country code" } ] }
ระบบรองรับพารามิเตอร์ต่อไปนี้สำหรับการเรียกใช้ POST ไปยัง /v1/contacts/{phone_number}/unblock
การตั้งค่า | คำอธิบาย |
---|---|
| จำเป็นต้องระบุ หมายเลขอาจเป็นรูปแบบหมายเลขโทรศัพท์มาตรฐานแบบใดก็ได้ รูปแบบที่แนะนำสำหรับหมายเลขโทรศัพท์ในการติดต่อคือให้ใส่เครื่องหมายบวก (+) ตามด้วยรหัสประเทศ โปรดดูข้อมูลเพิ่มเติมที่รูปแบบหมายเลขโทรศัพท์ |
นี่คือวิธีที่คุณจะได้รับรายชื่อผู้ติดต่อที่ถูกบล็อก
ส่งการเรียกใช้ API ไปที่ /v1/contacts/blocklist
เพื่อรับรายชื่อผู้ติดต่อที่ถูกบล็อกแบบมีการแบ่งหน้า
GET /v1/contacts/blocklist?limit=10&offset=0
คุณจะได้รับการตอบกลับที่มีหน้ารายการที่บล็อกของคุณพร้อมข้อมูลการแบ่งหน้า
{ "contacts": [ { "wa_id": "16315551000@s.whatsapp.net" } ], "pagination": { "limit": 10, "offset": 0, "total": 1 } }
ระบบรองรับพารามิเตอร์ต่อไปนี้สำหรับการเรียกใช้ GET ไปยัง /v1/contacts/blocklist
การตั้งค่า | คำอธิบาย |
---|---|
| ระบุหรือไม่ก็ได้ ช่วงที่ยอมรับคือ (0; 200] ค่าเริ่มต้น: 100 |
| ระบุหรือไม่ก็ได้ ค่าเริ่มต้น: 0 |
การรายงานเป็นสัญญาณสำคัญในการสร้างแนวทางป้องกันผู้ไม่ประสงค์ดี ก่อนที่จะรายงานผู้ติดต่อ บุคคลดังกล่าวจะต้องส่งข้อความถึงคุณในช่วง 24 ชั่วโมงที่ผ่านมา
ส่งการเรียกใช้ API ไปที่ /v1/contacts/{phone_number}/report
โดยระบุเหตุผลหากคุณจะบล็อกบัญชี WhatsApp อื่น
POST /v1/contacts/+16315551000/block { "reason": "Optional string(0;60). Freeform block reason. Will be used when another WhatsApp account is being blocked", "block": "true | false optional boolean with default of false", "message_id": "message-id. Optional reported message id" }
การตอบกลับที่สำเร็จจะมีสถานะ HTTP เป็น 200
และไม่มีอ็อบเจ็กต์ "error"
การตอบกลับที่ล้มเหลวจะมีลักษณะดังนี้
{ "errors": [ { "code": 2048, "title": "Not engaged contact", "details": "Invalid Request. This contact hasn't engaged with you in the last 24 hrs." } ] }
ระบบรองรับพารามิเตอร์ต่อไปนี้สำหรับการเรียกใช้ POST ไปยัง /v1/contacts/{phone_number}/report
การตั้งค่า | คำอธิบาย |
---|---|
| ระบุหรือไม่ก็ได้ เหตุผลในการบล็อกที่มีรูปแบบอิสระ ระบบจะใช้เมื่อบัญชี WhatsApp อื่นถูกบล็อกอยู่ โดยจำนวนอักขระต้องไม่เกิน 60 ตัว |
| ระบุหรือไม่ก็ได้ ค่าเริ่มต้นคือ ระบุว่าจะบล็อกผู้ติดต่อด้วยหรือเพียงแค่รายงานผู้ติดต่อเท่านั้น |
| ระบุหรือไม่ก็ได้ ID ข้อความที่จะรายงาน หากไม่ระบุ ระบบจะส่งข้อความล่าสุด 5 ข้อความไปยัง WhatsApp |
| จำเป็นต้องระบุ หมายเลขอาจเป็นรูปแบบหมายเลขโทรศัพท์มาตรฐานแบบใดก็ได้ รูปแบบที่แนะนำสำหรับหมายเลขโทรศัพท์ในการติดต่อคือให้ใส่เครื่องหมายบวก (+) ตามด้วยรหัสประเทศ โปรดดูข้อมูลเพิ่มเติมที่รูปแบบหมายเลขโทรศัพท์ |