เทมเพลต&รหัสผู้ส่ง
เอกสารนี้อธิบายอินเทอร์เฟซ RESTful API ที่เกี่ยวข้องกับการกำหนดค่ารูปแบบและการกำหนดค่าลายเซ็น
ข้อมูลพื้นฐาน
- โดเมน:
https://smsapi.engagelab.com - วิธีการตรวจสอบสิทธิ์: Basic Authentication (การเข้ารหัส Base64)
- รูปแบบ:
Authorization: Basic base64(apikey:apisecret) - ตัวอย่าง: เข้ารหัส
apikey:apisecretด้วย Base64 จากนั้นเพิ่มAuthorization: Basic <encoded string>ในส่วนหัวของคำขอ
- รูปแบบ:
- Content-Type:
application/json
รูปแบบการตอบกลับ
การตอบกลับที่สำเร็จ
การตอบกลับที่สำเร็จจะคืนวัตถุข้อมูลหรืออาร์เรย์โดยตรง:
{
"template_id": "123456789",
"template_name": "Example Template",
...
}
หรือการตอบกลับแบบรายการ:
[
{
"template_id": "123456789",
"template_name": "Example Template",
...
}
]
การตอบกลับข้อผิดพลาด
รูปแบบการตอบกลับข้อผิดพลาด:
{
"code": 400,
"message": "Error description"
}
อินเทอร์เฟซการกำหนดค่ารูปแบบ
1. รับรายการการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: ดึงรายการการกำหนดค่ารูปแบบทั้งหมดภายใต้ธุรกิจปัจจุบัน
ข้อมูลคำขอ:
- วิธีการ:
GET - เส้นทาง:
/v1/template-configs - การตรวจสอบสิทธิ์: จำเป็น
พารามิเตอร์คำขอ: ไม่มี
ตัวอย่างการตอบกลับ:
[
{
"template_id": "123456789",
"template_name": "Order Notification Template",
"template_type": "utility",
"template_content": "Your order {order_no} has been shipped and is expected to arrive by {delivery_time}.",
"country_codes": "CN,US",
"status": 2,
"sign_id": "987654321",
"sign_name": "Company Name",
"sign_position": 2,
"sign_status": 2,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
]
คำอธิบายฟิลด์การตอบกลับ:
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| template_id | string | รหัสรูปแบบ |
| template_name | string | ชื่อรูปแบบ |
| template_type | string | ประเภทของรูปแบบ: utility (การแจ้งเตือน), marketing (การตลาด) |
| template_content | string | เนื้อหารูปแบบ |
| country_codes | string | รหัสประเทศหลักที่ส่ง, แยกด้วยเครื่องหมายจุลภาค |
| status | int | สถานะ: 1-รอการตรวจสอบ, 2-อนุมัติ, 3-ปฏิเสธ |
| sign_id | string | รหัสลายเซ็น (ไม่บังคับ) |
| sign_name | string | ชื่อลายเซ็น (ไม่บังคับ) |
| sign_position | int | ตำแหน่งลายเซ็น: 0-ไม่มี, 1-คำนำหน้า, 2-คำต่อท้าย (ไม่บังคับ) |
| sign_status | int | สถานะลายเซ็น (ไม่บังคับ) |
| audit_remark | string | หมายเหตุการตรวจสอบ |
| created_time | int64 | เวลาสร้าง (Unix timestamp) |
| updated_time | int64 | เวลาอัปเดต (Unix timestamp) |
2. รับรายละเอียดการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: ดึงข้อมูลรายละเอียดของการกำหนดค่ารูปแบบตามรหัสรูปแบบ
ข้อมูลคำขอ:
- วิธีการ:
GET - เส้นทาง:
/v1/template-configs/:templateId - การตรวจสอบสิทธิ์: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| templateId | string | ใช่ | รหัสรูปแบบ |
ตัวอย่างการตอบกลับ:
{
"template_id": "123456789",
"template_name": "Order Notification Template",
"template_type": "utility",
"template_content": "Your order {order_no} has been shipped and is expected to arrive by {delivery_time}.",
"country_codes": "CN,US",
"status": 2,
"sign_id": "987654321",
"sign_name": "Company Name",
"sign_position": 2,
"sign_status": 2,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสรูปแบบผิดพลาดหรือไม่มีรูปแบบ500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
3. สร้างการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: สร้างการกำหนดค่ารูปแบบใหม่
ข้อมูลคำขอ:
- วิธีการ:
POST - เส้นทาง:
/v1/template-configs - การตรวจสอบสิทธิ์: จำเป็น
เนื้อหาคำขอ:
{
"template_name": "Order Notification Template",
"template_type": "utility",
"template_content": "Your order {order_no} has been shipped and is expected to arrive by {delivery_time}.",
"country_codes": "CN,US",
"add_signature": true,
"sign_id": "987654321",
"sign_position": 2
}
คำอธิบายฟิลด์คำขอ:
| ชื่อฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| template_name | string | ใช่ | ชื่อรูปแบบ, สูงสุด 255 ตัวอักษร |
| template_type | string | ใช่ | ประเภทของรูปแบบ: utility (การแจ้งเตือน), marketing (การตลาด) |
| template_content | string | ใช่ | เนื้อหารูปแบบ, ไม่สามารถมี: 【, 】, ,, 测试, test, [, ] |
| country_codes | string | ใช่ | รหัสประเทศหลักที่ส่ง, แยกด้วยเครื่องหมายจุลภาค |
| add_signature | bool | ไม่ | เพิ่มลายเซ็นหรือไม่, ค่าเริ่มต้นคือ false |
| sign_id | string | จำเป็นตามเงื่อนไข | จำเป็นถ้า add_signature เป็น true, รหัสลายเซ็น |
| sign_position | int | จำเป็นตามเงื่อนไข | จำเป็นถ้า add_signature เป็น true, ตำแหน่งลายเซ็น: 1-คำนำหน้า, 2-คำต่อท้าย |
ตัวอย่างการตอบกลับ:
{
"template_id": "123456789"
}
คำอธิบายฟิลด์การตอบกลับ:
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| template_id | string | รหัสรูปแบบที่สร้างขึ้น |
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด, การตรวจสอบพารามิเตอร์ล้มเหลว, ไม่มีการกำหนดค่าลายเซ็น, สถานะลายเซ็นไม่ได้รับการอนุมัติ500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
กฎธุรกิจ:
- รูปแบบจะอยู่ในสถานะ "รอการตรวจสอบ" (status=1) หลังจากการสร้าง
- หากเพิ่มลายเซ็น, ลายเซ็นต้องอยู่ในสถานะที่ได้รับการอนุมัติ
4. อัปเดตการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: อัปเดตการกำหนดค่ารูปแบบที่มีอยู่
ข้อมูลคำขอ:
- วิธีการ:
PUT - เส้นทาง:
/v1/template-configs/:templateId - การตรวจสอบสิทธิ์: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| templateId | string | ใช่ | รหัสรูปแบบ |
เนื้อหาคำขอ: เหมือนกับอินเทอร์เฟซการสร้าง, ทุกฟิลด์จำเป็น
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด, ไม่มีรูปแบบ, รูปแบบในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้, แผนในสถานะรอหรือกำลังทำงานไม่สามารถอัปเดตได้, ไม่มีการกำหนดค่าลายเซ็น, สถานะลายเซ็นไม่ได้รับการอนุมัติ500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
กฎธุรกิจ:
- รูปแบบในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้
- หากมีแผนข้อความในสถานะรอหรือกำลังทำงานที่ใช้รูปแบบนั้น, จะไม่สามารถอัปเดตได้
- หลังจากการอัปเดต, สถานะของรูปแบบจะกลับไปเป็น "รอการตรวจสอบ" (status=1)
5. ลบการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: ลบการกำหนดค่ารูปแบบที่ระบุ
ข้อมูลคำขอ:
- วิธีการ:
DELETE - เส้นทาง:
/v1/template-configs/:templateId - การตรวจสอบสิทธิ์: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| templateId | string | ใช่ | รหัสรูปแบบ |
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสรูปแบบผิดพลาด, ไม่มีรูปแบบ, แผนในสถานะรอหรือกำลังทำงานไม่สามารถลบได้500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
กฎธุรกิจ:
- หากมีแผนข้อความในสถานะรอหรือกำลังทำงานที่ใช้รูปแบบนั้น, จะไม่สามารถลบได้
อินเทอร์เฟซการกำหนดค่าลายเซ็น
1. รับรายการการกำหนดค่าลายเซ็น
คำอธิบายอินเทอร์เฟซ: ดึงรายการการกำหนดค่าลายเซ็นทั้งหมดภายใต้ธุรกิจปัจจุบัน
ข้อมูลการร้องขอ:
- วิธี:
GET - เส้นทาง:
/v1/sign-configs - การยืนยันตัวตน: จำเป็น
พารามิเตอร์การร้องขอ: ไม่มี
ตัวอย่างการตอบกลับ:
[
{
"sign_id": "987654321",
"sign_name": "ชื่อบริษัท",
"status": 2,
"related_template_count": 5,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
]
คำอธิบายฟิลด์การตอบกลับ:
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| sign_id | string | รหัสลายเซ็น |
| sign_name | string | ชื่อลายเซ็น |
| status | int | สถานะ: 1-รอการตรวจสอบ, 2-อนุมัติ, 3-ปฏิเสธ |
| related_template_count | int64 | จำนวนเทมเพลตที่เกี่ยวข้อง |
| audit_remark | string | หมายเหตุการตรวจสอบ |
| created_time | int64 | เวลาสร้าง (Unix timestamp) |
| updated_time | int64 | เวลาอัปเดต (Unix timestamp) |
2. รับรายละเอียดการกำหนดค่าลายเซ็น
คำอธิบายอินเทอร์เฟซ: ดึงข้อมูลรายละเอียดของการกำหนดค่าลายเซ็นโดยใช้รหัสลายเซ็น
ข้อมูลการร้องขอ:
- วิธี:
GET - เส้นทาง:
/v1/sign-configs/:signId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| signId | string | ใช่ | รหัสลายเซ็น |
ตัวอย่างการตอบกลับ:
{
"sign_id": "987654321",
"sign_name": "ชื่อบริษัท",
"status": 2,
"related_template_count": 5,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสลายเซ็นไม่ถูกต้อง, ลายเซ็นไม่มีอยู่, หรือลายเซ็นไม่ได้เป็นของธุรกิจปัจจุบัน500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
3. สร้างการกำหนดค่าลายเซ็น
คำอธิบายอินเทอร์เฟซ: สร้างการกำหนดค่าลายเซ็นใหม่
ข้อมูลการร้องขอ:
- วิธี:
POST - เส้นทาง:
/v1/sign-configs - การยืนยันตัวตน: จำเป็น
เนื้อหาการร้องขอ:
{
"sign_name": "ชื่อบริษัท"
}
คำอธิบายฟิลด์การร้องขอ:
| ชื่อฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| sign_name | string | ใช่ | ชื่อลายเซ็น, 2-60 ตัวอักษร, ห้ามมี: 【, 】, [, ] |
ตัวอย่างการตอบกลับ:
{
"sign_id": "987654321"
}
คำอธิบายฟิลด์การตอบกลับ:
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| sign_id | string | รหัสลายเซ็นที่สร้างขึ้น |
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด, การตรวจสอบพารามิเตอร์ล้มเหลว, หรือชื่อลายเซ็นมีอยู่แล้ว500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
กฎทางธุรกิจ:
- สถานะของลายเซ็นหลังการสร้างคือ "รอการตรวจสอบ" (status=1)
- ชื่อลายเซ็นไม่สามารถซ้ำกันภายในธุรกิจเดียวกันได้
4. อัปเดตการกำหนดค่าลายเซ็น
คำอธิบายอินเทอร์เฟซ: อัปเดตการกำหนดค่าลายเซ็นที่มีอยู่
ข้อมูลการร้องขอ:
- วิธี:
PUT - เส้นทาง:
/v1/sign-configs/:signId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| signId | string | ใช่ | รหัสลายเซ็น |
เนื้อหาการร้องขอ: เหมือนกับอินเทอร์เฟซการสร้าง
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด, ลายเซ็นไม่มีอยู่, ลายเซ็นไม่ได้เป็นของธุรกิจปัจจุบัน, สถานะลายเซ็นอยู่ในระหว่างการตรวจสอบและไม่สามารถอัปเดตได้, ชื่อลายเซ็นมีอยู่แล้ว, หรือมีแผนที่รอดำเนินการหรือกำลังทำงานที่ป้องกันการอัปเดต500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
กฎทางธุรกิจ:
- ลายเซ็นในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้
- หากมีแผนข้อความที่รอดำเนินการหรือกำลังทำงานที่ใช้ลายเซ็นอยู่ จะไม่สามารถอัปเดตได้
- หลังการอัปเดต สถานะลายเซ็นจะกลับไปเป็น "รอการตรวจสอบ" (status=1)
5. ลบการกำหนดค่าลายเซ็น
คำอธิบายอินเทอร์เฟซ: ลบการกำหนดค่าลายเซ็นที่ระบุ
ข้อมูลการร้องขอ:
- วิธี:
DELETE - เส้นทาง:
/v1/sign-configs/:signId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| signId | string | ใช่ | รหัสลายเซ็น |
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสลายเซ็นไม่ถูกต้อง, ลายเซ็นไม่มีอยู่, ลายเซ็นไม่ได้เป็นของธุรกิจปัจจุบัน, หรือมีแผนที่รอดำเนินการหรือกำลังทำงานที่ป้องกันการลบ500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน
กฎทางธุรกิจ:
- หากมีแผนข้อความที่รอดำเนินการหรือกำลังทำงานที่ใช้ลายเซ็นอยู่ จะไม่สามารถลบได้
คำอธิบายรหัสสถานะ
สถานะการกำหนดค่าเทมเพลต (status)
| ค่า | คำอธิบาย |
|---|---|
| 1 | รอการตรวจสอบ |
| 2 | อนุมัติ |
| 3 | ปฏิเสธ |
สถานะการกำหนดค่าลายเซ็น (status)
| ค่า | คำอธิบาย |
|---|---|
| 1 | รอการตรวจสอบ |
| 2 | อนุมัติ |
| 3 | ปฏิเสธ |
ตำแหน่งลายเซ็น (sign_position)
| ค่า | คำอธิบาย |
|---|---|
| 0 | ไม่มีลายเซ็น |
| 1 | คำนำหน้า |
| 2 | ต่อท้าย |
ประเภทเทมเพลต (template_type)
| ค่า | คำอธิบาย |
|---|---|
| utility | การแจ้งเตือน |
| marketing | การตลาด |
คำอธิบายรหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | รหัสสถานะ HTTP | คำอธิบาย |
|---|---|---|
| 0 | 200 | สำเร็จ |
| 400 | 400 | ข้อผิดพลาดของพารามิเตอร์หรือข้อผิดพลาดทางธุรกิจ |
| 500 | 500 | ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน |
ข้อความข้อผิดพลาดทั่วไป:
invalid templateId: รูปแบบรหัสเทมเพลตไม่ถูกต้องtemplate config not exist: การกำหนดค่าเทมเพลตไม่มีอยู่invalid signId: รูปแบบรหัสลายเซ็นไม่ถูกต้องsign config not exist: การกำหนดค่าลายเซ็นไม่มีอยู่sign_name already exist: ชื่อลายเซ็นมีอยู่แล้วcan not update pending status template: เทมเพลตในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้can not update pending status sign: ลายเซ็นในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้there are pending or running plans using current template, can not update: มีแผนที่รอดำเนินการหรือกำลังทำงานที่ใช้เทมเพลตอยู่ ไม่สามารถอัปเดตได้there are pending or running plans using current sign, can not update: มีแผนที่รอดำเนินการหรือกำลังทำงานที่ใช้ลายเซ็นอยู่ ไม่สามารถอัปเดตได้sign status is not approved, can not use: สถานะลายเซ็นไม่ได้รับการอนุมัติ ไม่สามารถใช้งานได้
หมายเหตุ
- อินเทอร์เฟซทั้งหมดต้องการการตรวจสอบการยืนยันตัวตน
- อินเทอร์เฟซทั้งหมดจะเชื่อมโยง ID ธุรกิจของผู้ใช้ที่ยืนยันตัวตนโดยอัตโนมัติ (businessId)
- การสร้างและการอัปเดตเทมเพลตและลายเซ็นจะเรียกกระบวนการตรวจสอบ
- หากเทมเพลตหรือลายเซ็นถูกใช้โดยแผนข้อความ จะไม่สามารถอัปเดตหรือลบได้ในขณะที่แผนอยู่ในสถานะรอดำเนินการหรือกำลังทำงาน
- เนื้อหาเทมเพลตต้องไม่มีอักขระต้องห้าม:
【,】,、,测试,test,[,] - ชื่อลายเซ็นต้องไม่มีอักขระต้องห้าม:
【,】,[,] - ID ของเทมเพลตและลายเซ็นเป็นสตริงตัวเลข










