API 參考
SMS
讀取和傳送 SMS/MMS 訊息。需要 SMS 權限。Google Play 版本不適用。
型別定義
bash
type Message {
id: ID!
body: String!
address: String! # phone number
date: String! # ISO 8601
serviceCenter: String!
read: Boolean!
threadId: String!
type: Int! # 1=inbox 2=sent 3=draft 5=failed
subscriptionId: Int!
isMms: Boolean!
attachments: [MessageAttachment!]!
}
type MessageAttachment {
path: String!
contentType: String!
name: String!
}
type SmsConversation {
id: String!
address: String!
snippet: String!
date: String!
messageCount: Int!
read: Boolean!
}
type SmsCounts {
inbox: Int!
sent: Int!
draft: Int!
failed: Int!
}操作
query
sms
搜尋 SMS 訊息。查詢使用空字串可列出全部。
bash
query GetSms($offset: Int!, $limit: Int!, $query: String!) {
sms(offset: $offset, limit: $limit, query: $query) {
id body address date read threadId type subscriptionId isMms
attachments { path contentType name }
}
}query
smsCount
計算符合查詢的 SMS 訊息數量。
bash
query GetSmsCount($query: String!) {
smsCount(query: $query)
}query
smsConversations
列出 SMS 對話(執行緒),支援分頁。
bash
query GetSmsConversations($offset: Int!, $limit: Int!, $query: String!) {
smsConversations(offset: $offset, limit: $limit, query: $query) {
id address snippet date messageCount read
}
}query
smsConversationCount
計算符合查詢的 SMS 對話數量。
bash
query GetSmsConversationCount($query: String!) {
smsConversationCount(query: $query)
}query
smsAllCounts
傳回所有 SMS 分類的計數。
bash
query GetSmsAllCounts {
smsAllCounts { inbox sent draft failed }
}query
archivedConversations
列出已封存(隱藏)的對話。
bash
query GetArchivedConversations {
archivedConversations { id address snippet date messageCount read }
}mutation
sendSms
傳送 SMS。傳入 subscriptionId=-1 可使用預設 SIM。
bash
mutation SendSms($number: String!, $body: String!, $subscriptionId: Int!) {
sendSms(number: $number, body: $body, subscriptionId: $subscriptionId)
}mutation
sendMms
啟動預設 SMS 應用程式並預填一個 MMS(一個或多個附件)。傳回一個待處理的 MMS id;PlainApp 輪詢傳送狀態並透過 WebSocket 事件報告成功。attachmentPaths 必須指向 PlainApp AppFile 存放區中的檔案(fid: URI)。
bash
mutation SendMms($number: String!, $body: String!, $attachmentPaths: [String!]!, $threadId: String!) {
sendMms(number: $number, body: $body, attachmentPaths: $attachmentPaths, threadId: $threadId)
}mutation
archiveConversation
依執行緒 id 和日期封存對話。
bash
mutation ArchiveConversation($id: String!, $date: Long!) {
archiveConversation(id: $id, date: $date)
}mutation
unarchiveConversation
將對話從封存中移除。
bash
mutation UnarchiveConversation($id: String!) {
unarchiveConversation(id: $id)
}