QUERIES


จะเป็น Function ที่ใช้ในการดึงข้อมูลเพียงอย่างเดียว ประกอบด้วย


BillingAccountProfile

สำหรับเข้าถึงข้อมูล Billing Account (ข้อมูลที่เกี่ยวข้องกับการคำนวณปริมาณการใช้บริการและค่าใช้จ่านย) แต่ละ ID รายละเอียดดังนี้

BillingAccountProfile ( billingaccountid ):

Arguments

  • billingaccountid: String คือ รหัสของ Billing Account (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : BillingAccountProfile

ตอบกลับเป็น Object Type BillingAccountProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • name: String คือ ชื่อของ Billing Account

  • mode: String คือ โหมดของ Billing Account

  • allow_apicall: Boolean คือ การอนุญาตใช้งาน API Call (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_connection: Boolean คือ การอนุญาตใช้งาน Device Online (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_datasource: Boolean คือ การอนุญาตใช้งาน Datasource (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_message: Boolean คือ การอนุญาตใช้งาน Real Time Message (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_shadowops: Boolean คือ การอนุญาตใช้งาน Shadow Read/Write (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_store: Boolean คือ การอนุญาตใช้งาน Time Series Data Store (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_trigger: Boolean คือ การอนุญาตใช้งาน Trigger & Action (true ใช้งานได้, false ใช้งานไม่ได้)

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_billingaccountprofile.png

BillingAccountProjectInfo

สำหรับเข้าถึงข้อมูลรายการ Project ที่สังกัดอยู่ภายใต้ Billing Account ID นั้น ๆ รายละเอียดดังนี้

BillingAccountProjectInfo ( billingaccountid ):

Arguments

  • billingaccountid: String คือ รหัสของ Billing Account (ต้องระบุ)

Query Variables

Authorization : User Token

Response Type : [ProjectID]

ตอบกลับเป็น Array ของ Object Type ProjectID ประกอบด้วย

  • projectid: String คือ รหัสของ Project

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_billingaccountprojectinfo.png

BillingAccountResourceUsageProfile

สำหรับเข้าถึงข้อมูลการจำกัดจำนวนการใช้งานและปริมาณการใช้งาน ณ ปัจจุบันของแต่และ Billing Account ID นั้น ๆ รายละเอียดดังนี้

BillingAccountResourceUsageProfile ( billingaccountid ):

Arguments

  • billingaccountid: String คือ รหัสของ Billing Account (ต้องระบุ)

Query Variables

Authorization : User Token

Response Type : BillingAccountResourceUsageProfile

ตอบกลับเป็น Object Type BillingAccountResourceUsageProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • max_device_per_billing: Int คือ จำนวน Device สูงสุดที่สามารถสร้างได้ในแต่ละ Billing Account

  • max_member_per_project: Int คือ จำนวนสมาชิกสูงสุดที่สามารถ Invite ได้ในแต่ละ Project

  • max_project_per_billing: Int คือ จำนวน Project สูงสุดที่สามารถสร้างได้ในแต่ละ Billing Account

  • use_device: Int คือ จำนวน Device ที่สร้างไปแล้วในแต่ละ Billing Account

  • use_project: Int คือ จำนวน Project ที่สร้างไปแล้วในแต่ละ Billing Account

  • detail: JSON คือ รายละเอียดการใช้งานแยกตาม Project

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_billingaccountresourceusageprofile.png

BillingAccountSubscriptionProfile

สำหรับเข้าถึงข้อมูล Package Subscription ปัจจุบันของแต่และ Billing Account ID นั้น ๆ รายละเอียดดังนี้

BillingAccountSubscriptionProfile ( billingaccountid ):

Arguments

  • billingaccountid: String คือ รหัสของ Billing Account (ต้องระบุ)

Query Variables

Authorization : User Token

Response Type : BillingAccountSubscriptionProfile

ตอบกลับเป็น Object Type BillingAccountSubscriptionProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • subscriptionname: String คือ ชื่อของ Subscription

  • billtype: String คือ ประเภทของ Billing (PREPAID หรือ POSTPAID)

  • status: String คือ สถานะการเปิดใช้งาน (ENABLED หรือ DISABLED)

  • packageid: String คือ String คือ รหัสของ Package ใช้งาน

  • packagename: String คือ ชื่อของ Package ใช้งาน

  • total_cycle: Int คือ จำนวนรอบการใช้งานได้ทั้งหมด

  • current_cycle: Int คือ จำนวนรอบที่ใช้งานไปแล้ว ณ ปัจจุบัน

  • subscription_start_at: String คือ วันเวลาทรี่เริ่มต้นใช้งาน Subscription

  • current_cycle_start_at: String คือ วันเวลาที่เริ่มรอบการใช้ปัจจุบัน

  • current_cycle_end_at: String คือ วันเวลาที่สิ้นสุดรอบการใช้ปัจจุบัน

  • max_apicall: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน API Call ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_connection: Float คือ จำนวนเวลาสะสมสูงสุดที่ Device Online ได้ ของรอบบิลปัจจุบัน (หน่วยเป็น วินาที)

  • max_datasource: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Datasource ของรอบบิลปัจจุบัน (หน่วยเป็น Byte)

  • max_message: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Real Time Message ของรอบบิลปัจจุบัน (หน่วยเป็น Message)

  • max_shadowops: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Shadow Read/Write ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_store: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Time Series Data Store ของรอบบิลปัจจุบัน (หน่วยเป็น Point-Day)

  • max_trigger: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Trigger & Action ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_device_per_billing: Int คือ จำนวน Device สูงสุดที่สามารถสร้างได้ในแต่ละ Billing Account

  • max_member_per_project: Int คือ จำนวนสมาชิกสูงสุดที่สามารถ Invite ได้ในแต่ละ Project

  • max_project_per_billing: Int คือ จำนวน Project สูงสุดที่สามารถสร้างได้ในแต่ละ Billing Account

  • note: String คือ หมายเหตุ

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_billingaccountsubscriptionprofile.png

BillingLog

สำหรับเข้าถึงรายการข้อมูล Log ต่าง ๆ จากระบบในแต่ละ Billing Account ID นั้น ๆ รายละเอียดดังนี้

BillingLog ( billingaccountid, begintime, endtime, filter, limit, offset, direction ):

Arguments

  • billingaccountid: String คือ รหัสของ Billing Account (ต้องระบุ)

  • begintime: String คือ วันที่เริ่มต้นของการเกิดข้อมูล (ต้องระบุ)

  • endtime: String คือ วันที่สิ้นสุดของการเกิดข้อมูล (ต้องระบุ)

  • filter: BillingLogFilterKey คือ Object Type ของตัวกรองที่ใช้ระบุเพิ่มเติมในการค้นหา ประกอบด้วย

    • event: [String] คือ ชื่อเหตุการณ์ที่ทำให้เกิด Log ระบุได้หลายชื่อ

    • level: [LogLevel] คือ ระดับการแจ้ง Log ระบุได้หลายระดับ

    • projectid: String คือ รหัสของ Project ที่เกิด Log

  • limit: Int คือ จำกัดจำนวนข้อมูลที่ดึงออกมา

  • offset: Int คือ ลำดับรายการของข้อมูลที่เริ่มดึงข้อมูล

  • direction: SortDirection คือ การเรียงลำดับข้อมูล (ASC น้อยไปมาก, DESC มากไปน้อย)

Query Variables

Authorization : User Token

Response Type : [BillingLog]

ตอบกลับเป็น Array ของ Object Type BillingLog ประกอบด้วย

  • time: Timestamp คือ วันเวลาที่เกิด Log

  • billingaccountid: String คือ รหัสของ Billing Account

  • type: String คือ ประเภทของ Log

  • level: String คือ ระดับการแจ้ง Log

  • event: String คือ ชื่อเหตุการณ์ที่ทำให้เกิด Log

  • projects: [String] คือ Array รหัสของ Project

  • data: JSON คือ รายละเอียดข้อมูลของ Log

  • annotation: String คือ ข้อความอธิบาย Log

  • note: String คือ หมายเหตุ

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_billinglog.png

BillingMetricUsageProfile

สำหรับเข้าถึงข้อมูลการใช้งาน Service ต่าง ๆ ในรอบบิลปัจจุบันของแต่และ Billing Account ID นั้น ๆ รายละเอียดดังนี้

BillingMetricUsageProfile ( billingaccountid ):

Arguments

  • billingaccountid: String คือ รหัสของ Billing Account (ต้องระบุ)

Query Variables

Authorization : User Token

Response Type : BillingMetricUsageProfile

ตอบกลับเป็น Object Type BillingMetricUsageProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • name: String คือ ชื่อของ Billing Account

  • mode: String คือ โหมดของ Billing Account

  • max_apicall: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน API Call ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_connection: Float คือ จำนวนเวลาสะสมสูงสุดที่ Device Online ได้ ของรอบบิลปัจจุบัน (หน่วยเป็น วินาที)

  • max_datasource: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Datasource ของรอบบิลปัจจุบัน (หน่วยเป็น Byte)

  • max_message: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Real Time Message ของรอบบิลปัจจุบัน (หน่วยเป็น Message)

  • max_shadowops: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Shadow Read/Write ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_store: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Time Series Data Store ของรอบบิลปัจจุบัน (หน่วยเป็น Point-Day)

  • max_trigger: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Trigger & Action ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • use_apicall: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน API Call ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • use_connection: Float คือ จำนวนเวลาที่ Device Online ไปแล้ว ของรอบบิลปัจจุบัน (หน่วยเป็น วินาที)

  • use_datasource: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Datasource ของรอบบิลปัจจุบัน (หน่วยเป็น Byte)

  • use_message: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Real Time Message ของรอบบิลปัจจุบัน (หน่วยเป็น Message)

  • use_shadowops: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Shadow Read/Write ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • use_store: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Time Series Data Store ของรอบบิลปัจจุบัน (หน่วยเป็น Point-Day)

  • use_trigger: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Trigger & Action ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • usage_begin_at: String คือ วันเวลาที่รอบบิลเริ่มนับการใช้งาน

  • usage_update_at: String คือ วันเวลาที่มีการอัพเดทข้อมูลล่าสุด

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_billingmetricusageprofile.png

Device

สำหรับเข้าถึงข้อมูล Device แต่ละตัวด้วย ID รายละเอียดดังนี้

device ( deviceid ):

Arguments

  • deviceid: String คือ รหัสของ Device (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Device

ตอบกลับเป็น Object Type Device ประกอบด้วย

  • alias: String คือ ชื่อของ Device

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Device

  • 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 (0 offline, 1 online)

  • hashtag: [String] คือ แท็กของ Device แบบหลายค่า

  • tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value

  • enabled: Boolean คือ สถานะการเปิดใช้งาน Device (true เปิดการใช้งาน [default], false ปิดการใช้งาน)

  • banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (true ถูกรระงับใช้งาน, false ไม่ถูกรระงับใช้งาน [default])

  • credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย

    • secret: String คือ รหัสลับของ Device

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_device.png

DeviceList

สำหรับเข้าถึงรายการข้อมูล Device ตามตัวกรองประเภทต่างๆ รายละเอียดดังนี้

deviceList ( fliter, orderBy, direction, limit, offset ):

Arguments

  • fliter: DeviceFilterKey คือ Object Type ของตัวกรองที่ใช้ระบุในการค้นหา ประกอบด้วย

    • projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้ (ต้องระบุ)

    • groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้

    • alias: String คือ ชื่อของ Device

    • hashtag: [String] คือ แท็กของ Device แบบหลายค่า

    • tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value

    • status: Boolean สถานะการเชื่อมต่อ Platform ของ Device (true online, false offline)

  • orderBy: [DeviceSortKey] คือ ตัวเลือกของฟิลด์ที่ระบุให้เป็นตัวเรียงลำดับข้อมูล ประกอบด้วย

    • createdtime เรียงตามวันที่เวลาที่สร้าง Device

    • alias (เรียงตามชื่อของ Device)

    • deviceid (เรียงตามรหัสของ Device)

    • status (เรียงตามสถานะการเชื่อมต่อ Platformของ Device)

  • direction: OrderDirection คือ ตัวเลือกของลักษณะการเรียงลำดับ ประกอบด้วย

    • ASC (เรียงลำดับจากน้อยไปมาก)

    • DESC (เรียงลำดับจากมากไปน้อย)

  • limit: Int คือ จำกัดจำนวนข้อมูลที่จะดึงออกมา

  • offset: Int คือ ลำดับรายการของข้อมูลที่เริ่มดึงข้อมูล

Query Variables

Authorization: User Token

Response Type : [Device]

ตอบกลับเป็น Array ของ Object Type Device ประกอบด้วย

  • alias: String คือ ชื่อของ Device

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Device

  • 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 (0 offline, 1 online)

  • hashtag: [String] คือ แท็กของ Device แบบหลายค่า

  • tags: JSON คือ แท็กของ Device ในรูปแบบ Key Value

  • enabled: Boolean คือ สถานะการเปิดใช้งาน Device (true เปิดการใช้งาน [default], false ปิดการใช้งาน)

  • banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (true ถูกรระงับใช้งาน, false ไม่ถูกรระงับใช้งาน [default])

  • credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย

    • secret: String คือ รหัสลับของ Device

ตัวอย่างการเข้าถึงรายการข้อมูล ดังรูปด้านล่าง

_images/gql2_devicelist.png

DeviceToken

สำหรับเข้าถึงข้อมูล Token ของ Device รายละเอียดดังนี้

deviceToken ( deviceid ):

Arguments

  • deviceid: String คือ รหัสของ Device (ต้องระบุค่า)

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

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_devicetoken.png

Feed

สำหรับเข้าถึงฟิลด์ข้อมูลของ Device ที่มีการตั้งค่าให้เก็บข้อมูลลง Time Series Data Store (เก็บข้อมูลย้อนหลัง) รายละเอียดดังนี้

feed ( feedid ):

Arguments

  • feedid: String คือ รหัสของ Feed ซึ่งใช้ค่าเดียวกับ deviceid (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Feed

ตอบกลับเป็น Object Type Feed ประกอบด้วย

  • feedid: String คือ รหัสของ Feed

  • attributes: JSON คือ รายการฟิลด์ข้อมูล

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_feed.png

FeedData

สำหรับเข้าถึงข้อมูลแต่ละฟิลด์ใน Time Series Data Store ของ Device รายละเอียดดังนี้

feedData ( feedid, attributes, starttime, endtime, aggregator, sampling, pointlimit, format ):

Arguments

  • feedid: String คือ รหัสของ Feed ซึ่งใช้ค่าเดียวกับ deviceid (ต้องระบุค่า)

  • attributes: [String] คือ ชื่่อฟิลด์ที่ต้องการข้อมูล (ถ้าไม่ระบุจะเป็นการดึงข้อมูลทุกฟิลด์)

  • starttime: Timestamp คือ ช่วงเวลาเริ่มต้นที่ต้องการข้อมูล

  • endtime: Timestamp คือ ช่วงเวลาสิ้นสุดที่ต้องการข้อมูล

  • aggregator: String คือ การตั้งค่าการรวมหรือประมวลผลข้อมูลในรูปแบบต่างๆ ก่อนส่งจุดข้อมูลกลับมา

  • sampling: String คือ เงิ่อนไขการดึงตัวอย่างชุดข้อมูล

  • pointlimit: Int คือ จำกัดจำนวนจุดข้อมูล

  • format: DataFormat คือ รูปแบบข้อมูลที่ส่งกลับ (JSON ค่า Default, TABLE, CSV)

Query Variables

Authorization: User Token

Response Type : FeedData

ตอบกลับเป็น Object Type FeedData ประกอบด้วย

  • feedid: String คือ รหัสของ Feed

  • data: JSON คือ ข้อมูลในแต่ละฟิลด์ตามรูปแบบที่่เลือกไป

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_feeddata.png

Group

สำหรับเข้าถึงข้อมูล Group แต่ละ Group ด้วย ID รายละเอียดดังนี้

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 ที่ Group อยู่ภายใต้

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Group

  • description: String คือ คำอธิบาย Group

  • devicecount: Int คือ จำนวน Device ที่อยู่ภายใต้ Group

  • hashtag: [String] คือ แท็กของ Group แบบหลายค่า

  • tags: Json คือ แท็กของ Group ในรูปแบบ Key Value

ตัวอย่างการเข้าถึงข้อมูล Group ดังรูปด้านล่าง

_images/gql2_group.png

GroupList

สำหรับเข้าถึงรายการข้อมูล Group ตามตัวกรองประเภทต่างๆ รายละเอียดดังนี้

groupList ( fliter, orderBy, direction, limit, offset ):

Arguments

  • fliter: GroupFilterKey คือ Object Type ของตัวกรองที่ใช้ระบุในการค้นหา ประกอบด้วย

    • projectid: String คือ รหัสของ Project ที่ Group อยู่ภายใต้ (ต้องระบุ)

    • groupname: String คือ ชื่อของ Group

    • hashtag: [String] คือ แท็กของ Group แบบหลายค่า

    • tags: TagsInput คือ แท็กของ Group ในรูปแบบ Key Value

  • orderBy: [GroupSortKey] คือ ตัวเลือกของฟิลด์ที่ระบุให้เป็นตัวเรียงลำดับข้อมูล ประกอบด้วย

    • groupname (เรียงตามชื่อของ Group)

    • groupid (เรียงตามรหัสของ Group)

    • createdtime เรียงตามวันที่เวลาที่สร้าง Device

  • direction: OrderDirection คือ ตัวเลือกของลักษณะการเรียงลำดับ ประกอบด้วย

    • ASC (เรียงลำดับจากน้อยไปมาก)

    • DESC (เรียงลำดับจากมากไปน้อย)

  • limit: Int คือ จำกัดจำนวนข้อมูลที่จะดึงออกมา

  • offset: Int คือ ลำดับรายการของข้อมูลที่เริ่มดึงข้อมูล

Query Variables

Authorization: User Token

Response Type : [Group]

ตอบกลับเป็น Array ของ Object Type Group ประกอบด้วย

  • groupid: String คือ รหัสของ Group

  • groupname: String คือ ชื่อของ Group

  • projectid: String คือ รหัสของ Project ที่ Group อยู่ภายใต้

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Group

  • description: String คือ คำอธิบาย Group

  • devicecount: Int คือ จำนวน Device ที่อยู่ภายใต้ Group

  • hashtag: [String] คือ แท็กของ Group แบบหลายค่า

  • tags: Json คือ แท็กของ Group ในรูปแบบ Key Value

ตัวอย่างการเข้าถึงข้อมูล Group ดังรูปด้านล่าง

_images/gql2_grouplist.png

Hook

สำหรับเข้าถึงรายการข้อมูล Event Hook ที่มีการสรา้งไว้ ตามตัวกรองที่กำหนด รายละเอียดดังนี้

hook ( projectid, hookid ):

Arguments

  • projectid: String คือ รหัสของ Project ที่ Hook อยู่ภายใต้ (ต้องระบุ)

  • hookid: String คือ รหัสของ Hook

Query Variables

Authorization: User Token

Response Type : [Hook]

ตอบกลับเป็น Array ของ Object Type Hook ประกอบด้วย

  • projectid: String คือ รหัสของ Project ที่ Group อยู่ภายใต้

  • name: String คือ ชื่อของ Hook

  • hookid: String คือ รหัสของ Hook

  • description: String คือ คำอธิบาย Hook

  • type: String คือ ประเภทของ Hook (ปัจจุบันมีแค่ 1 ประเภท คือ WEBHOOK ผู้ใช้จึงไม่ต้องเลือก)

  • enabled: Boolean คือ สถานะการเปิดใช้งาน Hook (true เปิดการใช้งาน [default], false ปิดการใช้งาน)

  • param: Json คือ ตัวแปรต่างๆ ที่ใช้ตั้งค่าเพื่อส่งไปยังเว็บปลายทาง

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_hook.png

Membership

สำหรับเข้าถึงข้อมูลสมาชิกที่มีสิทธิ์เข้าถึงข้อมูลในแต่ละ Project ตามระดับสิทธิ์ที่ได้รับ รายละเอียดดังนี้

membership ( projectid ):

Arguments

  • projectid: String คือ รหัสของ Project (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : [Membership]

ตอบกลับเป็น Array ของ Object Type Membership ประกอบด้วย

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Membership

  • level: String คือ ระดับสิทธิ์ของการเป็นสมาชิก มีทั้งหมด 5 ระดับ (ดูรายละเอียดสิทธิ์ได้ที่ Member)

    • 5 (Owner)

    • 4 (Master)

    • 3 (Editor)

    • 2 (Viewer)

    • 1 (Guest)

  • projectid: String คือ รหัสของ Project ที่ได้รับสิทธิ์

  • userid: String คือ รหัสของผู้ใช้ที่ได้รับสิทธิ์

  • username: String คือ username ของผู้ใช้ที่ได้รับสิทธิ์

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_projectmembership.png

MyBillingAccount

สำหรับเข้าถึงข้อมูลรายการ Billing Account ทั้งหมดของผู้ใช้ที่เป็นเข้าของ User Token รายละเอียดดังนี้

MyBillingAccount ():

Arguments

ไม่มี ระบบจะตรวจสอบจาก User Token ว่าเป็นผู้ใช้รายไหน

Query Variables

Authorization: User Token

Response Type : [BillingMembershipProfile]

ตอบกลับเป็น Array ของ Object Type BillingMembershipProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • name: String คือ ชื่อของ Billing Account

  • mode: String คือ โหมดของ Billing Account

  • status: String คือ สถานะการเปิดใช้งาน (ENABLED หรือ DISABLED)

  • level: Int คือ ระดับสิทธิ์ในการเข้าถึงข้อมูลได้ มีทั้งหมด 3 ระดับ

    • 3 (Owner)

    • 2 (Master)

    • 1 (Viewer)

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_mybillingaccount.png

Project

สำหรับเข้าถึงข้อมูล Project ด้วย ID รายละเอียดดังนี้

project ( projectid ):

Arguments (ต้องระบุอย่างน้อย 1 ค่า)

  • 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

  • tags: JSON คือ แท็กของ Project ในรูปแบบ Key Value

  • 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 ใช้งานไม่ได้หรือไม่มีโควต้า)

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_project.png

ProjectBillingAccountInfo

สำหรับเข้าถึงข้อมูล Billing Account ของแต่ละ Project รายละเอียดดังนี้

ProjectBillingAccountInfo ( projectid ):

Arguments

  • projectid: String คือ รหัสของ Project (ต้องระบุ)

Query Variables

Authorization : User Token

Response Type : BillingAccountProfile

ตอบกลับเป็น Object Type BillingAccountProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • name: String คือ ชื่อของ Billing Account

  • mode: String คือ โหมดของ Billing Account

  • allow_apicall: Boolean คือ การอนุญาตใช้งาน API Call (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_connection: Boolean คือ การอนุญาตใช้งาน Device Online (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_datasource: Boolean คือ การอนุญาตใช้งาน Datasource (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_message: Boolean คือ การอนุญาตใช้งาน Real Time Message (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_shadowops: Boolean คือ การอนุญาตใช้งาน Shadow Read/Write (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_store: Boolean คือ การอนุญาตใช้งาน Time Series Data Store (true ใช้งานได้, false ใช้งานไม่ได้)

  • allow_trigger: Boolean คือ การอนุญาตใช้งาน Trigger & Action (true ใช้งานได้, false ใช้งานไม่ได้)

ตัวอย่างการเข้าถึงข้อมูล Project Billing ดังรูปด้านล่าง

_images/gql2_projectbillingaccountinfo.png

ProjectBillingAccountSubscriptionProfile

สำหรับเข้าถึงข้อมูล Package Subscription ปัจจุบันของแต่และ Project รายละเอียดดังนี้

ProjectBillingAccountSubscriptionProfile ( projectid ):

Arguments

  • projectid: String คือ รหัสของ Project (ต้องระบุ)

Query Variables

Authorization : User Token

Response Type : BillingAccountSubscriptionProfile

ตอบกลับเป็น Object Type BillingAccountSubscriptionProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • subscriptionname: String คือ ชื่อของ Subscription

  • billtype: String คือ ประเภทของ Billing (PREPAID หรือ POSTPAID)

  • status: String คือ สถานะการเปิดใช้งาน (ENABLED หรือ DISABLED)

  • packageid: String คือ String คือ รหัสของ Package ใช้งาน

  • packagename: String คือ ชื่อของ Package ใช้งาน

  • total_cycle: Int คือ จำนวนรอบการใช้งานได้ทั้งหมด

  • current_cycle: Int คือ จำนวนรอบที่ใช้งานไปแล้ว ณ ปัจจุบัน

  • subscription_start_at: String คือ วันเวลาทรี่เริ่มต้นใช้งาน Subscription

  • current_cycle_start_at: String คือ วันเวลาที่เริ่มรอบการใช้ปัจจุบัน

  • current_cycle_end_at: String คือ วันเวลาที่สิ้นสุดรอบการใช้ปัจจุบัน

  • max_apicall: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน API Call ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_connection: Float คือ จำนวนเวลาสะสมสูงสุดที่ Device Online ได้ ของรอบบิลปัจจุบัน (หน่วยเป็น วินาที)

  • max_datasource: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Datasource ของรอบบิลปัจจุบัน (หน่วยเป็น Byte)

  • max_message: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Real Time Message ของรอบบิลปัจจุบัน (หน่วยเป็น Message)

  • max_shadowops: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Shadow Read/Write ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_store: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Time Series Data Store ของรอบบิลปัจจุบัน (หน่วยเป็น Point-Day)

  • max_trigger: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Trigger & Action ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_device_per_billing: Int คือ จำนวน Device สูงสุดที่สามารถสร้างได้ในแต่ละ Billing Account

  • max_member_per_project: Int คือ จำนวนสมาชิกสูงสุดที่สามารถ Invite ได้ในแต่ละ Project

  • max_project_per_billing: Int คือ จำนวน Project สูงสุดที่สามารถสร้างได้ในแต่ละ Billing Account

  • note: String คือ หมายเหตุ

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_projectbillingaccountsubscriptionprofile.png

ProjectBillingMetricUsageProfile

สำหรับเข้าถึงข้อมูลการใช้งาน Service ต่าง ๆ ในรอบบิลปัจจุบันของแต่และ Project รายละเอียดดังนี้

ProjectBillingMetricUsageProfile ( projectid ):

Arguments

  • projectid: String คือ รหัสของ Project (ต้องระบุ)

Query Variables

Authorization : User Token

Response Type : BillingMetricUsageProfile

ตอบกลับเป็น Object Type BillingMetricUsageProfile ประกอบด้วย

  • billingaccountid: String คือ รหัสของ Billing Account

  • name: String คือ ชื่อของ Billing Account

  • mode: String คือ โหมดของ Billing Account

  • max_apicall: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน API Call ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_connection: Float คือ จำนวนเวลาสะสมสูงสุดที่ Device Online ได้ ของรอบบิลปัจจุบัน (หน่วยเป็น วินาที)

  • max_datasource: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Datasource ของรอบบิลปัจจุบัน (หน่วยเป็น Byte)

  • max_message: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Real Time Message ของรอบบิลปัจจุบัน (หน่วยเป็น Message)

  • max_shadowops: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Shadow Read/Write ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • max_store: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Time Series Data Store ของรอบบิลปัจจุบัน (หน่วยเป็น Point-Day)

  • max_trigger: Float คือ จำนวนโควต้าสะสมสูงสุดสำหรับใช้งาน Trigger & Action ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • use_apicall: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน API Call ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • use_connection: Float คือ จำนวนเวลาที่ Device Online ไปแล้ว ของรอบบิลปัจจุบัน (หน่วยเป็น วินาที)

  • use_datasource: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Datasource ของรอบบิลปัจจุบัน (หน่วยเป็น Byte)

  • use_message: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Real Time Message ของรอบบิลปัจจุบัน (หน่วยเป็น Message)

  • use_shadowops: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Shadow Read/Write ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • use_store: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Time Series Data Store ของรอบบิลปัจจุบัน (หน่วยเป็น Point-Day)

  • use_trigger: Float คือ จำนวนโควต้าที่ใช้งานไปแล้วในส่วน Trigger & Action ของรอบบิลปัจจุบัน (หน่วยเป็น Operation)

  • usage_begin_at: String คือ วันเวลาที่รอบบิลเริ่มนับการใช้งาน

  • usage_update_at: String คือ วันเวลาที่มีการอัพเดทข้อมูลล่าสุด

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_projectbillingmetricusageprofile.png

ProjectList

สำหรับเข้าถึงข้อมูล Project ด้วย ID รายละเอียดดังนี้

projectList ( fliter, orderBy, direction, limit, offset ):

Arguments

  • fliter: ProjectPFilterKey คือ Object Type ของตัวกรองที่ใช้ระบุในการค้นหา ประกอบด้วย

    • projectname: String คือ ชื่อของ Project

    • hashtag: [String] คือ แท็กของ Project แบบหลายค่า

    • tags: JSON คือ แท็กของ Project ในรูปแบบ Key Value

  • orderBy: [ProjectSortKey] คือ ตัวเลือกของฟิลด์ที่ระบุให้เป็นตัวเรียงลำดับข้อมูล ประกอบด้วย

    • projectid (เรียงตามรหัสของ Project)

    • projectname (เรียงตามชื่อของ Project)

    • createdtime เรียงตามวันที่เวลาที่สร้าง Project

  • direction: OrderDirection คือ ตัวเลือกของลักษณะการเรียงลำดับ ประกอบด้วย

    • ASC (เรียงลำดับจากน้อยไปมาก)

    • DESC (เรียงลำดับจากมากไปน้อย)

  • limit: Int คือ จำกัดจำนวนข้อมูลที่จะดึงออกมา

  • offset: Int คือ ลำดับรายการของข้อมูลที่เริ่มดึงข้อมูล

Query Variables

Authorization : User Token

Response Type : [Project]

ตอบกลับเป็น Array ของ Object Type Project ประกอบด้วย

  • projectname: String คือ ชื่อของ Project

  • projectid: String คือ รหัสของ Project

  • description: String คือ คำอธิบาย Project

  • userlevel: String คือ ระดับสิทธิ์การเข้าถึงข้อมูล Project

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Project

  • tags: Json คือ แท็กของ Project ในรูปแบบ Key Value

  • 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 ดังรูปด้านล่าง

_images/gql2_projectlist.png

Schema

สำหรับเข้าถึงข้อมูล Shadow Schema ของ Device รายละเอียดดังนี้

schema ( deviceid ):

Arguments

  • deviceid: String คือ รหัสของ Device (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Schema

ตอบกลับเป็น Object Type Schema ประกอบด้วย

  • deviceid: String คือ รหัสของ Device

  • value: JSON คือ Shadow Schema ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON

ตัวอย่างการเข้าถึงข้อมูล Shadow Schema ของ Device ดังรูปด้านล่าง

_images/gql2_schema.png

Shadow

สำหรับเข้าถึงข้อมูล Shadow ของ Device รายละเอียดดังนี้

shadow ( deviceid ):

Arguments

  • deviceid: String คือ รหัสของ Device (ต้องระบุค่า)

  • command: Command คือ Object Type Command ประกอบด้วยระบุ

    • value: String คือ โครงสร้าง Shadow ที่ต้องการเข้าถึงค่า (กรณีที่ต้องการข้อมูลบางส่วนใน Shadow)

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 จะได้ Shadow มาทั้งหมด ดังรูปด้านล่าง

_images/gql2_shadow.png

Trigger

สำหรับเข้าถึงข้อมูล Trigger ของ Device รายละเอียดดังนี้

trigger ( deviceid, triggerid, type ):

Arguments

  • deviceid: String คือ รหัสของ Device (ต้องระบุค่า)

  • triggerid: String คือ รหัสของ Trigger

  • type: String คือ ประเภท Trigger (DEVICE, SHADOW)

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 ปิดใช้งาน)

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_trigger.png

UserByUserID

สำหรับเข้าถึงข้อมูล User ด้วย ID รายละเอียดดังนี้

userByUserID ( userid ):

Arguments

  • userid: String คือ รหัสของ User (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Trigger

ตอบกลับเป็น Object Type Trigger ประกอบด้วย

  • username: String คือ ชื่อผู้ใช้

  • enail: String คือ อีเมลผู้ใช้

  • profile: Profile คือ Object Type Profile ประกอบด้วย

    • fullname: String คือ ชื่อ-นามสกุล

    • phonenumber: String คือ หมายเลขโทรศัพท์

    • organization: String คือ ชื่อหน่วยงาน/องค์กร/บริษัท ที่สังกัด

  • created: String คือ วันเวลาที่ลงทะเบียน

  • userid: String คือ รหัสของ User

  • option: Option คือ ประเภท User (oneid ID จากระบบ OneID)

ตัวอย่างการเข้าถึงข้อมูล ดังรูปด้านล่าง

_images/gql2_userbyid.png