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

การตั้งค่าแอพพลิเคชั่น

การตั้งค่าแอพพลิเคชั่นสำหรับไคลเอ็นต์ WhatsApp Business ภายในองค์กรของคุณ

ข้อกำหนด

  • คุณจะต้องส่งคำขอโดยใช้บัญชี admin ของคุณ
  • การตอบกลับทั้งหมดจะต้องมี 200 OK HTTPS

อ่าน

รับการตั้งค่าแอพพลิเคชั่นปัจจุบันสำหรับไคลเอ็นต์ WhatsApp Business ภายในองค์กรของคุณ

ตัวอย่าง

ส่งคำขอ GET ไปยังตำแหน่งข้อมูล /v1/settings/application เพื่อรับการตั้งค่าแอพพลิเคชั่นปัจจุบัน

GET /v1/settings/application

หากสำเร็จ การตอบกลับจะประกอบด้วย 200 OK และเพย์โหลด JSON ที่มีอ็อบเจ็กต์ application ซึ่งแสดงการตั้งค่าแอพพลิเคชั่นปัจจุบันทั้งหมดและค่าต่างๆ ของการตั้งค่านั้น

ตัวอย่างการตอบกลับ

{
    "settings": {
        "application": {
            "callback_backoff_delay_ms": 3000,
            "callback_persist": true,
            "garbagecollector_enable": {
                "media": false,
                "messages": true
            },
            "heartbeat_interval": 5,
            "max_callback_backoff_delay_ms": 900000,
            "media": {
                "auto_download": [
                    "image",
                    "video",
                    "voice",
                    "sticker",
                    "audio",
                    "document"
                ]
            },
            "notify_user_change_number": true,
            "show_security_notifications": true,
            "unhealthy_interval": 30,
            "wa_id": "16315551019",
            "webhooks": {
               	"url": "<Webhook URL, https>",
               	"max_concurrent_requests": max-concurrent-requests,
               	"message": { // Available for v2.41.2 and above
                  	"sent": true,
                  	"delivered": true,
                  	"read": false
                 },
             },
             "verbose_logging": false,
             "log_level" : "info"
         },
    },
    "meta": {
        "api_status": "stable",
        "version": "3.0.1"
    }
}

จุดเชื่อมโยง

จุดเชื่อมโยงคำอธิบาย

/media/providers

ใช้เพื่อจัดการรายการผู้ให้บริการสื่อสำหรับส่งลิงก์สื่อ

อัพเดต

หากต้องการอัพเดตการตั้งค่าแอพพลิเคชั่นของคุณ ให้ส่งคำขอ PATCH ไปยังตำแหน่งข้อมูล /v1/settings/application พร้อมอ็อบเจ็กต์ JSON ซึ่งประกอบด้วยชื่อช่องและค่าที่จะตั้งค่า

สำหรับแคมเปญการส่งข้อความที่มีข้อความจำนวนมาก เราขอแนะนำให้คุณปิดใช้งานการรวบรวมข้อมูลขยะอัตโนมัติโดยตั้งค่า garbagecollector_enable.messages เป็น false และกลับมาเปิดใช้อีกครั้งหลังจากสิ้นสุดแคมเปญโดยตั้งค่ากลับไปเป็น true

คุณสามารถตรวจสอบได้ว่าการรวบรวมข้อมูลขยะอัตโนมัติถูกปิดใช้งานหรือไม่โดยส่งคำขอ GET ไปที่ตำแหน่งข้อมูล /v1/settings/application แล้วอ่านคุณสมบัติ garbagecollector_enable

ตัวอย่างคำขอ

