การจัดการเทมเพลต API
ภาพรวม
Template Management API ช่วยให้คุณสามารถดำเนินการสร้าง อ่าน อัปเดต และลบเทมเพลต WABA ได้
การยืนยันตัวตน
EngageLab REST API ใช้ HTTP Basic Authentication สำหรับการตรวจสอบ: เพิ่ม Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
base64_auth_string ถูกสร้างดังนี้: base64(dev_key:dev_secret)
- ชื่อ header คือ "Authorization" และค่าคือคู่ "username:password" ที่เข้ารหัส base64 (มีเครื่องหมายโคลอนคั่นกลาง)
- ในบริบทของ WhatsApp API, username คือ DevKey และ password คือ DevSecret กรุณารับข้อมูลนี้จาก Console - Configuration Management - API Keys page.
ดึงรายการเทมเพลต
Endpoint
GET https://wa.api.engagelab.cc/v1/templates
พารามิเตอร์การร้องขอ
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
name | String | ตัวเลือก | ชื่อเทมเพลต โปรดทราบว่าฟิลด์นี้ใช้การจับคู่แบบคลุมเครือ |
language_code | String | ตัวเลือก | ภาษาเทมเพลต ดูที่ Language Codes |
category | String | ตัวเลือก | หมวดหมู่ของเทมเพลต ● AUTHENTICATION: รหัสยืนยัน ● MARKETING: การตลาด ● UTILITY: การแจ้งเตือนบริการ |
status | String | ตัวเลือก | สถานะของเทมเพลต: นักพัฒนาควรให้ความสำคัญกับ APPROVED/PENDING/REJECTED/DISABLED เป็นหลัก |
พารามิเตอร์การตอบกลับ
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
id | String | จำเป็น | รหัสเทมเพลต |
name | String | จำเป็น | ชื่อเทมเพลต |
language | String | จำเป็น | ภาษาเทมเพลต ดูที่ Language Codes. |
category | String | จำเป็น | หมวดหมู่ของเทมเพลต. |
components | Object Array | จำเป็น | ส่วนประกอบของเนื้อหาเทมเพลต ดูที่ components object in Create Template |
status | String | จำเป็น | สถานะของเทมเพลต: นักพัฒนาควรให้ความสำคัญกับ APPROVED/PENDING/REJECTED/DISABLED เป็นหลัก |
ตัวอย่างการตอบกลับ
// JSON array ที่แต่ละ object แสดงข้อมูลของเทมเพลต
[
{
"id": "406979728071589", // รหัสเทมเพลต
"name": "code", // ชื่อเทมเพลต
"language": "zh_CN", // ภาษาเทมเพลต
"status": "APPROVED", // สถานะ APPROVED หมายถึงอนุมัติและใช้งานได้
"category": "OTP", // หมวดหมู่ ปัจจุบันรองรับ OTP/TRANSACTIONAL/MARKETING
"components": [ // เนื้อหาเฉพาะของเทมเพลต สามารถรวม HEADER/BODY/FOOTER/BUTTON
{
"type": "HEADER",
"format": "text", // ประเภท รองรับ text/image/location/video/document ค่าเริ่มต้นคือ TEXT
"text": "รหัสยืนยันการลงทะเบียน" // เนื้อหาแบบข้อความ จำเป็นเมื่อ format เป็น text
},
{
"type": "BODY",
"text": "รหัสยืนยันของคุณคือ {{1}} โปรดกรอกภายใน 5 นาที." // ตัวแปรในวงเล็บปีกกา {{}} แสดงถึงตัวแปรของเทมเพลต
}
]
},
......
]
ดึงข้อมูลเทมเพลต
Endpoint
GET https://wa.api.engagelab.cc/v1//{template_id}
ที่ {template_id} คือรหัสของเทมเพลตที่ต้องการสอบถาม
พารามิเตอร์การร้องขอ
NULL
ตัวอย่างการร้องขอ
GET https://wa.api.engagelab.cc/v1/templates/406979728071589
พารามิเตอร์การตอบกลับ
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
id | String | จำเป็น | รหัสเทมเพลต |
name | String | จำเป็น | ชื่อเทมเพลต |
language | String | จำเป็น | ภาษาเทมเพลต ดูที่ Language Codes. |
category | String | จำเป็น | หมวดหมู่ของเทมเพลต. หมายเหตุ: หมวดหมู่เทมเพลตจะได้รับการอัปเดตภายในวันที่ 1 พฤษภาคม 2023 เป็น: |
components | Object Array | จำเป็น | ส่วนประกอบของเนื้อหาเทมเพลต ดูที่ components object in Create Template |
status | String | จำเป็น | สถานะของเทมเพลต: APPROVED, IN_APPEAL, PENDING, REJECTED, PENDING_DELETION, DELETED, DISABLED, PAUSED, LIMIT_EXCEEDED |
ตัวอย่างการตอบกลับ
{
"id": "406979728071589", // รหัสเทมเพลต
"name": "code", // ชื่อเทมเพลต
"language": "zh_CN", // ภาษาเทมเพลต
"status": "APPROVED", // สถานะ APPROVED หมายถึงอนุมัติและใช้งานได้
"category": "OTP", // หมวดหมู่ ปัจจุบันรองรับ OTP/TRANSACTIONAL/MARKETING
"components": [ // เนื้อหาเฉพาะของเทมเพลต สามารถรวม HEADER/BODY/FOOTER/BUTTON
{
"type": "HEADER",
"format": "text", // ประเภท รองรับ text/image/location/video/document ค่าเริ่มต้นคือ TEXT
"text": "รหัสยืนยันการลงทะเบียน" // เนื้อหาแบบข้อความ จำเป็นเมื่อ format เป็น text
},
{
"type": "BODY",
"text": "รหัสยืนยันของคุณคือ {{1}} โปรดกรอกภายใน 5 นาที." // ตัวแปรในวงเล็บปีกกา {{}} แสดงถึงตัวแปรของเทมเพลต
}
]
}
สร้างเทมเพลต
Endpoint
POST https://wa.api.engagelab.cc/v1/templates
ตัวอย่างการร้องขอ
{
"name": "template_name", // ชื่อเทมเพลต อนุญาตให้ใช้ชื่อซ้ำได้ รองรับเฉพาะตัวอักษรตัวพิมพ์เล็ก ตัวเลข และขีดล่าง
"language": "zh_CN", // ภาษาเทมเพลต ชื่อซ้ำไม่สามารถมีภาษาเดียวกันได้
"category": "OTP", // หมวดหมู่ ปัจจุบันรองรับ OTP/TRANSACTIONAL/MARKETING
"components": [
{ // เนื้อหาเทมเพลต
"type": "BODY", // บล็อกเนื้อหา ปัจจุบันรองรับ HEADER/BODY/FOOTER/BUTTONS
"text": "define var as {{1}}" // ข้อความเฉพาะ ฟิลด์ format ไม่จำเป็นเมื่อ body เป็นข้อความ
"example": {
"body_text": [
[
"var1"
]
]
}
},
{
"type": "HEADER",
"format": "image", // ประเภทเนื้อหา รองรับ text/image/video/document/location
"example": {
"header_handle": [
"https://jiguang.cn/demopic.jpg"
]
}
},
{
"type": "FOOTER",
"text": "footer only support text without variable"
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "PHONE_NUMBER", // ประเภทปุ่ม รองรับ PHONE_NUMBER/URL/QUICK_REPLY
"text": "this is a phone number",
"phone_number": "8613800138000"
}
]
}
]
}
พารามิเตอร์การร้องขอ
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
name | String | จำเป็น | ชื่อเทมเพลต รองรับเฉพาะตัวอักษรตัวพิมพ์เล็ก ตัวเลข และขีดล่าง สูงสุด 512 ตัวอักษร |
language | String | จำเป็น | ภาษาเทมเพลต ดูที่ Language Codes. |
category | String | จำเป็น | หมวดหมู่ของเทมเพลต. หมายเหตุ: หมวดหมู่เทมเพลตจะได้รับการอัปเดตภายในวันที่ 1 พฤษภาคม 2023 เป็น: |
components | Object Array | จำเป็น | อธิบายส่วนประกอบของเนื้อหาเทมเพลต ดูที่ components object; โปรดทราบว่าต้องมี components ที่ type=BODY |
components Object
Object นี้ใช้สำหรับอธิบายเนื้อหาเทมเพลต เทมเพลตแบ่งออกเป็นส่วน "HEADER", "BODY", "FOOTER" และ "BUTTONS" โดยกำหนดผ่านฟิลด์ type ประเภทส่วนประกอบที่แตกต่างกันรองรับพารามิเตอร์ที่แตกต่างกันดังนี้:
Header Component
ส่วนหัวเป็นตัวเลือก หากไม่ต้องการส่วนหัว ไม่ต้องตั้งค่าส่วนนี้
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
type | String | จำเป็น | ประเภทส่วนประกอบ ค่าเป็น HEADER |
format | String | จำเป็น | รูปแบบส่วนหัว ค่า: text, image, video, document, สอดคล้องกับข้อความ, รูปภาพ, วิดีโอ, ไฟล์ |
text | String | ตัวเลือก | เนื้อหาข้อความส่วนหัว จำเป็นเมื่อ format=text เนื้อหาข้อความส่วนหัวสามารถรวมตัวแปรได้ แต่รองรับเพียงตัวแปรเดียว แสดงด้วย {{1}} |
example | JSON Object | ตัวเลือก | ตัวอย่างส่วนหัว จำเป็นเมื่อข้อความรวมตัวแปรหรือ format เป็นประเภทสื่อ ดูที่ example object description |
Example Object Description
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
header_handle | String Array | ตัวเลือก | เมื่อ format เป็น image, video, หรือ document ให้ส่ง URL ของสื่อที่เกี่ยวข้องไปยังฟิลด์นี้ URL ต้องสามารถเข้าถึงได้ มิฉะนั้นการตรวจสอบเทมเพลตอาจถูกปฏิเสธ ตัวอย่าง: "header_handle": [" https://jiguang.cn/demopic.jpg "] |
header_text | String Array | ตัวเลือก | เมื่อ format เป็น text และรวมตัวแปร ให้ส่งค่าทดแทนของตัวแปรไปยังฟิลด์นี้ ตัวอย่าง: "header_text": ["var1"] |
header_url | String Array | ตัวเลือก | คล้ายกับ header_handle โปรดทราบว่าฟิลด์นี้จะไม่ได้รับการสนับสนุนในเวอร์ชัน WhatsApp ในอนาคต หลีกเลี่ยงการใช้งาน ตัวอย่าง: "header_url": [" https://jiguang.cn/demopic.jpg "] |
Body Component
ส่วนเนื้อหาเป็นสิ่งจำเป็นและต้องรวมเนื้อหา body
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
type | String | จำเป็น | ประเภทส่วนประกอบ ค่าเป็น BODY |
text | String | จำเป็น | เนื้อหา body สูงสุด 1024 ตัวอักษร รองรับตัวแปรหลายตัว ตัวแปรแสดงด้วยวงเล็บปีกกาคู่พร้อมดัชนีตัวแปร เริ่มต้นจาก 1 และเพิ่มขึ้น เช่น {{1}} และ {{2}} |
example | JSON Object | ตัวเลือก | ตัวอย่าง body ผู้ตรวจสอบ Meta จะใช้ตัวอย่างเพื่อพิจารณาความสอดคล้องของข้อความของคุณ ดูที่ example object description จำเป็นเมื่อข้อความรวมตัวแปร |
Example Object Description
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
body_text | String Array | ตัวเลือก | เมื่อข้อความรวมตัวแปร ให้ส่งค่าทดแทนของ ตัวแปรทั้งหมด ไปยังฟิลด์นี้ตามลำดับดัชนีตัวแปร ตัวอย่าง: "body_text": [["var1","var2","var3"]] |
Footer Component
ส่วนท้ายเป็นตัวเลือก หากไม่ต้องการส่วนท้าย ไม่ต้องตั้งค่าส่วนนี้
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
type | String | จำเป็น | ประเภทส่วนประกอบ ค่าเป็น FOOTER |
text | String | จำเป็น | เนื้อหาส่วนท้าย อนุญาตเฉพาะข้อความธรรมดา ไม่สามารถกำหนดตัวแปรได้ |
Buttons Component
ส่วนปุ่มเป็นตัวเลือก หากไม่ต้องการปุ่ม ไม่ต้องตั้งค่าส่วนนี้
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
type | String | จำเป็น | ประเภทส่วนประกอบ ค่าเป็น BUTTONS |
buttons | Object Array | จำเป็น | ข้อมูลปุ่ม ดูที่ buttons object description. |
Buttons Object Description
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
type | String | จำเป็น | ประเภทปุ่ม ค่า: QUICK_REPLY, URL, PHONE_NUMBER สอดคล้องกับ: การตอบกลับด่วน, การเรียกดูเว็บไซต์, การโทรหมายเลขโทรศัพท์ |
text | String | จำเป็น | ข้อความบนปุ่ม ไม่สามารถรวมตัวแปรได้ ต้องเป็นข้อความธรรมดา สูงสุด 25 ตัวอักษร |
url | String | ตัวเลือก | จำเป็นเมื่อ type=URL ตัวแปรสามารถตั้งค่าได้ที่ส่วนท้ายของ URL และรองรับเพียงตัวแปรเดียว แสดงด้วย {{1}} |
phone_number | String | ตัวเลือก | จำเป็นเมื่อ type=PHONE_NUMBER ไม่สามารถรวมตัวแปรได้ เนื้อหาต้องเป็นหมายเลขโทรศัพท์ที่มีรหัสประเทศ |
example | String Array | ตัวเลือก | จำเป็นเมื่อ type=QUICK_REPLY และ type=URL ตัวอย่าง: "example": [" https://www.website.com/dynamic-url-example "] |
หมายเหตุพิเศษสำหรับประเภท Verification Code
หมายเหตุ
สำหรับเทมเพลตในหมวด AUTHENTICATION:
- อย่าตั้งค่าส่วน HEADER ใน Components.
- ข้อความเนื้อหาเทมเพลตจะถูกแปลโดยอัตโนมัติตามฟิลด์ภาษาเทมเพลต.
- สำหรับโหมด ONE_TAP ที่เปลี่ยนเส้นทางไปยังแอป ปัจจุบันรองรับเฉพาะแอป Android และ ต้องดำเนินการจับมือที่เกี่ยวข้องในแอปของคุณ สำหรับคำแนะนำการใช้งานโดยละเอียด โปรดอ่าน เอกสารอย่างเป็นทางการ - Authentication Templates.
- พารามิเตอร์ที่ส่งเมื่อสร้างเทมเพลตและฟิลด์ที่บันทึกไว้ในฝั่ง WhatsApp หลังจากสร้างสำเร็จไม่สอดคล้องกัน โดยพื้นฐานแล้ว WhatsApp จะเปลี่ยน BODY, FOOTER และ BUTTONS ในหมวดหมู่นี้ของเทมเพลต ดังนั้นโปรดให้ความสำคัญเป็นพิเศษเมื่อต้องส่งข้อความด้วยเทมเพลต โดยจำเป็นต้องเพิ่มตัวแปรปุ่ม (button) โปรดดูรายละเอียดได้จาก เอกสาร API สำหรับการส่งข้อความ
COPY_CODE Example
ข้อมูลที่ส่ง:
{
"name": "copycodetmpl",
"language": "zh_CN",
"category": "AUTHENTICATION",
"components": [
{
// body เป็นส่วนที่จำเป็น
"type": "BODY",
"add_security_recommendation": true // ระบุว่าจะเพิ่มคำแนะนำด้านความปลอดภัยหรือไม่
},
{
// footer เป็นส่วนที่ไม่จำเป็น
"type": "FOOTER",
"code_expiration_minutes": 2 // เพิ่มการแสดงเวลาหมดอายุ ช่วง [1,90] ไม่ต้องส่งฟิลด์นี้หากไม่ต้องการเพิ่ม
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "OTP",
"otp_type": "copy_code",
"text": "copy it" // จำกัดความยาวไม่เกิน 25 ตัวอักษร
}
]
}
]
}
เนื้อหาเทมเพลตที่ได้รับจริงในฝั่ง WhatsApp หลังจากสร้าง:
{
"name": "copycodetmpl",
"language": "zh_CN",
"category": "AUTHENTICATION",
"components": [
{
"type": "BODY",
"text": "{{1}} คือรหัสยืนยันของคุณ เพื่อเหตุผลด้านความปลอดภัย กรุณาอย่าแชร์รหัสนี้",
"example": {
"body_text": [
["123456"]
]
}
},
{
"type": "FOOTER",
"text": "รหัสยืนยันนี้จะหมดอายุใน 2 นาที"
},
{
"type": "BUTTONS",
"buttons": [{
"type": "URL",
"text": "Copy code",
"url": "https://www.whatsapp.com/otp/code/?otp_type=COPY_CODE&code=otp{{1}}",
"example": [
"https://www.whatsapp.com/otp/code/?otp_type=COPY_CODE&code=otp123456"
]
}]
}
]
}
ONE_TAP Example
ข้อมูลที่ส่ง:
{
"name": "copycodetmpl",
"language": "zh_CN",
"category": "AUTHENTICATION",
"components": [
{
// body เป็นส่วนที่จำเป็น
"type": "BODY",
"add_security_recommendation": true // ระบุว่าจะเพิ่มคำแนะนำด้านความปลอดภัยหรือไม่
},
{
// footer เป็นส่วนที่ไม่จำเป็น
"type": "FOOTER",
"code_expiration_minutes": 2 // เพิ่มการแสดงเวลาหมดอายุ ช่วง [1,90] ไม่ต้องส่งฟิลด์นี้หากไม่ต้องการเพิ่ม
},
{
"type": "BUTTONS",
"buttons": [
{
"type": "OTP",
"otp_type": "one_tap",
"text": "auto1", // จำกัดความยาวไม่เกิน 25 ตัวอักษร
"autofill_text": "auto1", // จำกัดความยาวไม่เกิน 25 ตัวอักษร
"package_name": "ppssd",
"signature_hash": "asds"
}
]
}
]
}
เนื้อหาเทมเพลตที่ได้รับจริงในฝั่ง WhatsApp หลังจากสร้าง:
{
"name": "copycodetmpl",
"language": "zh_CN",
"category": "AUTHENTICATION",
"components": [
{
"type": "BODY",
"text": "{{1}} คือรหัสยืนยันของคุณ เพื่อเหตุผลด้านความปลอดภัย กรุณาอย่าแชร์รหัสนี้",
"example": {
"body_text": [
["123456"]
]
}
},
{
"type": "FOOTER",
"text": "รหัสยืนยันนี้จะหมดอายุใน 2 นาที"
},
{
"type": "BUTTONS",
"buttons": [{
"type": "URL",
"text": "copy1",
"url": "https://www.whatsapp.com/otp/code/?otp_type=ONE_TAP\u0026cta_display_name=auto1\u0026package_name=ppssd\u0026signature_hash=asds\u0026code=otp{{1}}",
"example": ["https://www.whatsapp.com/otp/code/?otp_type=ONE_TAP\u0026cta_display_name=auto1\u0026package_name=ppssd\u0026signature_hash=asds\u0026code=otp123456"]
}]
}
]
}
พารามิเตอร์การตอบกลับ
การตอบกลับสำเร็จ
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
template_id | String | จำเป็น | รหัสเทมเพลต ส่งคืนเมื่อสำเร็จ |
{
"template_id": "1275172986566180" // รหัสเทมเพลต
}
การตอบกลับล้มเหลว
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
code | int | จำเป็น | รหัสข้อผิดพลาด ส่งคืนเมื่อเกิดข้อผิดพลาด |
message | String | จำเป็น | ข้อความข้อผิดพลาด ส่งคืนเมื่อเกิดข้อผิดพลาด |
{
"code": 5002,
"message": "Invalid parameter. code:100:2388042"
}
อัปเดตเทมเพลต
จุดสิ้นสุด API
PUT https://wa.api.engagelab.cc/v1/templates/{templateId}
ตัวอย่างคำขอ
{
"components": [{ // เนื้อหาเทมเพลต
"type": "BODY", // บล็อกเนื้อหา รองรับ HEADER/BODY/FOOTER/BUTTONS
"text": "define var as {{1}}" // ข้อความเฉพาะ ไม่จำเป็นต้องส่งฟิลด์รูปแบบเมื่อ body เป็นข้อความ
"example": {
"body_text": [["var1"]]
}
},{
"type": "HEADER",
"format": "image", // ประเภทเนื้อหา รองรับ text/image/video/document/location
"example": {
"header_url": ["https://jiguang.cn/demopic.jpg"]
}
},{
"type": "FOOTER",
"text": "footer only support text without variable"
},{
"type": "BUTTONS",
"buttons": [{
"type": "PHONE_NUMBER", // ประเภทปุ่ม รองรับ PHONE_NUMBER/URL/QUICK_REPLY
"text": "this is a phone number",
"phone_number": "8613800138000"
}]
}]
}
พารามิเตอร์คำขอ
เหมือนกับ พารามิเตอร์คำขอ สำหรับการสร้างเทมเพลต
พารามิเตอร์การตอบกลับ
การตอบกลับสำเร็จ
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
code | int | จำเป็น | รหัสตอบกลับ กำหนดไว้ที่ 0 |
message | String | จำเป็น | ข้อความตอบกลับ กำหนดไว้ที่ success |
{
"code": 0,
"message": "success"
}
การตอบกลับล้มเหลว
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
code | int | จำเป็น | รหัสข้อผิดพลาด ส่งคืนเมื่อเกิดข้อผิดพลาด |
message | String | จำเป็น | ข้อความข้อผิดพลาด ส่งคืนเมื่อเกิดข้อผิดพลาด |
{
"code": 5002,
"message": "Invalid parameter. code:100:2593002"
}
ลบเทมเพลต
จุดสิ้นสุด API
DELETE https://wa.api.engagelab.cc/v1/templates/{template_name}
หมายเหตุ: ชื่อเทมเพลตจะถูกส่งผ่านที่นี่แทนรหัสเทมเพลต และเนื้อหาเทมเพลตทุกภาษาภายใต้ชื่อเทมเพลตนี้จะถูกลบ
พารามิเตอร์การตอบกลับ
การตอบกลับสำเร็จ
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
code | int | จำเป็น | รหัสตอบกลับ กำหนดไว้ที่ 0 |
message | String | จำเป็น | ข้อความตอบกลับ กำหนดไว้ที่ success |
{
"code": 0,
"message": "success"
}
การตอบกลับล้มเหลว
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
code | int | จำเป็น | รหัสข้อผิดพลาด ส่งคืนเมื่อเกิดข้อผิดพลาด |
message | String | จำเป็น | ข้อความข้อผิดพลาด ส่งคืนเมื่อเกิดข้อผิดพลาด |
{
"code": 2004,
"message": "something error"
}
รหัสข้อผิดพลาด
รหัสข้อผิดพลาด | รหัส HTTP | คำอธิบาย |
---|---|---|
1000 | 500 | ข้อผิดพลาดภายใน |
2001 | 401 | การตรวจสอบ EngageLab ล้มเหลว ไม่ได้ให้โทเค็นที่มีรูปแบบข้อมูลไม่ถูกต้อง |
2002 | 401 | การตรวจสอบ EngageLab ล้มเหลว โทเค็นหมดอายุหรือถูกปิดใช้งาน |
2003 | 400 | การตรวจสอบ WhatsApp ล้มเหลว โปรดติดต่อฝ่ายสนับสนุน EngageLab |
2004 | 403 | ไม่มีสิทธิ์เรียกใช้ API นี้ |
3001 | 400 | รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง โปรดตรวจสอบว่าใช้รูปแบบ JSON หรือไม่ |
3002 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง โปรดตรวจสอบว่าตรงตามข้อกำหนดหรือไม่ |
3003 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง การตรวจสอบธุรกิจที่เกี่ยวข้องล้มเหลว |
4001 | 400 | เทมเพลตไม่มีอยู่จริง |
5002 | 400 | คำขอเทมเพลตล้มเหลวในระหว่างการประมวลผล Meta โปรดดูคำอธิบายข้อผิดพลาดในฟิลด์ข้อความสำหรับรายละเอียด |
หมายเหตุ
ข้อกำหนดรูปแบบข้อความสื่อ
ประเภทสื่อ | ประเภทเนื้อหาที่รองรับ Content-Type | ขีดจำกัดขนาด |
---|---|---|
image | image/jpeg, image/png, ไม่รองรับพื้นหลังโปร่งใส | 5 MB |
video | video/mp4 | 16MB |
document | รองรับเฉพาะรูปแบบ PDF | 100 MB |
รหัสภาษา
ภาษา | รหัส |
---|---|
Afrikaans | af |
Albanian | sq |
Arabic | ar |
Azerbaijani | az |
Bengali | bn |
Bulgarian | bg |
Catalan | ca |
Chinese (Mainland) | zh_CN |
Chinese (Hong Kong) | zh_HK |
Chinese (Taiwan) | zh_TW |
Croatian | hr |
Czech | cs |
Danish | da |
Dutch | nl |
English | en |
English (UK) | en_GB |
English (US) | en_US |
Estonian | et |
Filipino | fil |
Finnish | fi |
French | fr |
Georgian | ka |
German | de |
Greek | el |
Gujarati | gu |
Hausa | ha |
Hebrew | he |
Hindi | hi |
Hungarian | hu |
Indonesian | id |
Irish | ga |
Italian | it |
Japanese | ja |
Kannada | kn |
Kazakh | kk |
Kinyarwanda | rw_RW |
Korean | ko |
Kyrgyzstan | ky_KG |
Lao | lo |
Latvian | lv |
Lithuanian | lt |
Macedonian | mk |
Malay | ms |
Malayalam | ml |
Marathi | mr |
Norwegian | nb |
Persian | fa |
Polish | pl |
Portuguese (Brazil) | pt_BR |
Portuguese (Portugal) | pt_PT |
Punjabi | pa |
Romanian | ro |
Russian | ru |
Serbian | sr |
Slovak | sk |
Slovenian | sl |
Spanish | es |
Spanish (Argentina) | es_AR |
Spanish (Spain) | es_ES |
Spanish (Mexico) | es_MX |
Swahili | sw |
Swedish | sv |
Tamil | ta |
Telugu | te |
Thai | th |
Turkish | tr |
Ukrainian | uk |
Urdu | ur |
Uzbek | uz |
Vietnamese | vi |
Zulu | zu |
ความสัมพันธ์ระหว่างภาษาและรหัสสามารถดาวน์โหลดได้ในไฟล์นี้:
Template Language Codes.xlsx