ตั้งค่าและแก้ไขจุดบกพร่องในเครือข่ายของคุณ

เอกสารนี้จะให้ข้อมูลสำหรับการตั้งค่าเครือข่ายและแก้ไขจุดบกพร่องสำหรับปัญหาต่างๆ ที่อาจเกิดขึ้นได้

ไคลเอ็นต์ WhatsApp Business API มีข้อกำหนดของเครือข่ายบางอย่างในการเชื่อมต่อกับเซิร์ฟเวอร์ WhatsApp หากธุรกิจของคุณไม่สามารถทำสิ่งต่างๆ ด้านล่างนี้ได้ เราต้องขออภัยที่ไม่สามารถสนับสนุนการผสานการทำงาน WhatsApp ให้คุณได้

เราเข้าใจดีว่าธุรกิจที่แตกต่างกันย่อมมีการกำหนดค่าเครือข่ายและข้อกังวลเรื่องการรักษาความปลอดภัยที่แตกต่างกันตามไปด้วย โปรดติดต่อขอรับความช่วยเหลือโดยตรงหากเอกสารนี้ไม่เพียงพอสำหรับการตั้งค่าของคุณ เนื่องจากคุณอาจมีข้อกำหนดด้านการเชื่อมต่อหรือการรักษาความปลอดภัยใดๆ เป็นพิเศษ

ไคลเอ็นต์ WhatsApp Business API จำเป็นต้องมีการเชื่อมต่อ TCP แบบระยะยาว ระบบจะส่งคำขอเป็นระยะๆ เพื่อไม่ให้การเชื่อมต่อหยุดนิ่ง อย่างไรก็ตาม คุณจะต้องตรวจสอบให้แน่ใจว่าไฟร์วอลล์ เราเตอร์ การรักษาความปลอดภัย ฯลฯ ของคุณไม่ได้ยุติการเชื่อมต่อ TCP แบบระยะยาว

พอร์ต

พอร์ตที่ใช้สำหรับการรับส่งข้อมูลขาออกมีอยู่ 2 พอร์ตดังนี้

  • 5222
  • 443

พอร์ตเหล่านี้จะไม่รับหรือไม่ใช้สำหรับการรับส่งข้อมูลขาเข้า ไฟร์วอลล์ของธุรกิจคุณยังคงป้องกันการรับส่งข้อมูลขาเข้าได้ตามปกติ

พอร์ตเริ่มต้นสำหรับไคลเอ็นต์ WhatsApp Business API คือ 5222 หากพอร์ตนี้ไม่พร้อมใช้งาน แอพพลิเคชั่นจะเปลี่ยนไปใช้พอร์ต 443 ทั้งนี้ คุณจำเป็นต้องเปิดพอร์ต 443 สำหรับ HTTPS เป็นขั้นต่ำสำหรับการลงทะเบียนและการรีสตาร์ทแอพพลิเคชั่น คุณสามารถปิดพอร์ต 5222 ไว้และเปิดพอร์ต 443 ได้ แต่คุณไม่สามารถเปิดพอร์ต 5222 โดยไม่เปิดพอร์ต 443 ได้

เราขอแนะนำให้คุณเปิดทั้ง 2 พอร์ตนี้ และอนุญาตการรับส่งข้อมูลขาออกทั้งหมด

โปรโตคอล

ไคลเอ็นต์ WhatsApp Business API จะใช้โปรโตคอล 2 ประเภทดังนี้

  • chatd
  • HTTPS

โปรโตคอลแชทที่เป็นกรรมสิทธิ์ของ WhatsApp ซึ่งเรียกว่า chatd จะใช้เพื่อส่งข้อความและข้อมูลแบบเข้ารหัสไปยังและจากเซิร์ฟเวอร์ WhatsApp ทั้งนี้ เนื่องจากเป็นโปรโตคอลที่เป็นกรรมสิทธิ์ เราจึงจำเป็นต้องให้พอร์ตที่คุณเปิดนั้นอยู่ในรายการที่อนุญาตสำหรับการรับส่งข้อมูลขาออกทั้งหมด ไฟร์วอลล์และพร็อกซีบางอย่างจะยุติการเชื่อมต่อที่ไม่ใช่แบบ SSL ซึ่งจะขัดขวางไม่ให้แอพพลิเคชั่นสามารถเชื่อมต่อกับเซิร์ฟเวอร์ WhatsApp ได้

WhatsApp จะใช้ HTTPS ในระหว่างการลงทะเบียน ทั้งยังจำเป็นในการรีสตาร์ทอีกด้วย เราไม่แนะนำให้บล็อก HTTPS หลังการลงทะเบียน เนื่องจากคุณจะไม่มีทางรู้ได้เลยว่าคุณจะต้องลงทะเบียนอีกครั้งหรือรีสตาร์ทแอพพลิเคชั่นเมื่อใด

ที่อยู่ IP