PATCH /v1/settings/application
{
    "callback_persist": true | false,
    "max_callback_backoff_delay_ms": max-delay-in-ms,
    "media": {
        "auto_download": ["audio", "document", "voice", "video", "image", "sticker"]
    }
    "callback_backoff_delay_ms": "delay-in-ms",
    "heartbeat_interval": heartbeat-interval-in-secs,
    "unhealthy_interval": unhealthy-interval-in-secs,
    "webhooks": { 
        # See the Webhooks Parameters table below for more information
        "max_concurrent_requests": max-concurrent-requests,
        "url": "<Webhook URL, https>",
        "message": {              // Available on v2.41.2 and above
                "sent": false,
                "delivered": true,
                "read": false
           },
    },
    "axolotl_context_striping_disabled": false | true,
    "notify_user_change_number": false | true,
    "show_security_notifications": false | true,
    # Available on v2.49.1 and above
    "garbagecollector_enable": {
        "messages": true | false,
        "media": true | false
    }
    "skip_referral_media_download": true | false,
    "webhook_payload_conversation_pricingmodel_disabled": false | true
    # Available on v2.51.1 and above
    "verbose_logging": false | true,
    "log_level" : log-level-str,
}

เมื่อสำเร็จ การตอบกลับจะมี 200 OK พร้อม null หรืออ็อบเจ็กต์ JSON

หากคุณพบข้อผิดพลาด โปรดดูข้อความแสดงข้อผิดพลาดและสถานะ

พารามิเตอร์

การตั้งค่าบางรายการจำเป็นต้องมีการรีสตาร์ท Coreapp เพื่อให้การเปลี่ยนแปลงมีผลใช้งาน การตั้งค่าเหล่านั้นได้แก่ callback_persist, garbagecollector_enable, verbose_logging, log_level และ webhooks: max_concurrent_requests

`log_level`
ชื่อคำอธิบาย

axolotl_context_striping_disabled

ประเภท: บูลีน

มีผลต่อขีดจำกัดการเชื่อมต่อฐานข้อมูล


ประสิทธิภาพของการทำงานขาออกและขาเข้าจะดียิ่งขึ้นใน v2.25 ซึ่งการปรับปรุงประสิทธิภาพนี้ต้องอาศัยการสร้างการเชื่อมต่อฐานข้อมูลเพิ่มเติม สำหรับการนำไปใช้งานบางรายการ อาจทำให้การเชื่อมต่อฐานข้อมูลถึงขีดจำกัด ในกรณีเช่นนั้น ให้ตั้งการกำหนดค่า axolotl_context_striping_disabled เป็น true เพื่อปิดใช้งานฟีเจอร์การปรับปรุงประสิทธิภาพดังกล่าว ทั้งนี้ จะไม่มีผลกระทบอื่นๆ ต่อฟังก์ชันการทำงานต่างๆ ของ Coreapp แต่อย่างใด


ค่า:true, false (ค่าเริ่มต้น)

จำเป็นต้องรีสตาร์ท Coreapp

callback_backoff_delay_ms

ประเภท: สตริง

การหน่วงเวลาถอยหลังสำหรับการเรียกกลับที่ไม่สำเร็จในหน่วยมิลลิวินาที


การตั้งค่านี้ใช้เพื่อกำหนดระยะเวลาในการหน่วงเวลาถอยหลังก่อนลองดำเนินการเรียกกลับที่ไม่สำเร็จใหม่อีกครั้ง และการหน่วงเวลาถอยหลังจะเพิ่มขึ้นอย่างคงที่ตามค่านี้ทุกครั้งที่การเรียกกลับรับการตอบกลับ HTTPS 200 OK ไม่สำเร็จ โดยมีการจำกัดการหน่วงเวลาถอยหลังตามการตั้งค่า max_callback_backoff_delay_ms ตัวอย่างเช่น หากการเรียกกลับไม่สำเร็จในครั้งแรก จะต้องลองอีกครั้งใน 3,000 มิลลิวินาที (3 วินาที) และหากไม่สำเร็จในครั้งที่สองระบบจะหน่วงเวลา 6,000 มิลลิวินาที (6 วินาที) ก่อนลองใหม่อีกครั้ง ซึ่งจะเป็นไปเช่นนี้จนกว่าการเรียกกลับสำเร็จ หรือมีการหน่วงเวลาถึง 900,000 มิลลิวินาที (15 นาที) หลังจากนั้นจะลองการเรียกกลับใหม่แต่จะไม่หน่วงเวลาเพิ่มขึ้นอีก


