จะเป็น Function ที่ใช้ในการเขียนข้อมูลหรือมีการเปลี่ยนแปลงข้อมูลใน Database และสามารถตอบกลับผลลัพธ์ได้เช่นเดียวกับ Queries ประกอบด้วย
สำหรับลบข้อมูลทั้งหมดใน Time Series Data Store ของ Device ตัวนั้น ๆ ใช้ในกรณีที่ต้องการลบข้อมูลในช่วงการทดสอบระบบ หรือเป็นข้อมูลที่ไม่ได้ใช้งานจริง รายละเอียดดังนี้
Arguments
feedid: String คือ รหัสของ Feed ซึ่งใช้ค่าเดียวกับdeviceid(ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : FeedData
ตอบกลับเป็น Object Type FeedData ประกอบด้วย
feedid: String คือ รหัสของ Feed
data: JSON คือ ข้อมูลในแต่ละฟิลด์
ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง
สำหรับสร้างและขอ API Token เป็น Authentication เพื่อใช้งาน API ต่างๆ ใน Platform รายละเอียดดังนี้
Arguments
payload: payload คือ ระบุสิ่งที่อนุญาตให้เข้าถึงในรูปแบบ Object Type แยกเป็น 3 ฟิล์ด คือ
device: [device_permission] คือ สิทธิ์ในการเข้าถึง Device อยู่ในรูปแบบ Array ของ Object ประกอบด้วย
deviceid: String คือ รหัสของ Device ที่อนุญาตให้เข้าถึง
scope: [scope] คือ ขอบเขตสิทธิ์การเข้าถึง ประกอบด้วย
read_shadow(อนุญาตอ่าน Shadow ของ Device)
write_shadow(อนุญาตเขียน Shadow ของ Device)
read_feed(อนุญาตอ่านข้อมูลใน Timeseries Data ของ Device)
read_devicestatus(อนุญาตอ่านสถานะการเชื่อมต่อ Platform ของ Device)
project: [project_permission] คือ สิทธิ์ในการเข้าถึง Project อยู่ในรูปแบบ Array ของ Object ประกอบด้วย
projectid: String คือ รหัสของ Project ที่อนุญาตให้เข้าถึง
scope: [scope] คือ ขอบเขตสิทธิ์การเข้าถึง ประกอบด้วย
read_shadow(อนุญาตอ่าน Shadow ของทุก Device ภายใต้ Project)
write_shadow(อนุญาตเขียน Shadow ของทุก Device ภายใต้ Project)
read_feed(อนุญาตอ่านข้อมูลใน Timeseries Data ของทุก Device ภายใต้ Project)
read_devicestatus(อนุญาตอ่านสถานะการเชื่อมต่อ Platform ของทุก Device ภายใต้ Project)
group: [group_permission] คือ สิทธิ์ในการเข้าถึง Group อยู่ในรูปแบบ Array ของ Object ประกอบด้วย
groupid: String คือ รหัสของ Group ที่อนุญาตให้เข้าถึง
scope: [scope] คือ ขอบเขตสิทธิ์การเข้าถึง ประกอบด้วย
read_shadow(อนุญาตอ่าน Shadow ของทุก Device ภายใต้ Group)
write_shadow(อนุญาตเขียน Shadow ของทุก Device ภายใต้ Group)
read_feed(อนุญาตอ่านข้อมูลใน Timeseries Data ของทุก Device ภายใต้ Group)
read_devicestatus(อนุญาตอ่านสถานะการเชื่อมต่อ Platform ของทุก Device ภายใต้ Group)
nbf: nbf_format คือ เวลาที่ Token จะเริ่มใช้งานได้ อยู่ในรูปแบบ Object Type { unit: value } ระบุค่าได้ 3 หน่วย คือ
minutes: Int คือ ระยะเวลาเป็นหน่วย นาที
hours: Int คือ ระยะเวลาเป็นหน่วย ชั่วโมง
days: Int คือ ระยะเวลาเป็นหน่วย วัน
expireIn: expireIn_format คือ อายุของ Token อยู่ในรูปแบบ Object Type { unit: value } ระบุค่าได้ 3 หน่วย คือ
minutes: Int คือ ระยะเวลาเป็นหน่วย นาที
hours: Int คือ ระยะเวลาเป็นหน่วย ชั่วโมง
days: Int คือ ระยะเวลาเป็นหน่วย วัน
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 (ถ้าไม่ระบุ ระบบจะทำการสร้างให้อัตโนมัติ)
deviceinfo: DeviceInfo คือ Object Type ที่เป็นรายละเอียดของ Device ประกอบด้วย
alias: String คือ ชื่อของ Device (ถ้าไม่ระบุจะถูกกำหนดเป็นค่าเดียวกับ deviceid ใช้สำหรับอ้างอิงถึง Device)
description: String คือ คำอธิบาย Device
tag: String คือ แท็กของ Device ในรูปแบบค่าเดียว
hashtag: [String] คือ แท็กของ Device ในรูปแบบหลายค่า
tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value
Query Variables
Authorization: User Token
Response Type : DeviceWithToken
ตอบกลับเป็น Object Type DeviceWithToken ประกอบด้วย
alias: String คือ ชื่อของ Device
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicetoken: [String] คือ รายการ Token ทั้งหมดของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device ในรูปแบบค่าเดียว
hashtag: [String] คือ แท็กของ Device ในรูปแบบหลายค่า
tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน [default])
token: Token คือ 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 แบบค่าเดียว
hashtag: [String] คือ แท็กของ Group แบบหลายค่า
tags: JSON คือ แท็กของ Group ในรูปแบบ Key Value
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 แบบค่าเดียว
hashtag: [String] คือ แท็กของ Group แบบหลายค่า
tags: Json คือ แท็กของ Group ในรูปแบบ Key Value
ตัวอย่างการสร้าง Group ใหม่ ดังรูปด้านล่าง
สำหรับสร้าง Event Hook ใหม่ รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุ)
name: String คือ ชื่อของ Hook (ต้องระบุ)
description: String คือ คำอธิบาย Hook
type: String คือ ประเภทของ Hook (ปัจจุบันมีประเภทเดียว คือ WEBHOOK)
enabled: Boolean คือ สถานะการเปิดใช้งาน Hook (trueเปิดการใช้งาน,falseปิดการใช้งาน [default])param: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Hook
Query Variables
Authorization: User Token
Response Type : Hook
ตอบกลับเป็น Object Type Hook ประกอบด้วย
projectid: String คือ รหัสของ Project
name: String คือ ชื่อของ Hook
hookid: String คือ รหัสของ Hook
description: String คือ คำอธิบายของ Hook
type: String คือ ประเภทของ Hook
enabled: Boolean คือ สถานะการทำงานของ Hook (trueเปิดให้ทำงาน,falseปิดการทำงาน)
param: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Hook
ตัวอย่างการสร้าง Hook ดังรูปด้านล่าง
สำหรับสร้าง Membership ใหม่ที่มีสิทธิ์เข้าถึงข้อมูลในแต่ละ Project ที่ตนเองไม่ได้เป็นเจ้าของ รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุค่า)
username: String คือ username ของผู้ใช้ที่เป็นสมาชิก (ต้องระบุค่า)
level: UserLevel คือ ระดับชั้นของการเป็นสมาชิก ได้แก่ (ดูรายละเอียดสิทธิ์ได้ที่ Member)
Guest(default)
Viewer
Editor
Master
Owner
Query Variables
Authorization: User Token
Response Type : Membership
ตอบกลับเป็น Object Type Membership ประกอบด้วย
createdtime: Timestamp คือ วันเวลาที่สร้าง Membership
level: UserLevel คือ ระดับสิทธิ์ของการเป็นสมาชิก มีทั้งหมด 5 ระดับ (ดูรายละเอียดสิทธิ์ได้ที่ Member)
5(Owner)
4(Master)
3(Editor)
2(Viewer)
1(Guest)
projectid: String คือ รหัสของ Project ที่ได้รับสิทธิ์
userid: String คือ รหัสของผู้ใช้ที่ได้รับสิทธิ์
username: String คือ username ของผู้ใช้ที่ได้รับสิทธิ์
ตัวอย่างการสร้าง Membership ใหม่ ดังรูปด้านล่าง
สำหรับสร้างข้อมูล Project ใหม่ รายละเอียดดังนี้
Arguments
projectname: String คือ ชื่อของ Project (ต้องระบุค่า)
billingaccountid: String คือ รหัสของ Billing Account
description: String คือ คำอธิบาย Project
tag: String คือ แท็กของ Project แบบค่าเดียว
hashtag: [String] คือ แท็กของ Project แบบหลายค่า
tags: TagsInput คือ แท็กของ Project ในรูปแบบ Key Value
Query Variables
Authorization: User Token
Response Type : Project
ตอบกลับเป็น Object Type Project ประกอบด้วย
projectname: String คือ ชื่อของ Project
projectid: String คือ รหัสของ Project
createdtime: Timestamp คือ วันเวลาที่สร้าง Project
description: String คือ คำอธิบาย Project
userlevel: String คือ ระดับสิทธิ์การเข้าถึงข้อมูลใน Project ของ User
tags: Json คือ แท็กของ Project ในรูปแบบ Key Value
tag: String คือ แท็กของ Project แบบค่าเดียว
hashtag: [String] คือ แท็กของ Project แบบหลายค่า
numberdevice: Int คือ จำนวน Device ภายใต้ Project
numbergroup: Int คือ จำนวน Group ภายใต้ Project
numberdeviceonline: Int คือ จำนวน Device ที่เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
numberdeviceoffline: Int c จำนวน Device ที่ไม่ได้เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
quota: Quota คือ สถานะของ Service แต่ละรายการที่มีโควต้าพร้อมใช้งาน ซึ่งประกอบด้วย
apicall: Boolean คือ บริการ REST API (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
connection: Boolean คือ บริการเชื่อมต่อ Platform ของ Device (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
message: Boolean คือ บริการ Real Time Message ผ่าน MQTT Protocol (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
shadowops: Boolean คือ บริการอ่าน/เขียน Shadow (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
store: Boolean คือ บริการเก็บข้อมูลใน Time Series Data (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
trigger: Boolean คือ บริการ Trigger & Action (Notification) (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
datasource: Boolean คือ ผลรวมขนาด Byte ของข้อมูลที่มีการใช้บริการผ่านapicall(trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
ตัวอย่างการสร้าง Project ใหม่ ดังรูปด้านล่าง
สำหรับสร้างข้อมูล Trigger ของ Device รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device (ต้องระบุค่า)
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: TriggerType คือ ประเภท Trigger (DEVICE,SHADOW) (ต้องระบุค่า)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW) (ต้องระบุค่า)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook ประกอบด้วย
key: String คือ ชื่อของตัวแปร
value: String คือ ค่าของตัวแปร
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
Query Variables
Authorization: User Token
Response Type : [Trigger]
ตอบกลับเป็น Array ของ Object Type Trigger ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับลบข้อมูล Trigger ทั้งหมดของ Device รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่ต้องการลบ Trigger (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : [Trigger]
ตอบกลับเป็น Array ของ Object Type Trigger ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับลบ Device ด้วย ID รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Device
ตอบกลับเป็น Object Type Device ที่ถูกลบ ประกอบด้วย
alias: String คือ ชื่อของ Device
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device ในรูปแบบค่าเดียว
hashtag: [String] คือ แท็กของ Device ในรูปแบบหลายค่า
tags: Json คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน)
ตัวอย่างการลบ Device ด้วย ID ดังรูปด้านล่าง
สำหรับลบข้อมูลบางส่วน Time Series Data Store ของ Device ตัวนั้น ๆ เช่น ข้อมูลช่วงที่ไม่ถูกต้อง รายละเอียดดังนี้
Arguments
feedid: String คือ รหัสของ Feed ซึ่งใช้ค่าเดียวกับdeviceid(ต้องระบุค่า)
attributes: [String] คือ ชื่่อฟิลด์ที่ต้องการลบข้อมูล (ถ้าไม่ระบุจะเป็นการลบข้อมูลทุกฟิลด์)
starttime: Timestamp คือ ช่วงเวลาเริ่มต้นที่ต้องการลบข้อมูล (ไม่ระบุ คือ ลบทั้งหมด)
endtime: Timestamp คือ ช่วงเวลาสิ้นสุดที่ต้องการลบข้อมูล (ไม่ระบุ คือ ลบทั้งหมด)
Query Variables
Authorization: User Token
Response Type : FeedData
ตอบกลับเป็น Object Type FeedData ประกอบด้วย
feedid: String คือ รหัสของ Feed
data: JSON คือ ข้อมูลในแต่ละฟิลด์
ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง
สำหรับลบ Group ด้วย ID รายละเอียดดังนี้
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 แบบค่าเดียว
hashtag: [String] คือ แท็กของ Group แบบหลายค่า
tags: Json คือ แท็กของ Group ในรูปแบบ Key Value
ตัวอย่างการลบ Group ด้วย ID ดังรูปด้านล่าง
สำหรับลบ Hook ด้วย ID รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุค่า)
hookid: String คือ รหัสของ Hook (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Hook
ตอบกลับเป็น Object Type Hook ที่ถูกลบ ประกอบด้วย
projectid: String คือ รหัสของ Project
name: String คือ ชื่อของ Hook
hookid: String คือ รหัสของ Hook
description: String คือ คำอธิบายของ Hook
type: String คือ ประเภทของ Hook
enabled: Boolean คือ สถานะการทำงานของ Hook (trueเปิดให้ทำงาน,falseปิดการทำงาน)
param: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Hook
ตัวอย่างการลบ Hook ดังรูปด้านล่าง
สำหรับลบ Membership ในแต้ละ Project รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุค่า)
username: String คือ username ของผู้ใช้ที่เป็นสมาชิกและต้องการลบ (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Membership
ตอบกลับเป็น Object Type Membership ที่ถูกลบ ประกอบด้วย
createdtime: Timestamp คือ วันเวลาที่สร้าง Membership
level: Int คือ ระดับชั้นของการเป็นสมาชิก
projectid: String คือ รหัสของ Project ที่ Membership อยู่ภายใต้
userid: Striing คือ รหัสของ User
username: String คือ username ของผู้ใช้ที่เป็นสมาชิก
ตัวอย่างการลบ Membership ดังรูปด้านล่าง
สำหรับลบ Project ด้วย ID รายละเอียดดังนี้
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
userlevel: String คือ ระดับสิทธิ์การเข้าถึงข้อมูลใน Project ของ User
tags: Json คือ แท็กของ Project ในรูปแบบ Key Value
tag: String คือ แท็กของ Project แบบค่าเดียว
hashtag: [String] คือ แท็กของ Project แบบหลายค่า
numberdevice: Int คือ จำนวน Device ภายใต้ Project
numbergroup: Int คือ จำนวน Group ภายใต้ Project
numberdeviceonline: Int คือ จำนวน Device ที่เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
numberdeviceoffline: Int c จำนวน Device ที่ไม่ได้เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
quota: Quota คือ สถานะของ Service แต่ละรายการที่มีโควต้าพร้อมใช้งาน ซึ่งประกอบด้วย
apicall: Boolean คือ บริการ REST API (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
connection: Boolean คือ บริการเชื่อมต่อ Platform ของ Device (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
message: Boolean คือ บริการ Real Time Message ผ่าน MQTT Protocol (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
shadowops: Boolean คือ บริการอ่าน/เขียน Shadow (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
store: Boolean คือ บริการเก็บข้อมูลใน Time Series Data (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
trigger: Boolean คือ บริการ Trigger & Action (Notification) (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
datasource: Boolean คือ ผลรวมขนาด Byte ของข้อมูลที่มีการใช้บริการผ่านapicall(trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
ตัวอย่างการลบ Project ด้วย ID ดังรูปด้านล่าง
สำหรับลบ Trigger รายตัว รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่เซ็ต Trigger ไว้ (ต้องระบุค่า)
triggerid: String คือ รหัสของ Trigger (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Trigger ที่ถูกลบ ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับปิดการใช้งาน Trigger ทั้งหมดที่อยู่ภายใต้ Device นั้น ๆ รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่เซ็ต Trigger ไว้ (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : [Trigger]
ตอบกลับเป็น Array ของ Object Type Trigger ที่ปิดการใช้งาน ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับเซ็ตปิดการใช้งาน Device แต่ละตัวด้วย DeviceID (เซ็ต enabled ให้เป็น false) รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่ต้องการปิดการใช้งาน (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Device ที่ถูกลบ ประกอบด้วย
alias: String คือ ชื่อของ Device
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device แบบค่าเดียว
hashtag: [String] คือ แท็กของ Device แบบหลายค่า
tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน)
ตัวอย่างการเซ็ตปิดการใช้งาน Device ดังรูปด้านล่าง
สำหรับปิดการใช้งาน Trigger รายตัว รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่เซ็ต Trigger ไว้ (ต้องระบุค่า)
triggerid: String คือ รหัสของ Trigger (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Trigger ที่ปิดการใช้งาน ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับเปิดการใช้งาน Trigger ทั้งหมดที่อยู่ภายใต้ Device นั้น ๆ รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่เซ็ต Trigger ไว้ (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : [Trigger]
ตอบกลับเป็น Array ของ Object Type Trigger ที่เปิดการใช้งาน ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับเซ็ตเปิดการใช้งาน Device แต่ละตัวด้วย DeviceID (เซ็ต enabled ให้เป็น true) รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่ต้องการเปิดการใช้งาน (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Device ที่ถูกลบ ประกอบด้วย
alias: String คือ ชื่อของ Device
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device แบบค่าเดียว
hashtag: [String] คือ แท็กของ Device แบบหลายค่า
tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน)
ตัวอย่างการเซ็ตเปิดการใช้งาน Device ดังรูปด้านล่าง
สำหรับเปิดการใช้งาน Trigger รายตัว รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่เซ็ต Trigger ไว้ (ต้องระบุค่า)
triggerid: String คือ รหัสของ Trigger (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Trigger ที่เปิดการใช้งาน ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับกำหนด 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
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device แบบค่าเดียว
hashtag: [String] คือ แท็กของ Device แบบหลายค่า
tags: Json คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน)
ตัวอย่างการกำหนด Group ให้ Devices ดังรูปด้านล่าง
สำหรับออกจากการเป็นสมาชิกในแต่ละ Project ที่ตนเองได้รับสิทธิ์ รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project ที่ต้องการออกจากการเป็นสมาชิก (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Membership
ตอบกลับเป็น Object Type Membership ที่ถูกลบ ประกอบด้วย
createdtime: Timestamp คือ วันเวลาที่ได้เป็นสมาชิก
level: UserLevel คือ ระดับสิทธิ์ของการเป็นสมาชิก มีทั้งหมด 5 ระดับ (ดูรายละเอียดสิทธิ์ได้ที่ Member)
5(Owner)
4(Master)
3(Editor)
2(Viewer)
1(Guest)
projectid: String คือ รหัสของ Project ที่ออกจากการเป็นสมาชิก
userid: String คือ รหัสของผู้ใช้ที่เป็นสมาชิก
username: String คือ username ของผู้ใช้ที่เป็นสมาชิก
ตัวอย่างการลบ Membership ดังรูปด้านล่าง
สำหรับย้าย Device ไปยัง Project ที่ต้องการ รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่ต้องการย้าย Project (ต้องระบุค่า)
devicesecret: String คือ รหัสลับของ Device ที่ต้องการย้าย Project
projectid: String คือ รหัสของ Project ที่ต้องย้าย Device ไปอยู่ภายใต้ (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : DeviceWithToken
ตอบกลับเป็น Object Type DeviceWithToken ที่ถูกลบ ประกอบด้วย
alias: String คือ ชื่อของ Device
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicetoken: [String] คือ รายการ Token ของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device แบบค่าเดียว
hashtag: [String] คือ แท็กของ Device แบบหลายค่า
tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน)
token: Token คือ 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 ไปยัง Project ดังรูปด้านล่าง
สำหรับ 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
การ Publish ข้อมูลในฟังก์ชันนี้ การเซ็ต Topic ไม่ต้องใส่ @msg นำหน้า
การ 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
การ Publish ข้อมูลในฟังก์ชันนี้ การเซ็ต Topic ไม่ต้องใส่ @msg นำหน้า
การ Subscribe ข้อมูลที่มาจากฟังก์ชัน PublishMessageToGroup จะมี Prefix Topic เป็น @msg เช่น
publishMessageToGroup (groupid: "G272489159405", topic: "home/rooms", payload: "open" )
การเซ็ต Topic ตอน Subscribe จะเป็นดังนี้ @msg/home/rooms
สำหรับซิงค์ข้อมูลสถานะการเชื่อมต่อ Platform ของ Device ใช้ในกรณีที่มีการนำสถานะของ Device ไปแสดงบน UI แล้วสถานะไม่อัพเดทอัตโนมัติ ให้เรียกฟังก์ชันนี้เพื่อซิงค์ข้อมูล รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่ต้องการซิงค์ข้อมูล (ต้องระบุค่า)
Query Variables
Authorization: User Token
Response Type : Result
ตอบกลับเป็น Object Type Result ประกอบด้วย
code: Int คือ รหัสตอบกลับ (Response Code) ถ้าเป็น 200 คือ ดำเนินการสำเร็จ
text: String คือ ข้อความตอบกลับ (Response Text)
ตัวอย่างการซิงค์ข้อมูลสถานะการเชื่อมต่อ Platform ของ Device ดังรูปด้านล่าง
สำหรับยกเลิกสิทธิ์ 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 ดังรูปด้านล่าง
สำหรับอัพเดทข้อมูล Trigger ครั้งละหลาย ๆ ตัว รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device ที่เซ็ต Trigger ไว้ (ต้องระบุค่า)
trigger: [TriggerInput] คือ Array ของ Object Type Trigger ทั้งหมด (ต้องระบุให้ครบทุกค่า) ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
Query Variables
Authorization: User Token
Response Type : [Trigger]
ตอบกลับเป็น Array ของ Object Type Trigger ที่เปิดการใช้งาน ประกอบด้วย
triggerid: String คือ รหัสของ Trigger
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการใช้งาน ดังรูปด้านล่าง
สำหรับถอด 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
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device แบบค่าเดียว
hashtag: [String] คือ แท็กของ Device แบบหลายค่า
tags: Json คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน)
ตัวอย่างการถอด Devices ออกจาก Group ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลทั่วไปของ Device รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device (ต้องระบุ)
deviceinfo: DeviiceInfo คือ Object Type ที่เป็นรายละเอียดของ Device ประกอบด้วย
alias: String คือ ชื่อของ Device (ถ้าไม่ระบุจะถูกกำหนดเป็นค่าเดียวกับ deviceid ใช้สำหรับอ้างอิงถึง Device)
description: String คือ คำอธิบาย Device
tag: String คือ แท็กของ Device แบบค่าเดียว
hashtag: [String] คือ แท็กของ Device แบบหลายค่า
tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value
Query Variables
Authorization: User Token
Response Type : Device
ตอบกลับเป็น Object Type Device ประกอบด้วย
alias: String คือ ชื่อของ Device
createdtime: Timestamp คือ วันเวลาที่สร้าง Device
credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย
secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication
description: String คือ คำอธิบาย Device
deviceid: String คือ รหัสของ Device
devicesecret: String คือ รหัสลับของ Device
groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้
groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้
projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้
status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0offline,1online)
tag: String คือ แท็กของ Device แบบค่าเดียว
hashtag: [String] คือ แท็กของ Device แบบหลายค่า
tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value
enabled: Boolean คือ สถานะการเปิดใช้งาน Device (trueเปิดการใช้งาน [default],falseปิดการใช้งาน)
banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (trueถูกรระงับใช้งาน,falseไม่ถูกรระงับใช้งาน)
ตัวอย่างการแก้ไขข้อมูลทั่วไปของ Device ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลทั่วไปของ Group รายละเอียดดังนี้
Arguments
groupid: String คือ รหัสของ Group (ต้องระบุ)
groupname: String คือ ชื่อของ Group ที่ต้องการแก้ไข
description: String คือ คำอธิบาย Group ที่ต้องการแก้ไข
tag: String คือ แท็กของ Group แบบค่าเดียว
hashtag: [String] คือ แท็กของ Group แบบหลายค่า
tags: JSON คือ แท็กของ Group ในรูปแบบ Key Value
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 แบบค่าเดียว
devicecount: Int คือ จำนวน Device ใน Group
hashtag: [String] คือ แท็กของ Group แบบหลายค่า
tags: Json คือ แท็กของ Group ในรูปแบบ Key Value
ตัวอย่างการแก้ไขข้อมูลทั่วไปของ 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 คือ ชื่อของ Hook
hookid: String คือ รหัสของ Hook
description: String คือ คำอธิบายของ Hook
type: String คือ ประเภทของ Hook
enabled: Boolean คือ สถานะการทำงานของ Hook (trueเปิดให้ทำงาน,falseปิดการทำงาน)
param: JSON คือ Parameter ต่างๆ ที่ตั้งค่าไว้ใน Hook
ตัวอย่างการแก้ไขข้อมูลของ Event Hook ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลของ Membership รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุค่า)
username: String คือ username ของผู้ใช้ที่เป็นสมาชิก (ต้องระบุค่า)
level: UserLevel คือ ระดับชั้นของการเป็นสมาชิก ได้แก่ (ต้องระบุค่า) (ดูรายละเอียดสิทธิ์ได้ที่ Member)
Guest
Viewer
Editor
Master
Owner
Query Variables
Authorization: User Token
Response Type : Membership
ตอบกลับเป็น Object Type Membership ประกอบด้วย
createdtime: Timestamp คือ วันเวลาที่สร้าง Membership
level: UserLevel คือ ระดับสิทธิ์ของการเป็นสมาชิก มีทั้งหมด 5 ระดับ (ดูรายละเอียดสิทธิ์ได้ที่ Member)
5(Owner)
4(Master)
3(Editor)
2(Viewer)
1(Guest)
projectid: String คือ รหัสของ Project ที่ได้รับสิทธิ์
userid: String คือ รหัสของผู้ใช้ที่ได้รับสิทธิ์
username: String คือ username ของผู้ใช้ที่ได้รับสิทธิ์
ตัวอย่างการแก้ไขข้อมูลของ Membership ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลทั่วไปของ Project รายละเอียดดังนี้
Arguments
projectid: String คือ รหัสของ Project (ต้องระบุค่า)
projectname: String คือ ชื่อของ Project
description: String คือ คำอธิบาย Project
tag: String คือ แท็กของ Project แบบค่าเดียว
hashtag: [String] คือ แท็กของ Project แบบหลายค่า
tags: TagsInput คือ แท็กของ Project ในรูปแบบ Key Value
Query Variables
Authorization: User Token
Response Type : Project
ตอบกลับเป็น Object Type Project ประกอบด้วย
projectname: String คือ ชื่อของ Project
projectid: String คือ รหัสของ Project
createdtime: Timestamp คือ วันเวลาที่สร้าง Project
description: String คือ คำอธิบาย Project
tags: Json คือ แท็กของ Project ในรูปแบบ Key Value
tag: String คือ แท็กของ Project แบบค่าเดียว
hashtag: [String] คือ แท็กของ Project แบบหลายค่า
numberdevice: Int คือ จำนวน Device ภายใต้ Project
numbergroup: Int คือ จำนวน Group ภายใต้ Project
numberdeviceonline: Int คือ จำนวน Device ที่เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
numberdeviceoffline: Int c จำนวน Device ที่ไม่ได้เชื่อมต่อ Platform อยู่ ณ ขณะนั้นภายใต้ Project
quota: Quota คือ สถานะของ Service แต่ละรายการที่มีโควต้าพร้อมใช้งาน ซึ่งประกอบด้วย
apicall: Boolean คือ บริการ REST API (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
connection: Boolean คือ บริการเชื่อมต่อ Platform ของ Device (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
message: Boolean คือ บริการ Real Time Message ผ่าน MQTT Protocol (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
shadowops: Boolean คือ บริการอ่าน/เขียน Shadow (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
store: Boolean คือ บริการเก็บข้อมูลใน Time Series Data (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
trigger: Boolean คือ บริการ Trigger & Action (Notification) (trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
datasource: Boolean คือ ผลรวมขนาด Byte ของข้อมูลที่มีการใช้บริการผ่านapicall(trueมีโควต้าพร้อมใช้งาน,falseใช้งานไม่ได้หรือไม่มีโควต้า)
ตัวอย่างการแก้ไขข้อมูลทั่วไปของ 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 รายตัว รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Devcie (ต้องระบุ)
triggerid: String คือ รหัสของ Trigger (ต้องระบุ)
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
Query Variables
Authorization: User Token
Response Type : Trigger
ตอบกลับเป็น Object Type Trigger ประกอบด้วย
triggerid: String คือ รหัสของ Trigger (ต้องระบุ)
triggername: String คือ ชื่อของ Trigger
type: String คือ ประเภท Trigger (DEVICE,SHADOW)
event: String คือ ประของเหตุการณ์ที่เกิด Trigger (STATUSCHANGEDคู่กับ Trigger ประเภทDEVICE,UPDATEDคู่กับ Trigger ประเภทSHADOW)
condition: String คือ เงื่อนไขการเกิด Trigger
action: String คือ Event Hook ที่จะรับไปดำเนินการต่อเมื่อเกิด Trigger
context: [ActionVarType] คือ ตัวแปร Key-Value ที่จะส่งค่าไปใช้งานต่อที่ Event Hook
enabled: Boolean คือ สถานะการเปิดใช้งาน (trueเปิดใช้งาน,falseปิดใช้งาน)
ตัวอย่างการแก้ไขข้อมูล Trigger ของ Device ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูลทั่วไปของ User รายละเอียดดังนี้
Arguments
fullname: String คือ ชื่อ-นามสกุล ผู้ใช้
Query Variables
Authorization: User Token
Response Type : User
ตอบกลับเป็น Object Type User ประกอบด้วย
username: String คือ ชื่อผู้ใช้
enail: String คือ อีเมลผู้ใช้
profile: Profile คือ Object Type Profile ประกอบด้วย
fullname: String คือ ชื่อ-นามสกุล
phonenumber: String คือ หมายเลขโทรศัพท์
organization: String คือ ชื่อหน่วยงาน/องค์กร/บริษัท ที่สังกัด
created: String คือ วันเวลาที่ลงทะเบียน
userid: String คือ รหัสของ User
ตัวอย่างการแก้ไขข้อมูลทั่วไปของ User ดังรูปด้านล่าง
สำหรับแก้ไขข้อมูล Shadow ของ Device รายละเอียดดังนี้
Arguments
deviceid: String คือ รหัสของ Device (ต้องระบุค่า)
data: JSON คือ Shadow ที่ต้องการเขียน ซึ่งจะอยู่ในรูปแบบ JSON
timestamp: Timestamp คือ วันเวลาที่ข้อมูลมีการเปลี่ยนแปลง (ถ้าไม่ระบุจะเป็นเวลาปัจจุบันที่เขียน)
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\" }"