เทมเพลต&รหัสผู้ส่ง

เอกสารนี้อธิบายอินเทอร์เฟซ 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",
  ...
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

หรือการตอบกลับแบบรายการ:

[ { "template_id": "123456789", "template_name": "Example Template", ... } ]
              
              [
  {
    "template_id": "123456789",
    "template_name": "Example Template",
    ...
  }
]

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การตอบกลับข้อผิดพลาด

รูปแบบการตอบกลับข้อผิดพลาด:

{ "code": 400, "message": "Error description" }
              
              {
  "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": "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 }
              
              {
  "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": "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": "123456789"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

คำอธิบายฟิลด์การตอบกลับ:

ชื่อฟิลด์ ประเภท คำอธิบาย
template_id string รหัสรูปแบบที่สร้างขึ้น

การตอบกลับข้อผิดพลาด:

  • 400: รูปแบบพารามิเตอร์ผิดพลาด, การตรวจสอบพารามิเตอร์ล้มเหลว, ไม่มีการกำหนดค่าลายเซ็น, สถานะลายเซ็นไม่ได้รับการอนุมัติ
  • 500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน

กฎธุรกิจ:

  • รูปแบบจะอยู่ในสถานะ "รอการตรวจสอบ" (status=1) หลังจากการสร้าง
  • หากเพิ่มลายเซ็น, ลายเซ็นต้องอยู่ในสถานะที่ได้รับการอนุมัติ

4. อัปเดตการกำหนดค่ารูปแบบ

คำอธิบายอินเทอร์เฟซ: อัปเดตการกำหนดค่ารูปแบบที่มีอยู่

ข้อมูลคำขอ:

  • วิธีการ: PUT
  • เส้นทาง: /v1/template-configs/:templateId
  • การตรวจสอบสิทธิ์: จำเป็น

พารามิเตอร์เส้นทาง:

ชื่อพารามิเตอร์ ประเภท จำเป็น คำอธิบาย
templateId string ใช่ รหัสรูปแบบ

เนื้อหาคำขอ: เหมือนกับอินเทอร์เฟซการสร้าง, ทุกฟิลด์จำเป็น

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

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การตอบกลับข้อผิดพลาด:

  • 400: รูปแบบพารามิเตอร์ผิดพลาด, ไม่มีรูปแบบ, รูปแบบในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้, แผนในสถานะรอหรือกำลังทำงานไม่สามารถอัปเดตได้, ไม่มีการกำหนดค่าลายเซ็น, สถานะลายเซ็นไม่ได้รับการอนุมัติ
  • 500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน

กฎธุรกิจ:

  • รูปแบบในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้
  • หากมีแผนข้อความในสถานะรอหรือกำลังทำงานที่ใช้รูปแบบนั้น, จะไม่สามารถอัปเดตได้
  • หลังจากการอัปเดต, สถานะของรูปแบบจะกลับไปเป็น "รอการตรวจสอบ" (status=1)

5. ลบการกำหนดค่ารูปแบบ

คำอธิบายอินเทอร์เฟซ: ลบการกำหนดค่ารูปแบบที่ระบุ

ข้อมูลคำขอ:

  • วิธีการ: DELETE
  • เส้นทาง: /v1/template-configs/:templateId
  • การตรวจสอบสิทธิ์: จำเป็น

พารามิเตอร์เส้นทาง:

ชื่อพารามิเตอร์ ประเภท จำเป็น คำอธิบาย
templateId string ใช่ รหัสรูปแบบ

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

{ "code": 0, "message": "success" }
              
              {
  "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": "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 }
              
              {
  "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": "ชื่อบริษัท"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

คำอธิบายฟิลด์การร้องขอ:

ชื่อฟิลด์ ประเภท จำเป็น คำอธิบาย
sign_name string ใช่ ชื่อลายเซ็น, 2-60 ตัวอักษร, ห้ามมี: , , [, ]

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

{ "sign_id": "987654321" }
              
              {
  "sign_id": "987654321"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

คำอธิบายฟิลด์การตอบกลับ:

ชื่อฟิลด์ ประเภท คำอธิบาย
sign_id string รหัสลายเซ็นที่สร้างขึ้น

การตอบกลับข้อผิดพลาด:

  • 400: รูปแบบพารามิเตอร์ผิดพลาด, การตรวจสอบพารามิเตอร์ล้มเหลว, หรือชื่อลายเซ็นมีอยู่แล้ว
  • 500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน

กฎทางธุรกิจ:

  • สถานะของลายเซ็นหลังการสร้างคือ "รอการตรวจสอบ" (status=1)
  • ชื่อลายเซ็นไม่สามารถซ้ำกันภายในธุรกิจเดียวกันได้

4. อัปเดตการกำหนดค่าลายเซ็น

คำอธิบายอินเทอร์เฟซ: อัปเดตการกำหนดค่าลายเซ็นที่มีอยู่

ข้อมูลการร้องขอ:

  • วิธี: PUT
  • เส้นทาง: /v1/sign-configs/:signId
  • การยืนยันตัวตน: จำเป็น

พารามิเตอร์เส้นทาง:

ชื่อพารามิเตอร์ ประเภท จำเป็น คำอธิบาย
signId string ใช่ รหัสลายเซ็น

เนื้อหาการร้องขอ: เหมือนกับอินเทอร์เฟซการสร้าง

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

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การตอบกลับข้อผิดพลาด:

  • 400: รูปแบบพารามิเตอร์ผิดพลาด, ลายเซ็นไม่มีอยู่, ลายเซ็นไม่ได้เป็นของธุรกิจปัจจุบัน, สถานะลายเซ็นอยู่ในระหว่างการตรวจสอบและไม่สามารถอัปเดตได้, ชื่อลายเซ็นมีอยู่แล้ว, หรือมีแผนที่รอดำเนินการหรือกำลังทำงานที่ป้องกันการอัปเดต
  • 500: ข้อผิดพลาดของเซิร์ฟเวอร์ภายใน

กฎทางธุรกิจ:

  • ลายเซ็นในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้
  • หากมีแผนข้อความที่รอดำเนินการหรือกำลังทำงานที่ใช้ลายเซ็นอยู่ จะไม่สามารถอัปเดตได้
  • หลังการอัปเดต สถานะลายเซ็นจะกลับไปเป็น "รอการตรวจสอบ" (status=1)

5. ลบการกำหนดค่าลายเซ็น

คำอธิบายอินเทอร์เฟซ: ลบการกำหนดค่าลายเซ็นที่ระบุ

ข้อมูลการร้องขอ:

  • วิธี: DELETE
  • เส้นทาง: /v1/sign-configs/:signId
  • การยืนยันตัวตน: จำเป็น

พารามิเตอร์เส้นทาง:

ชื่อพารามิเตอร์ ประเภท จำเป็น คำอธิบาย
signId string ใช่ รหัสลายเซ็น

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

{ "code": 0, "message": "success" }
              
              {
  "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: สถานะลายเซ็นไม่ได้รับการอนุมัติ ไม่สามารถใช้งานได้

หมายเหตุ

  1. อินเทอร์เฟซทั้งหมดต้องการการตรวจสอบการยืนยันตัวตน
  2. อินเทอร์เฟซทั้งหมดจะเชื่อมโยง ID ธุรกิจของผู้ใช้ที่ยืนยันตัวตนโดยอัตโนมัติ (businessId)
  3. การสร้างและการอัปเดตเทมเพลตและลายเซ็นจะเรียกกระบวนการตรวจสอบ
  4. หากเทมเพลตหรือลายเซ็นถูกใช้โดยแผนข้อความ จะไม่สามารถอัปเดตหรือลบได้ในขณะที่แผนอยู่ในสถานะรอดำเนินการหรือกำลังทำงาน
  5. เนื้อหาเทมเพลตต้องไม่มีอักขระต้องห้าม: , , , 测试, test, [, ]
  6. ชื่อลายเซ็นต้องไม่มีอักขระต้องห้าม: , , [, ]
  7. ID ของเทมเพลตและลายเซ็นเป็นสตริงตัวเลข
icon
ติดต่อฝ่ายขาย