ค่าเริ่มต้น: 3000

callback_persist

ประเภท: บูลีน

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


ค่า:true (ค่าเริ่มต้น), false
จำเป็นต้องรีสตาร์ท Coreapp

db_garbagecollector_enable

ประเภท: บูลีน

ช่องนี้เลิกใช้แล้วในเวอร์ชั่น 2.49


เปิดใช้งานการรวบรวมขยะอัตโนมัติของฐานข้อมูลข้อความ เพื่อช่วยในการจัดการฐานข้อมูล


พารามิเตอร์นี้เป็น false สำหรับผู้ใช้ที่ได้ตั้งค่า pass_through เป็น false ก่อน v2.29 เราขอแนะนำให้คุณเปิดใช้งานการตั้งค่านี้เพื่อให้แน่ใจว่าฐานข้อมูลของคุณทำงานได้อย่างมีเสถียรภาพ หากคุณต้องการปิดใช้งานการตั้งค่านี้ เราขอแนะนำให้คุณพิจารณาเลือกใช้ตำแหน่งข้อมูล /services/message/gc เพื่อจัดการฐานข้อมูล


ค่า:true (ค่าเริ่มต้น), false

จำเป็นต้องรีสตาร์ท Coreapp

garbagecollector_enable

ประเภท: อ็อบเจ็กต์ตัวรวบรวมข้อมูลขยะ

เปิดใช้งานการรวบรวมข้อมูลขยะจากข้อความและสื่อโดยอัตโนมัติ


เราขอแนะนำให้ตั้งค่าการรวบรวมข้อมูลขยะจากข้อความและสื่อเพื่อช่วยให้ระบบได้นำแถวและไฟล์ที่เก่า/ไม่ได้ใช้งานแล้วออกไป หากปิดใช้งานอยู่ คุณอาจเริ่มต้นการทำงานของตัวรวบรวมข้อมูลขยะได้โดยใช้ตำแหน่งข้อมูล /services/message/gc และ /services/media/gc ดูค่าต่างๆ ได้ที่ตารางพารามิเตอร์ตัวรวบรวมข้อมูลขยะ


จำเป็นต้องรีสตาร์ท Coreapp

heartbeat_interval

ประเภท: จำนวนเต็ม

ช่วงเวลาการตรวจสอบโหนด Master ของโหนด Coreapp ในหน่วยวินาที


ค่าเริ่มต้น: 5
ใช้กับการตั้งค่าการเชื่อมต่อหลายจุด

max_callback_backoff_delay_ms

ประเภท: สตริง

การหน่วงเวลาสูงสุดสำหรับการเรียกกลับที่ไม่สำเร็จในหน่วยมิลลิวินาที โปรดอ่านคำอธิบายเกี่ยวกับ callback_backoff_delay_ms ด้านล่างสำหรับข้อมูลเพิ่มเติม


ค่าเริ่มต้น: 900000

media

ประเภท: อาร์เรย์

รายการสื่อที่จะดาวน์โหลดอัตโนมัติ โปรดดูข้อมูลเพิ่มเติมที่การตั้งค่าการดาวน์โหลดสื่อโดยอัตโนมัติ

notify_user_change_number

ประเภท: บูลีน

มีผลต่อการแจ้งเตือนระบบ user_changed_number


ค่า:true, false (ค่าเริ่มต้น)

pass_through

ประเภท: บูลีน

ตั้งแต่เวอร์ชั่น 2.35 เป็นต้นไป คุณจะไม่สามารถเปิดใช้งานการตั้งค่า pass_through สำหรับไคลเอ็นต์ WhatsApp Business API ได้ใหม่อีกต่อไป


อนุญาตให้ลบหรือจัดเก็บข้อความแต่ละรายการในฐานข้อมูลในเครื่อง หลังจากมีการส่งหรืออ่านข้อความแล้ว


