การจัดการเทมเพลต 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








