จะเป็น Function ที่ใช้ในการเขียนข้อมูลหรือมีการเปลี่ยนแปลงข้อมูลใน Database และสามารถตอบกลับผลลัพธ์ได้เช่นเดียวกับ Queries ประกอบด้วย
สำหรับสร้างและขอ API Token เป็น Authentication เพื่อใช้งาน API ต่างๆ ใน Platform รายละเอียดดังนี้
Arguments
payload
: payload คือ ระบุสิ่งที่อนุญาตให้เข้าถึงในรูปแบบ Object Type แยกเป็น 3 ฟิล์ด คือ
device
: [device_permission] คือ สิทธิ์ในการเข้าถึง Device อยู่ในรูปแบบ Array ของ Object ประกอบด้วย
deviceid
: String คือ รหัสของ Device ที่อนุญาตให้เข้าถึง
scope
: [String] คือ ขอบเขตสิทธิ์การเข้าถึงread_shadow
(อนุญาตอ่าน Shadow),write_shadow
(อนุญาตเขียน Shadow),read_feed
(อนุญาตอ่านข้อมูลใน Timeseries DB),read_devicestatus
(อนุญาตอ่านสถานะ Device)
project
: [project_permission] คือ สิทธิ์ในการเข้าถึง Project อยู่ในรูปแบบ Array ของ Object ประกอบด้วย
projectid
: String คือ รหัสของ Project ที่อนุญาตให้เข้าถึง
scope
: [String] คือ ขอบเขตสิทธิ์การเข้าถึงทุก Device ภายใต้ Projectread_shadow
(อนุญาตอ่าน Shadow),write_shadow
(อนุญาตเขียน Shadow),read_feed
(อนุญาตอ่านข้อมูลใน Timeseries DB),read_devicestatus
(อนุญาตอ่านสถานะ Device)
group
: [group_permission] คือ สิทธิ์ในการเข้าถึง Group อยู่ในรูปแบบ Array ของ Object ประกอบด้วย
groupid
: String คือ รหัสของ Group ที่อนุญาตให้เข้าถึง
scope
: [String] คือ ขอบเขตสิทธิ์การเข้าถึงทุก Device ภายใต้ Groupread_shadow
(อนุญาตอ่าน Shadow),write_shadow
(อนุญาตเขียน Shadow),read_feed
(อนุญาตอ่านข้อมูลใน Timeseries DB),read_devicestatus
(อนุญาตอ่านสถานะ Device)
nbf
: nbf_format คือ เวลาที่ Token จะเริ่มใช้งานได้ อยู่ในรูปแบบ Object Type { unit: value } ระบุค่าได้ 3 หน่วย คือ minutes, hours, days
expireIn
: expireIn_format คือ อายุของ Token อยู่ในรูปแบบ Object Type { unit: value } ระบุค่าได้ 3 หน่วย คือ minutes, hours, days
Query Variables
Authorization
: User Token
Response Type : ApiToken
ตอบกลับเป็น Object Type ApiToken ประกอบด้วย
access_token
: String คือ Token สำหรับเข้าใช้บริการ API ต่างๆ ตามสิทธิ์ที่ได้รับ
refresh_token
: String คือ Token สำหรับใช้ขอ Access Token ใหม่เมื่อหมดอายุ
iat
: String คือ วันเวลาที่ออก Token (issued at)
nbf
: String คือ วันเวลาที่ Token จะเริ่มใช้งานได้ (not before)
exp
: String คือ วันเวลาหมดอายุของ Token (expiration time)
expireIn
: String คือ อายุของ Token
userid
:String คือ รหัสของ User ที่เป็นผู้ให้สิทธิ์
_key
:String คือ รหัสอ้างอิง
ตัวอย่างการสร้างและขอ API Token ดังรูปด้านล่าง
สำหรับขอสร้าง Device ใหม่ รายละเอียดดังนี้
Arguments
projectid
: String คือ รหัสของ Project ที่ Device จะอยู่ภายใต้ (ต้องระบุ)
deviceid
: String คือ รหัสของ Device (ถ้าไม่ระบุ ระบบจะทำการสร้างให้อัตโนมัติ)
alias
: String คือ ชื่อของ Device (ถ้าไม่ระบุจะถูกกำหนดเป็นค่าเดียวกับ deviceid ใช้สำหรับอ้างอิงถึง Device)
description
: String คือ คำอธิบาย Device
tag
: String คือ แท็กของ Device (ใช้สำหรับช่วยในการเป็นตัวกรองในการเข้าถึงข้อมูล ถ้าหนดมากกว่า 1 tag ให้คั่นด้วย ,)
Query Variables
Authorization
: User Token
Response Type : DeviceWithToken
ตอบกลับเป็น Object Type DeviceWithToken ประกอบด้วย
alias
: String คือ ชื่อของ Device
billing
: String คือ รหัสผู้ใช้ที่รับผิดชอบค่าใช้จ่าย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Device
credential
: credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret
: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description
: String คือ คำอธิบาย Device
deviceid
: String คือ รหัสของ Device
groupid
: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname
: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid
: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status
: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0
offline,1
online)
tag
: String คือ แท็กของ Device
user
: String คือ รหัสผู้ใช้ที่สร้าง Device
id
: String คือ Primary Key ของ Device
token
: Token คือ ข้อมูล Token ของ Device โดย Object Type Token ประกอบด้วย
tokencode
: String คือ รหัสของ Token
iat
: String คือ วันเวลาที่ออก Token (issued at)
nbf
: String คือ วันเวลาที่ Token จะเริ่มใช้งานได้ (not before)
exp
: String คือ วันเวลาหมดอายุของ Token (expiration time)
expireIn
: String คือ อายุของ Token
ตัวอย่างการสร้าง Device ใหม่ ดังรูปด้านล่าง
สำหรับขอสร้าง Token ของ Device ใหม่ รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device (ต้องระบุ)
expireIn
: String คือ อายุของ Token
nbf
: String คือ วันเวลาที่ Token จะเริ่มใช้งานได้ (not before)
scope
: [String] คือ ขอบเขตสิทธิ์ของ Token ที่สามารถดำเนินการได้ จะอยู่ในรูปแบบ Array ของ String
verify
: Boolean คือ ต้องมีการตรวจสอบข้อมูลที่ส่งมาว่าถูกต้องหรือไม่
Query Variables
Authorization
: User Token
Response Type : DeviceToken
ตอบกลับเป็น Object Type DeviceToken ประกอบด้วย
deviceid
: String คือ รหัสของ Device
tokencode
: String คือ รหัสของ Token
iat
: String คือ วันเวลาที่ออก Token (issued at)
nbf
: String คือ วันเวลาที่ Token จะเริ่มใช้งานได้ (not before)
exp
: String คือ วันเวลาหมดอายุของ Token (expiration time)
expireIn
: String คือ อายุของ Token
ตัวอย่างการสร้าง Device Token ใหม่ ดังรูปด้านล่าง
สำหรับขอสร้าง Group ใหม่ รายละเอียดดังนี้
Arguments
projectid
: String คือ รหัสของ Project ที่ Group อยู่ภายใต้ (ต้องระบุ)
groupname
: String คือ ชื่อของ Group
description
: String คือ คำอธิบาย Group
tag
: String คือ แท็กของ Group
Query Variables
Authorization
: User Token
Response Type : Group
ตอบกลับเป็น Object Type Group ประกอบด้วย
groupid
: String คือ รหัสของ Group
groupname
: String คือ ชื่อของ Group
projectid
: String คือ รหัสของ Project
createdtime
: Timestamp คือ วันเวลาที่สร้าง Group
description
: String คือ คำอธิบาย Group
tag
: String คือ แท็กของ Group
ตัวอย่างการสร้าง Group ใหม่ ดังรูปด้านล่าง
สำหรับสร้าง Event Hook ใหม่ รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุ)
name: String คือ ชื่อของ Event Hook (ต้องระบุ)
description: String คือ คำอธิบาย Event Hook
type: String คือ สถานะการทำงานของ Event Hook (
true
เปิดให้ทำงาน,false
ปิดการทำงาน)param: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Event Hook
Query Variables
Authorization
: User Token
Response Type : Hook
ตอบกลับเป็น Object Type Hook ประกอบด้วย
projectid
: String คือ รหัสของ Project
name
: String คือ ชื่อของ Event Hook
hookid
: String คือ รหัสของ Event Hook
description
: String คือ คำอธิบายของ Event Hook
type
: String คือ ประเภทของ Event Hook
enabled
: Boolean คือ สถานะการทำงานของ Event Hook (true
เปิดให้ทำงาน,false
ปิดการทำงาน)
param
: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Event Hook
ตัวอย่างการสร้าง Event Hook ดังรูปด้านล่าง
สำหรับสร้าง Membership ใหม่ที่มีสิทธิ์เข้าถึงข้อมูลในแต่ละ Project ที่ตนเองไม่ได้เป็นเจ้าของ รายละเอียดดังนี้
Arguments
projectid
: String คือ รหัสของ Project (ต้องระบุค่า)
level
: String คือ ระดับชั้นของการเป็นสมาชิก (ถัาไม่ระบุจะถูกกำหนดเป็น 1)
Query Variables
Authorization
: User Token
Response Type : Membership
ตอบกลับเป็น Object Type Membership ประกอบด้วย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Membership
level
: String คือ ระดับชั้นของการเป็นสมาชิก
projectid
: String คือ รหัสของ Project ที่ Membership อยู่ภายใต้
ตัวอย่างการสร้าง Membership ใหม่ ดังรูปด้านล่าง
สำหรับเข้าถึงข้อมูล Project รายละเอียดดังนี้
Arguments
projectname
: String คือ ชื่อของ Project (ต้องระบุค่า)
description
: String คือ คำอธิบาย Project
tag
: String คือ แท็กของ Project
Query Variables
Authorization
: User Token
Response Type : Project
ตอบกลับเป็น Object Type Project ประกอบด้วย
projectname
: String คือ ชื่อของ Project
projectid
: String คือ รหัสของ Project
createdtime
: Timestamp คือ วันเวลาที่สร้าง Project
description
: String คือ คำอธิบาย Project
tag
: String คือ แท็กของ Project
numberdevice
: Int คือ จำนวน Device ภายใต้ Project
numbergroup
: Int คือ จำนวน Group ภายใต้ Project
numberdeviceonline
: Int คือ จำนวน Device ที่เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
numberdeviceoffline
: Int คือ จำนวน Device ที่ไม่ได้เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
ตัวอย่างการสร้าง Project ใหม่ ดังรูปด้านล่าง
สำหรับลบ Device ด้วย DeviceID รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : Device
ตอบกลับเป็น Object Type Device ที่ถูกลบ ประกอบด้วย
alias
: String คือ ชื่อของ Device
billing
: String คือ รหัสผู้ใช้ที่รับผิดชอบค่าใช้จ่าย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Device
credential
: credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret
: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description
: String คือ คำอธิบาย Device
deviceid
: String คือ รหัสของ Device
groupid
: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname
: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid
: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status
: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0
offline,1
online)
tag
: String คือ แท็กของ Device
user
: String คือ รหัสผู้ใช้ที่สร้าง Device
id
: String คือ Primary Key ของ Device
ตัวอย่างการลบ Device ด้วย DeviceID ดังรูปด้านล่าง
สำหรับลบ Group ด้วย GroupID รายละเอียดดังนี้
Arguments
groupid
: String คือ รหัสของ Group (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : Group
ตอบกลับเป็น Object Type Group ที่ถูกลบ ประกอบด้วย
groupid
: String คือ รหัสของ Group
groupname
: String คือ ชื่อของ Group
projectid
: String คือ รหัสของ Project
createdtime
: Timestamp คือ วันเวลาที่สร้าง Group
description
: String คือ คำอธิบาย Group
tag
: String คือ แท็กของ Group
ตัวอย่างการลบ Group ด้วย GroupID ดังรูปด้านล่าง
สำหรับลบ Hook ด้วย HookID รายละเอียดดังนี้
Arguments
hookid
: String คือ รหัสของ Group (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : Hook
ตอบกลับเป็น Object Type Hook ที่ถูกลบ ประกอบด้วย
projectid
: String คือ รหัสของ Project
name
: String คือ ชื่อของ Event Hook
hookid
: String คือ รหัสของ Event Hook
description
: String คือ คำอธิบายของ Event Hook
type
: String คือ ประเภทของ Event Hook
enabled
: Boolean คือ สถานะการทำงานของ Event Hook (true
เปิดให้ทำงาน,false
ปิดการทำงาน)
param
: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Event Hook
ตัวอย่างการลบ Hook ด้วย HookID ดังรูปด้านล่าง
สำหรับลบ Membership รายละเอียดดังนี้
Arguments
projectid
: String คือ รหัสของ Project (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : Membership
ตอบกลับเป็น Object Type Membership ที่ถูกลบ ประกอบด้วย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Membership
level
: String คือ ระดับชั้นของการเป็นสมาชิก
projectid
: String คือ รหัสของ Project ที่ Membership อยู่ภายใต้
ตัวอย่างการลบ Membership ดังรูปด้านล่าง
สำหรับลบ Project ด้วย ProjectID รายละเอียดดังนี้
Arguments
projectid
: String คือ รหัสของ Project (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : Project
ตอบกลับเป็น Object Type Project ที่ถูกลบ ประกอบด้วย
projectname
: String คือ ชื่อของ Project
projectid
: String คือ รหัสของ Project
createdtime
: Timestamp คือ วันเวลาที่สร้าง Project
description
: String คือ คำอธิบาย Project
tag
: String คือ แท็กของ Project
numberdevice
: Int คือ จำนวน Device ภายใต้ Project
numbergroup
: Int คือ จำนวน Group ภายใต้ Project
numberdeviceonline
: Int คือ จำนวน Device ที่เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
numberdeviceoffline
: Int คือ จำนวน Device ที่ไม่ได้เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
ตัวอย่างการลบ Project ด้วย ProjectID ดังรูปด้านล่าง
สำหรับลบ Trigger ด้วย DeviceID รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device ที่เซ็ต Trigger ไว้ (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Trigger ที่ถูกลบ ประกอบด้วย
id
: String คือ Primary Key ของ Device
deviceid
: String คือ รหัสของ Device
value
: JSON คือ การตั้งค่า Trigger ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON
ตัวอย่างการลบ Trigger ด้วย DeviceID ดังรูปด้านล่าง
สำหรับกำหนด Group ให้ Devices รายละเอียดดังนี้
Arguments
deviceid
: [String] คือ Array ของรหัส Device ที่ต้องการกำหนดกลุ่ม (ต้องระบุค่าอย่างน้อย 1 Device)
groupid
: String คือ รหัสของ Group ที่จะกำหนดให้กับ Devices (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : [Device]
ตอบกลับเป็น Array ของ Object Type Device ที่ถูกกำหนด Group ประกอบด้วย
alias
: String คือ ชื่อของ Device
billing
: String คือ รหัสผู้ใช้ที่รับผิดชอบค่าใช้จ่าย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Device
credential
: credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret
: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description
: String คือ คำอธิบาย Device
deviceid
: String คือ รหัสของ Device
groupid
: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname
: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid
: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status
: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0
offline,1
online)
tag
: String คือ แท็กของ Device
user
: String คือ รหัสผู้ใช้ที่สร้าง Device
id
: String คือ Primary Key ของ Device
ตัวอย่างการกำหนด Group ให้ Devices ดังรูปด้านล่าง
สำหรับ Publish ข้อมูลแบบเจาะจงไปยังแต่ละ Device เหมาะสำหรับใช้กับ Application ที่พัฒนาขึ้นมาเพื่อใช้สื่อสารกับ Device โดย User Token ที่ใช้ Authorization จะต้องเป็นของผู้ที่เป็นเจ้าของ Device นั้นๆ รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device ที่ต้องการส่งข้อมูลไปถึง (ต้องระบุค่า)
topic
: String คือ Topic ที่ต้องการ Publish ข้อมูลไปถึง โดยที่ไม่ต้องระบุ @msg (ต้องระบุค่า)
payload
: String คือ ข้อมูลหรือข้อความที่ต้องการส่ง
Query Variables
Authorization
: User Token
Response Type : Result
ตอบกลับเป็น Object Type Result ประกอบด้วย
code
: Int คือ รหัสตอบกลับ (Response Code) ถ้าเป็น 200 คือ ดำเนินการสำเร็จ
text
: String คือ ข้อความตอบกลับ (Response Text)
ตัวอย่างการ Publish ข้อมูลไปยัง Device แบบเจาะจง ดังรูปด้านล่าง
Note
PublishMessageToDevice
การ Subscribe ข้อมูลที่มาจากฟังก์ชัน PublishMessageToDevice จะมี Prefix Topic เป็น @private
เช่น
publishMessageToDevice (deviceid: "c55941ce-0f4a-4e57-xxxx-4759af4f872c", topic: "home/door", payload: "open" )
การเซ็ต Topic ตอน Subscribe จะเป็นดังนี้ @private/home/door
สำหรับ Publish ข้อมูลไปยัง Devices ที่อยู่ภายใต้ Group นั้นๆ เหมาะสำหรับใช้กับ Application ที่พัฒนาขึ้นมาเพื่อใช้สื่อสารกับ Devices โดย User Token ที่ใช้ Authorization จะต้องเป็นของผู้ที่เป็นเจ้าของ Device นั้นๆ รายละเอียดดังนี้
Arguments
groupid
: String คือ รหัสของ Group ที่ต้องการส่งข้อมูลไปถึง (ต้องระบุค่า)
topic
: String คือ Topic ที่ต้องการ Publish ข้อมูลไปถึง โดยที่ไม่ต้องระบุ @msg (ต้องระบุค่า)
payload
: String คือ ข้อมูลหรือข้อความที่ต้องการส่ง
Query Variables
Authorization
: User Token
Response Type : Result
ตอบกลับเป็น Object Type Result ประกอบด้วย
code
: Int คือ รหัสตอบกลับ (Response Code) ถ้าเป็น 200 คือ ดำเนินการสำเร็จ
text
: String คือ ข้อความตอบกลับ (Response Text)
ตัวอย่างการ Publish ข้อมูลไปยัง Devices ที่อยู่ภายใต้ Group ดังรูปด้านล่าง
Note
PublishMessageToGroup
การ Subscribe ข้อมูลที่มาจากฟังก์ชัน PublishMessageToGroup จะมี Prefix Topic เป็น @msg
เช่น
publishMessageToGroup (groupid: "G272489159405", topic: "home/rooms", payload: "open" )
การเซ็ต Topic ตอน Subscribe จะเป็นดังนี้ @msg/home/rooms
สำหรับยกเลิกสิทธิ์ Token ของ Device รายละเอียดดังนี้
Arguments
tokencode
: String คือ รหัสของ Token ที่ต้องการยกเลิกสิทธิ์ (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : DeviceToken
ตอบกลับเป็น Object Type DeviceToken ที่ถูกยกเลิกสิทธิ์ ประกอบด้วย
deviceid
: String คือ รหัสของ Device
tokencode
: String คือ รหัสของ Token
iat
: String คือ วันเวลาที่ออก Token (issued at)
nbf
: String คือ วันเวลาที่ Token จะเริ่มใช้งานได้ (not before)
exp
: String คือ วันเวลาหมดอายุของ Token (expiration time)
expireIn
: String คือ อายุของ Token
ตัวอย่างการยกเลิกสิทธิ์ Token ของ Device ดังรูปด้านล่าง
สำหรับถอด Devices ออกจาก Group รายละเอียดดังนี้
Arguments
deviceid
: [String] คือ Array ของรหัส Device ที่ต้องการถอดออกจากกลุ่ม (ต้องระบุค่าอย่างน้อย 1 Device)
Query Variables
Authorization
: User Token
Response Type : [Device]
ตอบกลับเป็น Array ของ Object Type Device ที่ถูกถอดออกจาก Group ประกอบด้วย
alias
: String คือ ชื่อของ Device
billing
: String คือ รหัสผู้ใช้ที่รับผิดชอบค่าใช้จ่าย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Device
credential
: credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret
: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description
: String คือ คำอธิบาย Device
deviceid
: String คือ รหัสของ Device
groupid
: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname
: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid
: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status
: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0
offline,1
online)
tag
: String คือ แท็กของ Device
user
: String คือ รหัสผู้ใช้ที่สร้าง Device
id
: String คือ Primary Key ของ Device
ตัวอย่างการถอด Devices ออกจาก Group ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลทั่วไปของ Device รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device (ต้องระบุ)
alias
: String คือ ชื่อของ Device ที่ต้องการแก้ไข
description
: String คือ คำอธิบาย Device ที่ต้องการแก้ไข
tag
: String คือ แท็กของ Device ที่ต้องการแก้ไข (ถ้าหนดมากกว่า 1 tag ให้คั่นด้วย ,)
Query Variables
Authorization
: User Token
Response Type : Device
ตอบกลับเป็น Object Type Device ประกอบด้วย
alias
: String คือ ชื่อของ Device
billing
: String คือ รหัสผู้ใช้ที่รับผิดชอบค่าใช้จ่าย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Device
credential
: credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret
: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description
: String คือ คำอธิบาย Device
deviceid
: String คือ รหัสของ Device
groupid
: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname
: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid
: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status
: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0
offline,1
online)
tag
: String คือ แท็กของ Device
user
: String คือ รหัสผู้ใช้ที่สร้าง Device
id
: String คือ Primary Key ของ Device
ตัวอย่างการแก้ไขข้อมูลทั่วไปของ Device ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลทั่วไปของ Group รายละเอียดดังนี้
Arguments
groupid
: String คือ รหัสของ Group (ต้องระบุ)
groupname
: String คือ ชื่อของ Group ที่ต้องการแก้ไข
description
: String คือ คำอธิบาย Group ที่ต้องการแก้ไข
tag
: String คือ แท็กของ Group ที่ต้องการแก้ไข
Query Variables
Authorization
: User Token
Response Type : Group
ตอบกลับเป็น Object Type Group ประกอบด้วย
groupid
: String คือ รหัสของ Group
groupname
: String คือ ชื่อของ Group
projectid
: String คือ รหัสของ Project
createdtime
: Timestamp คือ วันเวลาที่สร้าง Group
description
: String คือ คำอธิบาย Group
tag
: String คือ แท็กของ Group
ตัวอย่างการแก้ไขข้อมูลทั่วไปของ Group ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลของ Event Hook รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุ)
hookid
: String คือ รหัสของ Event Hook (ต้องระบุ)
name
: String คือ ชื่อของ Event Hook (ต้องระบุ)
description
: String คือ คำอธิบาย Event Hook
type
: String คือ สถานะการทำงานของ Event Hook (true
เปิดให้ทำงาน,false
ปิดการทำงาน)
enabled
: Boolean คือ สถานะการทำงานของ Event Hook (true
เปิดให้ทำงาน,false
ปิดการทำงาน)
param
: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Event Hook
Query Variables
Authorization
: User Token
Response Type : Hook
ตอบกลับเป็น Object Type Hook ประกอบด้วย
projectid
: String คือ รหัสของ Project
name
: String คือ ชื่อของ Event Hook
hookid
: String คือ รหัสของ Event Hook
description
: String คือ คำอธิบายของ Event Hook
type
: String คือ ประเภทของ Event Hook
enabled
: Boolean คือ สถานะการทำงานของ Event Hook (true
เปิดให้ทำงาน,false
ปิดการทำงาน)
param
: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Event Hook
ตัวอย่างการแก้ไขข้อมูลของ Event Hook ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลของ Membership รายละเอียดดังนี้
Arguments
projectid
: String คือ รหัสของ Project (ต้องระบุค่า)
level
: String คือ ระดับชั้นของการเป็นสมาชิก (ต้องระบุค่า)
Query Variables
Authorization
: User Token
Response Type : Membership
ตอบกลับเป็น Object Type Membership ประกอบด้วย
createdtime
: Timestamp คือ วันเวลาที่สร้าง Membership
level
: String คือ ระดับชั้นของการเป็นสมาชิก
projectid
: String คือ รหัสของ Project ที่ Membership อยู่ภายใต้
ตัวอย่างการแก้ไขข้อมูลของ Membership ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลทั่วไปของ Project รายละเอียดดังนี้
Arguments
projectid
: String คือ รหัสของ Project (ต้องระบุค่า)
projectname
: String คือ ชื่อของ Project
description
: String คือ คำอธิบาย Project
tag
: String คือ แท็กของ Project
Query Variables
Authorization
: User Token
Response Type : Project
ตอบกลับเป็น Object Type Project ประกอบด้วย
projectname
: String คือ ชื่อของ Project
projectid
: String คือ รหัสของ Project
createdtime
: Timestamp คือ วันเวลาที่สร้าง Project
description
: String คือ คำอธิบาย Project
tag
: String คือ แท็กของ Project
numberdevice
: Int คือ จำนวน Device ภายใต้ Project
numbergroup
: Int คือ จำนวน Group ภายใต้ Project
numberdeviceonline
: Int คือ จำนวน Device ที่เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
numberdeviceoffline
: Int คือ จำนวน Device ที่ไม่ได้เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
ตัวอย่างการแก้ไขข้อมูลทั่วไปของ Project ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูล Shadow Schema ของ Device รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device (ต้องระบุค่า)
value
: JSON คือ Shadow Schema ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON
Query Variables
Authorization
: User Token
Response Type : Schema
ตอบกลับเป็น Object Type Schema ประกอบด้วย
deviceid
: String คือ รหัสของ Device
value
: JSON คือ Shadow Schema ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON
ตัวอย่างการแก้ไขข้อมูล Shadow Schema ของ Device ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูล Trigger ของ Device รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device (ต้องระบุค่า)
value
: JSON คือ การตั้งค่า Trigger ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON
Query Variables
Authorization
: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Trigger ประกอบด้วย
id
: String คือ Primary Key ของ Device
deviceid
: String คือ รหัสของ Device
value
: JSON คือ การตั้งค่า Trigger ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON
ตัวอย่างการแก้ไขข้อมูล Trigger ของ Device ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูล Shadow ของ Device รายละเอียดดังนี้
Arguments
deviceid
: String คือ รหัสของ Device (ต้องระบุค่า)
data
: JSON คือ Shadow ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON
mode
: WriteMode คือ โหมดการเขียน Shadow มี 2 โหมด คือ
MERGE
คือ การเขียน Shadow แบบผสาน (Merge)
REPLACE
คือ การเขียน Shadow แบบเขียนทับ (Overwrite)
Query Variables
Authorization
: User Token
Response Type : Shadow
ตอบกลับเป็น Object Type Shadow ประกอบด้วย
deviceid
: String คือ รหัสของ Device
data
: JSON คือ Shadow ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON
rev
: Int คือ เลขที่ Revision
modified
: Timestamp คือ วันเวลาที่มีการแก้ไขข้อมูลล่าสุด
ตัวอย่างการแก้ไขข้อมูล Shadow ของ Device ดังรูปด้านล่าง
Note
การส่งค่า Parameter ที่เป็น JSON
ค่าที่ส่งจะอยู่ในรูปแบบ String ของ JSON ตัวอย่างเช่น ค่าที่จะส่ง คือ
json = { "body": "message={{msg}}", "method": "POST", "uri": "https://notify-api.line.me/api/notify" }
แปลงให้อยู่ในรูปแบบ String ของ JSON จะได้เป็น
string = "{ \"body\": \"message={{msg}}\", \"method\": \"POST\", \"uri\": \"https://notify-api.line.me/api/notify\" }"