เมื่อมีการส่งข้อความแล้ว ระบบจะจัดเก็บข้อความไว้ในฐานข้อมูลในเครื่อง ซึ่งจะมีการใช้ฐานข้อมูลนี้เป็นประวัติของแอพพลิเคชั่น และเนื่องจากธุรกิจมีการเก็บประวัติของตนเอง คุณจึงสามารถระบุได้ว่าต้องการข้อความ pass_through หรือไม่

  • เมื่อระบุเป็น true ระบบจะลบข้อความออกจากฐานข้อมูลในเครื่อง หลังจากส่งข้อความไปถึงผู้รับหรือผู้รับอ่านข้อความแล้ว
  • เมื่อระบุเป็น false ระบบจะบันทึกข้อความทั้งหมดไว้บนพื้นที่จัดเก็บข้อมูลในเครื่องจนกว่าข้อความจะถูกลบโดยอัตโนมัติ (กล่าวคือเมื่อ db_garbagecollector_enable เป็น true) หรือถูกลบออกอย่างชัดเจน (กล่าวคือเมื่อ db_garbagecollector_enable เป็น false) โปรดดูเอกสารด้านบริการสำหรับข้อมูลเพิ่มเติม

เราขอแนะนำให้คุณปิดใช้งาน pass_through เพื่อให้การเรียกกลับ status สามารถทำงานได้ตามที่คาดไว้


ค่า:true, false (ค่าเริ่มต้น)

จำเป็นต้องรีสตาร์ท Coreapp

show_security_notifications

ประเภท: บูลีน

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


ค่า:true, false (ค่าเริ่มต้น)

skip_referral_media_download

ประเภท: บูลีน

หากตั้งค่าเป็น true ระบบจะไม่ดาวน์โหลดรูปภาพหรือวิดีโอที่ผู้ใช้คลิกบนโฆษณาที่คลิกไปยัง WhatsApp


ค่าเริ่มต้น:false

unhealthy_interval

ประเภท: จำนวนเต็ม

จำนวนวินาทีสูงสุดที่โหนด Master รอให้โหนด Coreapp ตอบกลับสัญญาณระยะสั้นก่อนพิจารณาว่ามีปัญหาและเริ่มต้นกระบวนการย้ายการใช้งาน


ค่าเริ่มต้น: 30
ใช้กับการตั้งค่าการเชื่อมต่อหลายจุด

webhook_payload_conversation_pricingmodel_disabled

ประเภท: บูลีน

ช่องนี้เลิกใช้แล้วในเวอร์ชั่น 2.39

ควบคุมการรวมเพย์โหลดข้อมูลการสนทนาและการกำหนดราคาไว้ในการแจ้งเตือนสถานะข้อความ


ค่า:true, false (ค่าเริ่มต้น)

ไม่จำเป็นต้องรีสตาร์ท Coreapp

webhooks

ประเภท: อ็อบเจ็กต์ Webhooks

ต้องระบุเมื่อคุณกำลังใช้ Webhooks อยู่

จัดเตรียม URL สำหรับ Webhook หากไม่ได้ตั้งค่า URL ของ Webhook ไว้ การเรียกกลับจะลดลง ดูที่แอพทดสอบตัวอย่างสำหรับวิธีง่ายๆ ที่จะดูและทดสอบ Webhooks ของคุณ


คุณสามารถตรวจสอบความถูกต้องของเหตุการณ์ Webhook ได้ด้วยการระบุข้อมูลลับที่แชร์ร่วมกันเป็นพารามิเตอร์การสืบค้นเมื่อคุณตั้ง URL ของ Webhook ตัวอย่าง: https://url?auth='[shared_secret]'

URL ของ Webhook ตัวอย่างเช่น: https://spotless-process.glitch.me/webhook


หากไม่ได้ตั้งค่า URL ของ Webhook การเรียกกลับจะลดน้อยลง ซึ่งการเรียกกลับเป็นช่องทางสำคัญในการส่งทั้งการแจ้งเตือนและข้อผิดพลาดพิเศษที่รวดเร็ว ดังนั้นจึงขอแนะนำอย่างยิ่งให้คุณกำหนดค่าตำแหน่งข้อมูล URL ของ Webhook โปรดดูรายละเอียดเกี่ยวกับช่อง Webhooks ที่ตารางพารามิเตอร์ Webhooks ด้านล่าง

