เรากำลังเลิกใช้งาน API ภายในองค์กร และหากต้องการรายละเอียดเพิ่มเติมและเรียนรู้วิธีย้ายไปใช้ API ระบบคลาวด์รุ่นใหม่ของเรา โปรดดูเอกสารการเลิกใช้งาน API ภายในองค์กรของเรา
We are making changes to the WhatsApp Business Platform pricing model. See Pricing Updates on the WhatsApp Business Platform.
/v1/messages
ใช้โหนด messages
ในการส่งข้อความ SMS, สื่อ, ผู้ติดต่อ, ตำแหน่ง และข้อความอินเทอร์แอคทีฟ รวมถึงเทมเพลตข้อความให้แก่ลูกค้าของคุณ
โปรดดูข้อมูลเกี่ยวกับประเภทข้อความที่เฉพาะเจาะจงซึ่งคุณสามารถส่งได้ในคำแนะนำต่างๆ ได้แก่ ข้อความ SMS, ข้อความสื่อ, ข้อความแสดงผู้ติดต่อและตำแหน่ง, ข้อความอินเทอร์แอคทีฟ, เทมเพลตข้อความ, เทมเพลตข้อความสื่อ และเทมเพลตข้อความอินเทอร์แอคทีฟ
คุณจำเป็นต้องดำเนินการดังต่อไปนี้
ตั้งแต่เวอร์ชั่น 2.39 ขึ้นไป คุณไม่ต้องเรียกใช้โหนดผู้ติดต่อก่อนส่งข้อความ
คุณส่งข้อความได้โดยเรียก POST
ไปยังโหนด /messages
ไม่ว่าจะเป็นข้อความประเภทใดก็ตาม เนื้อหาของข้อความ JSON จะแตกต่างกันไปตามข้อความแต่ละประเภท (ข้อความ รูปภาพ ฯลฯ)
พารามิเตอร์ต่อไปนี้เป็นพารามิเตอร์หลักที่ใช้ในการส่งคำขอ POST /messages
ชื่อ | คำอธิบาย (คลิกที่ลูกศรในคอลัมน์ด้านซ้ายเพื่อดูตัวเลือกที่รองรับ) |
---|---|
| จำเป็นต้องระบุเมื่อ อ็อบเจ็กต์ |
| ระบุหรือไม่ก็ได้ สตริงแบบกำหนดเองซึ่งมีประโยชน์สำหรับการติดตาม ตัวอย่างเช่น คุณสามารถส่ง ID เทมเพลตข้อความในช่องนี้เพื่อติดตามเส้นทางการคอนเวอร์ชั่นของลูกค้าโดยเริ่มจากข้อความแรกที่คุณส่ง จากนั้น คุณจะสามารถติดตาม ROI ของเทมเพลตข้อความประเภทต่างๆ เพื่อระบุประเภทที่มีประสิทธิภาพสูงสุด แอพที่สมัครรับข้อมูลจากช่อง Webhook API ระบบคลาวด์ไม่ได้ประมวลผลช่องนี้ เพียงแต่จะส่งคืนช่องโดยเป็นส่วนหนึ่งของ Webhooks ข้อความที่ส่ง/ได้รับ/อ่านแล้ว สูงสุด 512 อักขระ เฉพาะ API ระบบคลาวด์ |
| จำเป็นต้องระบุเมื่อ |
| จำเป็นต้องระบุหากตอบกลับข้อความในการสนทนา อ็อบเจ็กต์ที่มี ID ของข้อความก่อนหน้าที่คุณกำลังตอบกลับ ตัวอย่างเช่น:
เฉพาะ API ระบบคลาวด์ |
| จำเป็นต้องระบุเมื่อ อ็อบเจ็กต์ |
| ประกอบด้วยอ็อบเจ็กต์ เฉพาะ API ภายในองค์กร |
| จำเป็นต้องระบุเมื่อ อ็อบเจ็กต์ |
| จำเป็นต้องระบุเมื่อ อ็อบเจ็กต์ |
| จำเป็นต้องระบุเมื่อ |
| จำเป็นต้องระบุ บริการส่งข้อความที่ใช้สำหรับคำขอ ให้ใช้ เฉพาะ API ระบบคลาวด์ |
| จำเป็นต้องระบุหาก อนุญาตให้แสดงตัวอย่าง URL ในข้อความตัวอักษร โปรดดูการส่ง URL ในข้อความตัวอักษร ช่องนี้เป็นช่องที่จะระบุหรือไม่ก็ได้ หากไม่มี URL ในข้อความของคุณ ค่า: เฉพาะ API ภายในองค์กร ผู้ใช้ API ระบบคลาวด์สามารถใช้ฟังก์ชั่นเดียวกันนี้กับช่อง |
| ระบุหรือไม่ก็ได้ ขณะนี้คุณสามารถส่งข้อความถึงบุคคลได้เท่านั้น ตั้งค่าเป็น ค่าเริ่มต้น: |
| สถานะของข้อความ คุณสามารถใช้ช่องนี้เพื่อทำเครื่องหมายข้อความว่า
|
| จำเป็นต้องระบุเมื่อ อ็อบเจ็กต์ API ระบบคลาวด์: ระบบรองรับสติกเกอร์ขาออกของบุคคลที่สามแบบภาพนิ่งและแบบเคลื่อนไหว นอกเหนือจากสติกเกอร์ขาเข้าทุกประเภท สติกเกอร์แบบภาพนิ่งจะต้องมีความละเอียด 512x512 พิกเซล และต้องมีขนาดไม่เกิน 100 KB สติกเกอร์แบบเคลื่อนไหวจะต้องมีความละเอียด 512x512 พิกเซล และต้องมีขนาดไม่เกิน 500 KB API ภายในองค์กร: ระบบรองรับเฉพาะสติกเกอร์ขาออกของบุคคลที่สามแบบภาพนิ่ง นอกเหนือจากสติกเกอร์ขาเข้าทุกประเภท สติกเกอร์แบบภาพนิ่งจะต้องมีความละเอียด 512x512 พิกเซล และต้องมีขนาดไม่เกิน 100 KB ระบบไม่รองรับสติกเกอร์แบบเคลื่อนไหว |
| จำเป็นต้องระบุเมื่อ |
| จำเป็นต้องระบุสำหรับข้อความตัวอักษร |
| จำเป็นต้องระบุ WhatsApp ID หรือหมายเลขโทรศัพท์ของลูกค้าที่คุณต้องการจะส่งข้อความไปหา โปรดดูรูปแบบหมายเลขโทรศัพท์ หากจำเป็น ผู้ใช้ API ภายในองค์กรสามารถรับหมายเลขนี้ได้โดยการเรียกใช้ตำแหน่งข้อมูล |
| ระบุหรือไม่ก็ได้ ประเภทของข้อความที่คุณต้องการส่ง หากละไว้ ค่าเริ่มต้นจะเป็น |
ชื่อ | คำอธิบาย |
---|---|
| จำเป็นต้องระบุ ประกอบด้วยเนื้อความของข้อความ ซึ่งสามารถมี URL และการจัดรูปแบบรวมอยู่ด้วย |
สำหรับ API ภายในองค์กร ระบบจะส่งคืน ID อ็อบเจ็กต์สื่อเมื่ออัพโหลดสื่อไปยังไคลเอ็นต์ภายในองค์กร/อ้างอิงของ WhatsApp Business ผ่านตำแหน่งข้อมูล media
สำเร็จแล้ว
Name | Description |
---|---|
| Required when The media object ID. Do not use this field when message |
| Required when The protocol and URL of the media to be sent. Use only with HTTP/HTTPS URLs. Do not use this field when message Cloud API users only:
|
| Optional. Media asset caption. Do not use with On-Premises API users:
|
| Optional. Describes the filename for the specific document. Use only with The extension of the filename will specify what format the document is displayed as in WhatsApp. |
| Optional. On-Premises API only. This path is optionally used with a |
คุณสามารถวางอ็อบเจ็กต์ต่างๆ ได้แก่ addresses
, emails
, name
, org
, phone
และ urls
ซ้อนกันไว้ภายใน contacts
ได้ ระบบจะรวมอ็อบเจ็กต์แบบ Pluralized ไว้ในอาร์เรย์ดังที่แสดงในตัวอย่างด้านล่าง
Name | Description |
---|---|
| Optional. Full contact address(es) formatted as an
|
| Optional.
|
| Optional. Contact email address(es) formatted as an
|
| Required. Full contact name formatted as a
*At least one of the optional parameters needs to be included along with the |
| Optional. Contact organization information formatted as an
|
| Optional. Contact phone number(s) formatted as a
|
| Optional. Contact URL(s) formatted as a
|
ตัวอย่างอ็อบเจ็กต์ contacts
ซึ่งมีอ็อบเจ็กต์แบบ Pluralized วางซ้อนกันอยู่ภายใน
"contacts": [ { "addresses": [ { "city": "city name", "country": "country name", "country_code": "code", "state": "Contact's State", "street": "Contact's Street", "type": "Contact's Address Type", "zip": "Contact's Zip Code" } ], "birthday": "birthday", "emails": [ { "email": "email", "type": "HOME" }, { "email": "email", "type": "WORK" } ], "name": { "first_name": "first name value", "formatted_name": "formatted name value", "last_name": "last name value", "suffix": "suffix value" }, "org": { "company": "company name", "department": "dep name", "title": "title" }, "phones": [ { "phone": "Phone number", "wa-id": "WA-ID value", "type": "MAIN" }, { "phone": "Phone number", "type": "HOME" }, { "phone": "Phone number", "type": "WORK" } ], "urls": [{ "url": "some url", "type": "WORK" }] } ]
Name | Description |
---|---|
| Required. Location latitude in decimal degrees. |
| Required. Location longitude in decimal degrees. |
| Required. Name of the location. |
| Required. Address of the location. |
คุณสามารถวางอ็อบเจ็กต์ components
และ language
ซ้อนกันไว้ภายใน template
ได้
ตั้งแต่ v2.27.8
namespace
ของเทมเพลตต้องเป็นเนมสเปซที่เชื่อมโยงกับ WABA ซึ่งเป็นเจ้าของหมายเลขโทรศัพท์ในไคลเอ็นต์ภายในองค์กรของ WhatsApp Business ปัจจุบัน มิฉะนั้นจะไม่สามารถส่งข้อความได้
นอกจากนี้ ตั้งแต่ v2.41
ขึ้นไป namespace
จะเป็นช่องที่ระบุหรือไม่ก็ได้
ชื่อ | คำอธิบาย |
---|---|
| ต้องระบุ เนมสเปซของเทมเพลต นับตั้งแต่ |
| ต้องระบุ ชื่อของเทมเพลต |
| ต้องระบุ ระบุภาษาที่เทมเพลตสามารถแสดงผลได้ นโยบายภาษาแบบ |
| ระบุหรือไม่ก็ได้ อาร์เรย์ที่มีพารามิเตอร์ของข้อความ |
คุณสามารถวางซ้อนอ็อบเจ็กต์ parameters
ภายใน components
ได้ และสามารถตั้งค่า type
เป็น button
ได้ด้วย
ชื่อ | คำอธิบาย |
---|---|
| ต้องระบุ อธิบายประเภท |
| ระบุหรือไม่ก็ได้ อาร์เรย์ที่มีเนื้อหาของข้อความ |
ชื่อ | คำอธิบาย |
---|---|
| ต้องระบุ อธิบายประเภท ประเภทสื่อ ( โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับ |
คุณสามารถตั้งค่า type
เป็น button
ภายในอ็อบเจ็กต์ components
ได้ พารามิเตอร์ปุ่มมีดังต่อไปนี้
ชื่อ | คำอธิบาย |
---|---|
| จำเป็นต้องระบุ ประเภทของปุ่มที่สร้างขึ้น |
| จำเป็นต้องระบุ ดัชนีตำแหน่งของปุ่ม คุณสามารถมีได้สูงสุด 10 ปุ่มโดยใช้ค่าดัชนี |
| จำเป็นต้องระบุ พารามิเตอร์สำหรับปุ่ม ซึ่งตั้งค่าขณะที่สร้างปุ่มในตัวจัดการธุรกิจของคุณ ประกอบด้วยพารามิเตอร์ต่อไปนี้
|
ตัวอย่างการกำหนด type เป็น button
โดยมี sub_type เป็น quick_reply
{ "type": "button", "sub_type": "quick_reply", "index": 0, "parameters": [{ "type": "payload", "payload": "Yes-Button-Payload" }] }
ตัวอย่างการกำหนด type เป็น button
โดยมี sub_type เป็น copy_code
{ "type": "button", "sub_type": "copy_code", "index": 0, "parameters": [{ "type": "coupon_code", "coupon_code": "DISCOUNT20" }] }
เราได้เลิกใช้อ็อบเจ็กต์ hsm
แล้วในไคลเอ็นต์ภายในองค์กร/อ้างอิงของ WhatsApp Business v2.39
โปรดใช้อ็อบเจ็กต์ template
แทน
ชื่อ | คำอธิบาย |
---|---|
| จำเป็นต้องระบุ เนมสเปซที่จะใช้ เมื่อขึ้นต้นด้วย |
| จำเป็นต้องระบุ ชื่อองค์ประกอบซึ่งระบุว่าจะใช้เทมเพลตใดภายในเนมสเปซ เมื่อขึ้นต้นด้วย |
| จำเป็นต้องระบุ อนุญาตสำหรับข้อมูลจำเพาะของภาษาเชิงกำหนด โปรดดูข้อมูลเพิ่มเติมในส่วนภาษา ช่องนี้เคยใช้เพื่ออนุญาตสำหรับตัวเลือก |
| จำเป็นต้องระบุ ช่องนี้เป็นอาร์เรย์ของค่าที่จะใช้กับตัวแปรต่างๆ ในเทมเพลต โปรดดูข้อมูลเพิ่มเติมในส่วนพารามิเตอร์ที่สามารถแปลได้ |
The interactive
object generally contains 4 main components: header
, body
, footer
, and action
. Additionally, some of those components can contain one or more different objects:
header
, you can nest media
objects.action
, you can nest section
and button
objects.Name | Description |
---|---|
| Required. The type of interactive message you want to send. Supported values:
|
| Required for type Header content displayed on top of a message. You cannot set a The
|
| Optional for type An object with the body of the message. The
|
| Optional. An object with the footer of the message. The
|
| Required. An |
Name | Description |
---|---|
| Required for List Messages. Button content. It cannot be an empty string and must be unique within the message. Emojis are supported, markdown is not. Maximum length: 20 characters. |
| Required for Reply Button Messages. A
คุณจะตั้งค่า ID โดยขึ้นต้นหรือลงท้ายด้วยการเว้นวรรคไม่ได้ |
| Required for List Messages and Multi-Product Messages. Array of |
| Required for Single-Product Messages and Multi-Product Messages. Unique identifier of the Facebook catalog linked to your WhatsApp Business Account. This ID can be retrieved via Commerce Manager. |
| Required for Single-Product Messages and Multi-Product Messages. Unique identifier of the product in a catalog. Maximum 100 characters for both Single-Product and Multi-Product messages. To get this ID, go to Commerce Manager, select your Facebook Business account, and you will see a list of shops connected to your account. Click the shop you want to use. On the left-side panel, click Catalog > Items, and find the item you want to mention. The ID for that item is displayed under the item's name. |
| Optional for Flows Messages. The current mode of the Flow, either Default: |
| Required for Flows Messages. Must be |
| Required for Flows Messages. A token that is generated by the business to serve as an identifier. |
| Required for Flows Messages. Unique identifier of the Flow provided by WhatsApp. |
| Required for Flows Messages. Text on the CTA button, eg. "Signup". Maximum length: 20 characters (no emoji). |
| Optional for Flows Messages.
Default: |
| Optional for Flows Messages. Required only if
|
Name | Description |
---|---|
| Required if the message has more than one Title of the section. Maximum length: 24 characters. |
| Required for List Messages. Contains a list of row objects. Limited to 10 rows across all sections. Each
|
| Required for Multi-Product Messages. Array of Each
|
ข้อความเสียง:
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "audio", "audio": { "id": "your-media-id", } }
ข้อความที่เป็นเอกสาร โดยใช้ filename
:
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "document", "document": { "id": "your-media-id", "filename": "your-document-filename" } }
ข้อความที่เป็นเอกสาร โดยใช้ link
:
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "document", "document": { "link": "http(s)://the-url" "provider": { "name" : "provider-name" } } }
ข้อความที่เป็นวิดีโอ โดยใช้ link
:
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "video", "video": { "link": "http(s)://the-url" "provider": { "name" : "provider-name" } } } }
ข้อความ SMS:
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "text", "text": { "body": "your-message-content" } }
ข้อความแบบอินเทอร์แอคทีฟ (รายการ):
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "interactive", "interactive":{ "type": "list", "header": { "type": "text", "text": "your-header-content-here" }, "body": { "text": "your-text-message-content-here" }, "footer": { "text": "your-footer-content-here" }, "action": { "button": "cta-button-content-here", "sections":[ { "title":"your-section-title-content-here", "rows": [ { "id":"unique-row-identifier-here", "title": "row-title-content-here", "description": "row-description-content-here", } ] }, { "title":"your-section-title-content-here", "rows": [ { "id":"unique-row-identifier-here", "title": "row-title-content-here", "description": "row-description-content-here", } ] }, ... ] } } }
ข้อความแบบอินเทอร์แอคทีฟ (ปุ่มตอบกลับ):
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "interactive", "interactive": { "type": "button", "header": { # optional "type": "text" | "image" | "video" | "document", "text": "your text" # OR "document": { "id": "your-media-id", "filename": "some-file-name" } # OR "document": { "link": "the-provider-name/protocol://the-url", "provider": { "name": "provider-name", }, "filename": "some-file-name" }, # OR "video": { "id": "your-media-id" } # OR "video": { "link": "the-provider-name/protocol://the-url", "provider": { "name": "provider-name" } } # OR "image": { "id": "your-media-id" } # OR "image": { "link": "http(s)://the-url", "provider": { "name": "provider-name" } } }, # end header "body": { "text": "your-text-body-content" }, "footer": { # optional "text": "your-text-footer-content" }, "action": { "buttons": [ { "type": "reply", "reply": { "id": "unique-postback-id", "title": "First Button’s Title" } }, { "type": "reply", "reply": { "id": "unique-postback-id", "title": "Second Button’s Title" } } ] } # end action } # end interactive }
ข้อความแบบอินเทอร์แอคทีฟ (ข้อความที่มีผลิตภัณฑ์รายการเดียวและหลายรายการ):
{ "recipient_type": "individual", "to" : "{{Recipient-WA-ID}}", "type": "interactive", "interactive": { "type": "product", "body": { "text": "body text" }, "footer": { "text": "footer text" }, "action": { " _id": "catalog-ID", "product_retailer_id": "product-ID" } } }
ข้อความแบบอินเทอร์แอคทีฟ (ข้อความที่มีผลิตภัณฑ์หลายรายการ):
{ "recipient_type": "individual", "to" : "whatsapp-id", "type": "interactive", "interactive": { "type": "product_list", "Header":{ "type": "text", "text": "text-header-content" }, "body":{ "text": "text-body-content" }, "footer":{ "text":"text-footer-content" }, "action":{ "catalog_id":"catalog-id", "sections": [ { "title": "section-title", "product_items": [ { "product_retailer_id": "product-SKU-in-catalog" }, { "product_retailer_id": "product-SKU-in-catalog" }, ... ]}, { "title": "the-section-title", "product_items": [ { "product_retailer_id": "product-SKU-in-catalog" } ... ]}, ... ] }, } }
ข้อความแบบอินเทอร์แอคทีฟ (ข้อความที่มีแค็ตตาล็อก):
{ "recipient_type": "individual", "to" : "whatsapp-id", "type": "interactive", "interactive": { "type": "catalog_message", "body":{ "text": "text-body-content" }, "footer":{ "text":"text-footer-content" }, "action":{ "name": "catalog_message", "parameters":{ "thumbnail_product_retailer_id": "product-SKU-in-catalog" } }, } }
ข้อความแบบอินเทอร์แอคทีฟ (ขั้นตอน):
{ "recipient_type": "individual", "to": "{{Recipient-WA-ID}}", "type": "interactive", "interactive": { "type": "flow", "header": { "type": "text", "text": "Flow message header" }, "body": { "text": "Flow message body" }, "footer": { "text": "Flow message footer" }, "action": { "name": "flow", "parameters": { "flow_message_version": "3", "flow_token": "AQAAAAACS5FpgQ_cAAAAAD0QI3s", "flow_id": "<FLOW_ID>", "flow_cta": "Book!", "flow_action": "navigate", "flow_action_payload": { "screen": "<SCREEN_ID>", "data": { # optional "user_name": "name", "user_age": 25 } } } } } }
โค้ดต่อไปนี้แสดงตัวอย่างของ payload
ในการตอบกลับ โดยจะละอ็อบเจ็กต์ meta และ error ไว้เพื่อความกระชับ
{ "messages": [{ "id": "message-id" }] }
หากคำขอสำเร็จ คุณจะได้รับการตอบกลับพร้อม ID ข้อความ หากคำขอส่งคืนส่วนของ errors
โปรดตรวจสอบข้อความตั้งต้น และแก้ไขข้อผิดพลาดก่อนที่จะส่งคำขออีกครั้ง โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดในรหัสข้อผิดพลาดของไคลเอ็นต์ภายในองค์กร/อ้างอิงของ WhatsApp Business และรหัสสถานะ HTTP
มีผลกับธุรกิจในบราซิล โคลอมเบีย และสิงคโปร์ตั้งแต่วันที่ 12 กันยายน 2023 มีผลกับธุรกิจทั้งหมดตั้งแต่วันที่ 12 ตุลาคม 2023
หากคำขอถูกระงับเพื่อประเมินคุณภาพ การตอบกลับจะมีพร็อพเพอร์ตี้ message_status
พร้อมข้อความที่ระบุว่าไม่ได้ส่งข้อความในทันทีและจะส่งหรือปล่อยหลังได้รับการตรวจสอบคุณภาพ พร็อพเพอร์ตี้นี้จะปรากฏต่อเมื่อข้อความถูกระงับเท่านั้น
{ "messages": [{ "id": "message-id", "message_status": "Message has been held because quality assessment is pending", }] }
WhatsApp อนุญาตการจัดรูปแบบบางรูปแบบในข้อความ หากต้องการจัดรูปแบบข้อความบางส่วนหรือทั้งหมด ให้ใช้สัญลักษณ์การจัดรูปแบบเหล่านี้:
การจัดรูปแบบ | สัญลักษณ์ | ตัวอย่าง |
---|---|---|
Bold | ดอกจัน (*) | ยอดรวมของคุณคือ *10.50 ดอลลาร์* |
ตัวเอียง | เส้นใต้ (_) | ยินดีต้อนรับสู่ _WhatsApp_! |
ตัวหนอน (~) | นี่~ยิ่งกว่า~ดีที่สุด! | |
| เครื่องหมายแบ็กทิกสามตัว (```) | ```พิมพ์ "สวัสดีชาวโลก"``` |
ในบริบทนี้ ประสิทธิภาพหมายถึงจำนวนข้อความที่สามารถส่งได้ภายในระยะเวลาวินาทีที่กำหนดโดยใช้ไคลเอ็นต์ภายในองค์กร/อ้างอิงของ WhatsApp Business ประสิทธิภาพสูงสุดที่ทำได้จะขึ้นอยู่กับหลากหลายปัจจัย โดยปัจจัยที่สำคัญที่สุดก็คือการเลือกตั้งค่าไคลเอ็นต์ของคุณและการกำหนดว่าจะส่งข้อความไปยังผู้ใช้ใหม่หรือผู้ใช้เดิม ทั้งนี้ หากส่งข้อความไปยังผู้ใช้ใหม่ เซสชั่นการเข้ารหัสจะใช้เวลานานขึ้นเล็กน้อย
การตั้งค่าไคลเอ็นต์ | ข้อความ SMS ที่รองรับต่อวินาที |
---|---|
ชาร์ดเดียว | 70 |
หลายชาร์ด (32 ชาร์ด) | 250 |
หมายเหตุ: โปรดอย่าส่งข้อความเดิมถึงผู้รับคนเดิมซ้ำๆ โดยใช้ WhatsApp Business API
การที่อัตราการนำส่งไม่เป็น 100% อาจมีได้หลายสาเหตุ กรณีหนึ่งที่พบบ่อย ได้แก่ การที่ผู้ใช้มีการเข้าถึงเครือข่ายนานๆ ครั้งหรือไม่ได้ใช้งานเป็นเวลานาน หรือต้องการสร้างประสบการณ์ผู้ใช้ที่มีคุณภาพสูง
ข้อความที่สามารถส่งถึงผู้รับด้วย WhatsApp จะมีอัตราการนำส่งที่สูงมาก อย่างไรก็ตาม มีหลายเหตุผลที่อธิบายว่าเหตุใดจึงอาจไม่สามารถส่งข้อความถึงผู้รับได้ คุณจะมีสิทธิ์เข้าถึงสถานะที่แน่นอนของข้อความด้วยการติดตามการเรียกกลับของคุณ ซึ่งจะแตกต่างจากการส่งข้อความด้วยวิธีอื่นๆ เช่น SMS ที่คุณจะไม่สามารถเข้าถึงสถานะการนำส่งขั้นสุดท้าย และการส่งข้อความซ้ำอาจทำให้เกิดผลลัพธ์ที่แตกต่างออกไป
ข้อความอาจยังคงไม่ได้ส่ง เพราะโทรศัพท์ของผู้ใช้อาจเสียหรือแบตเตอรี่หมด หรือสูญหายและกำลังจะได้เครื่องใหม่ และได้ปิดใช้งาน SIM เอาไว้ เป็นไปได้หรือไม่ที่ลูกค้าธุรกิจะมีข้อผิดพลาดในการเชื่อมต่อกับเครือข่าย นอกจากนี้ ยังเป็นไปได้ที่การเรียกกลับ (Webhooks) ไม่ได้ถูกส่งไป คุณสามารถติดตามสถานการณ์เหล่านี้ได้โดยใช้โหนด health
คุณสามารถเปิดการเรียกกลับการรับของเซิร์ฟเวอร์เพื่อให้ทราบว่าข้อความได้ไปถึงคลาวด์ของเซิร์ฟเวอร์ WhatsApp แล้ว
ถ้าและเมื่อผู้ใช้เชื่อมต่อกับเครือข่ายได้อีกครั้งแล้ว ข้อความทั้งหมดที่คุณส่งก็จะถูกส่งให้กับผู้รับ การได้รับมากกว่าหนึ่งข้อความที่มีเนื้อหาเดียวกันจะเป็นประสบการณ์ที่เลวร้ายสำหรับผู้รับ พวกเขาจะมีแนวโน้มสูงขึ้นที่จะบล็อกคุณหรือร้องเรียน คุณจะมีแนวโน้มสูงขึ้นที่จะถูกแบน
หากคุณส่งข้อความและได้รับ ID ข้อความจาก API แสดงว่าคุณได้ทำสิ่งที่สามารถทำได้เพื่อส่งข้อความนี้แล้ว อย่าส่งเนื้อหาเดิมซ้ำถึงผู้รับคนเดิม
หากคุณประสบปัญหาอัตราการนำส่งต่ำติดต่อกันเป็นเวลานาน โปรดส่งบัตรคำร้องขอรับความช่วยเหลือกับ ฝ่ายความช่วยเหลือโดยตรง
เมื่อคุณส่งข้อความ ในทันทีที่คุณได้รับ ID ข้อความ แสดงว่าคำขอข้อความถูกจัดเก็บไว้ในฐานข้อมูลแล้ว ไคลเอ็นต์ WhatsApp Business API จะพยายามส่งข้อความนั้นจนกว่าเซิร์ฟเวอร์ WhatsApp จะรับทราบ กระบวนการนี้ไม่มีเวลาสิ้นสุด จากนั้น เซิร์ฟเวอร์ WhatsApp จะพยายามส่งข้อความนั้นไปยังโทรศัพท์ของผู้ใช้ ถ้าโทรศัพท์ของผู้ใช้ไม่ได้ออนไลน์ ข้อความจะถูกจัดเก็บเป็นเวลา 30 วันก่อนที่เซิร์ฟเวอร์ WhatsApp จะทิ้งไป
ได้ WhatsApp อนุญาตให้คุณจัดรูปแบบตัวอักษรที่เลือกภายในข้อความเป็นแบบตัวหนา ตัวเอียง ขีดทับ หรือระยะห่างเท่ากัน
ขณะนี้ยังไม่มีวิธีใดในการดูว่ามีผู้ใช้กี่รายหรือรายใดบล็อกธุรกิจของคุณ ตัวบ่งชี้ที่ดีที่สุดคือการรอติดต่อการเรียกกลับสถานะ และถ้าคุณไม่ได้รับสถานะ delivered
แสดงว่ามีผู้ใช้บล็อกธุรกิจของคุณ หรือไม่ก็ไม่มีการเชื่อมต่อเครือข่าย ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบ Webhook
ถ้ามีผู้ใช้บล็อกธุรกิจของคุณ API ผู้ติดต่อจะยังคงส่งคืนหมายเลขโทรศัพท์นั้นเป็นผู้ใช้ WhatsApp ที่ถูกต้อง อย่างไรก็ตาม เมื่อคุณส่งข้อความ จะไม่มีวันถูกส่งถึง ถ้าเป็นข้อความที่มาจากโฆษณา คุณจะไม่ถูกเรียกเก็บค่าบริการ
ไม่ได้ ไม่สามารถรับประกันได้ว่าข้อความจะมาถึงในลำดับเดียวกันกับที่ส่งมา ถ้าการเรียงลำดับมีความสำคัญต่อกรณีการใช้งานของคุณ ขอแนะนำให้รอการติดต่อการเรียกกลับที่ส่งไปแล้วของข้อความแรก ก่อนที่จะส่งข้อความที่สอง
เมื่อใช้โหนด messages
คุณจำเป็นต้องตั้งค่าส่วนหัว Content-Type
เป็น application/json
เพื่อให้ไคลเอ็นต์ WhatsApp Business API แยกวิเคราะห์เนื้อหาข้อความได้อย่างถูกต้อง นอกจากนี้ยังมีส่วนหัว Authorization
ที่จำเป็นต้องตั้งค่า และต้องมีโทเค็นการเข้าถึงที่ยังไม่หมดอายุ ดูข้อมูลเกี่ยวกับวิธีรับโทเค็นและเวลาหมดอายุได้ในเอกสารประกอบการเข้าสู่ระบบและการยืนยันตัวตน
อาจมีบางกรณีที่คุณจำเป็นต้องใช้เวลามากขึ้นในการจัดการคำถามของลูกค้า และอาจสามารถให้คำตอบหลังจาก 24 ชั่วโมงไปแล้วเท่านั้น เราขอแนะนำให้สร้างเทมเพลตข้อความดังนี้
ในทั้งสองกรณี คุณต้องระบุบริบทสำหรับเทมเพลตข้อความให้มากที่สุดเท่าที่เป็นไปได้ ตัวอย่างเช่น: