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)
}