verbose_logging

ประเภท: บูลีน

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


ค่า:true, false (ค่าเริ่มต้น)

log_level

ประเภท: อ็อบเจ็กต์ Webhooks

กำหนดค่าระดับการบันทึกใน Coreapp โดยแต่ละระดับจะค่อยๆ ลดจำนวนเอาต์พุตของบันทึกลง โดยที่ info มีข้อมูลมากที่สุด ในขณะที่ fatal มีเพียงข้อผิดพลาดร้ายแรงเท่านั้น


ค่า:info (ค่าเริ่มต้น), warning, error, fatal

พารามิเตอร์ Webhooks

ชื่อคำอธิบาย

max_concurrent_requests

ประเภท: จำนวนเต็ม

กำหนดค่าจำนวนสูงสุดในการส่งออกคำขอการเรียกกลับระหว่างใช้งาน


ค่า:6 (ค่าเริ่มต้น), 12, 18 หรือ 24
จำเป็นต้องรีสตาร์ท Coreapp

url

ประเภท: สตริง

การแจ้งเตือนขาเข้าและขาออกมีการกำหนดเส้นทางไปยัง URL นี้ โปรดดูเอกสารเกี่ยวกับ Webhooks สำหรับรายละเอียดเพิ่มเติม


จำเป็นต้องมีตำแหน่งข้อมูลแบบใช้ HTTPS โดยใช้ HTTP ไม่ได้
ตัวอย่าง:https://spotless-process.glitch.me/webhook

message

ประเภท: อ็อบเจ็กต์ข้อความ

ใช้งานได้ในเวอร์ชั่น 2.41.2 เป็นต้นไป

ซ้อนอยู่ภายในอ็อบเจ็กต์ webhooks ซึ่งช่วยให้ไคลเอ็นต์สามารถตั้งค่าได้ว่าต้องการรับการแจ้งเตือน Webhook เกี่ยวกับข้อความใดบ้างจากรายการนี้ ได้แก่ sent, delivered, read คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับสถานะเหล่านี้ได้ที่นี่


ธุรกิจสามารถเลือกรับการแจ้งเตือน Webhook เหล่านี้หรือไม่ก็ได้โดยตั้งค่าเป็น true (ค่าเริ่มต้น) หรือ false

พารามิเตอร์สื่อ

ชื่อคำอธิบาย

auto_download

ประเภท: อาร์เรย์

ระบุประเภทของสื่อที่จะดาวน์โหลดโดยอัตโนมัติ


ค่า:audio, document, voice, video, image, sticker

พารามิเตอร์ตัวรวบรวมข้อมูลขยะ

ชื่อคำอธิบาย

messages

ประเภท: บูลีน

กำหนดค่าการรวบรวมข้อมูลขยะจากข้อความ


ค่า:true (ค่าเริ่มต้น), false
จำเป็นต้องรีสตาร์ท Coreapp

media

ประเภท: บูลีน

กำหนดค่าการวบรวมข้อมูลขยะจากสื่อ


ค่า:true (ค่าเริ่มต้น), false
จำเป็นต้องรีสตาร์ท Coreapp

รีเซ็ตเป็นการตั้งค่าเริ่มต้น

หากต้องการรีเซ็ตการตั้งค่าแอพพลิเคชั่นทั้งหมดเป็นค่าเริ่มต้น ให้ส่งคำขอ DELETE ไปยังตำแหน่งข้อมูล /v1/settings/application

ตัวอย่างคำขอ

DELETE /v1/settings/application

เมื่อสำเร็จ การตอบกลับจะมี 200 OK พร้อม null หรือ {}

หากคุณพบข้อผิดพลาด โปรดดูข้อความแสดงข้อผิดพลาดและสถานะ