WhatsApp ใช้ที่อยู่ IP ต่างๆ มากมายสำหรับเซิร์ฟเวอร์ คุณสามารถพยายามอนุญาตที่อยู่ IP ทั้งหมดได้ แต่คุณควรอนุญาตการรับส่งข้อมูลขาออกและการเชื่อมต่อทั้งหมดจากพอร์ตข้างต้นจึงจะเป็นการดีที่สุด

ที่อยู่ IP และช่วงของเซิร์ฟเวอร์ WhatsApp (ไฟล์ .zip)
(อัพเดตเมื่อวันที่ 26 กรกฎาคม 2022 และมีผลตั้งแต่วันที่ 26 กรกฎาคม 2022)

รายการนี้อาจมีการเปลี่ยนแปลงบ่อยครั้ง ด้วยเหตุนี้ เราจึงขอแนะนำให้คุณอนุญาตการรับส่งข้อมูลขาออกทั้งหมดจากพอร์ต 5222 หรือ 443 เพื่อช่วยให้คุณไม่จำเป็นต้องอัพเดตรายการที่อนุญาตนี้ในเครือข่ายของคุณทุกครั้งที่มีการเปลี่ยนแปลง

ชื่อโฮสต์

คุณสามารถเพิ่มเซิร์ฟเวอร์ WhatsApp ลงในรายการที่อนุญาตได้โดยใช้ชื่อโฮสต์ แทนที่จะใช้ที่อยู่ IP

ทั้งนี้ ชื่อโฮสต์ของเซิร์ฟเวอร์ WhatsApp ที่ไคลเอ็นต์ WhatsApp Business API กำหนดให้มีการเชื่อมต่อมีดังต่อไปนี้

  • .*.cdn.whatsapp.net
  • g.whatsapp.net
  • graph.facebook.com
  • graph.whatsapp.com
  • media-.*.cdn.whatsapp.net
  • media..*.fna.whatsapp.net
  • mmg.whatsapp.net
  • pps.whatsapp.net
  • static.whatsapp.net
  • v.whatsapp.net

รูปภาพคอนเทนเนอร์ Docker

คุณยังจำเป็นต้องอนุญาตให้เข้าถึงที่จัดเก็บของเราใน JFrog ซึ่งเป็นจุดที่เราโฮสต์รูปภาพคอนเทนเนอร์ Docker เอาไว้เพื่อใช้ดาวน์โหลด

คุณจะต้องใช้ชื่อโฮสต์ในรายการที่อนุญาตของเราสำหรับ JFrog เนื่องจากไม่สามารถระบุที่อยู่ IP ได้

ชื่อโฮสต์ JFrog ที่จำเป็นมีดังนี้

  • docker.whatsapp.biz
  • dl.bintray.com
  • akamai.bintray.com

ไฟร์วอลล์

การเพิ่มชื่อโฮสต์ลงในรายการที่อนุญาตอาจใช้ไม่ได้ผลและคุณจะต้องเพิ่มที่อยู่ IP ทั้งหมดลงในรายการที่อนุญาตแทน ทั้งนี้ขึ้นอยู่กับไฟร์วอลล์ของคุณและการทำงานของไฟร์วอลล์นั้น

ตัวอย่างลักษณะการทำงานของไฟร์วอลล์ที่จะใช้ไม่ได้ผลหากใช้เพียงชื่อโฮสต์ในรายการที่อนุญาตมีดังต่อไปนี้

  • ไฟร์วอลล์ที่เรียกใช้การสืบค้น DNS (กับ DNS ที่กำหนดค่าในศูนย์ข้อมูลของคุณ) และใช้ IP ที่ได้มาในรายการที่อนุญาต
  • ไฟร์วอลล์ที่ค้นหาการสืบค้น DNS ขาออกจากเครื่องในศูนย์ข้อมูลและใช้ที่อยู่ IP ที่พบในการตอบกลับรายการที่อนุญาต
  • ไฟร์วอลล์ที่ค้นหาชื่อโฮสต์ในแฮนด์เชค HTTP/HTTPS

ในกรณีที่ไฟร์วอลล์ของคุณแสดงให้เห็นลักษณะการทำงานอย่างใดอย่างหนึ่งเหล่านี้ โปรดใช้ที่อยู่ IP ในรายการที่อนุญาตต่อไป

พร็อกซี

กำหนดค่าพร็อกซีของเครือข่าย โดยตั้งค่าตัวแปรแวดล้อมต่อไปนี้ให้กับพร็อกซีที่คุณกำลังใช้งาน แล้วส่งไปยัง Coreapp

  • http_proxy
  • https_proxy

การทดสอบด้วย WADebug

เครื่องมือ WADebug สามารถช่วยตรวจสอบได้อย่างรวดเร็วว่าคอนเทนเนอร์ของ Coreapp มีสิทธิ์การเข้าถึงเซิร์ฟเวอร์ WhatsApp ที่จำเป็นทั้งหมดหรือไม่ เมื่อติดตั้ง WADebug แล้ว ให้เรียกใช้

  wadebug partial check_network