API-Referenz

Kontakte

Gerätekontakte lesen, erstellen und aktualisieren.

Typdefinitionen

bash
type Contact {
  id: ID!
  prefix: String!
  firstName: String!
  middleName: String!
  lastName: String!
  suffix: String!
  nickname: String!
  photoId: String!          # use GET /fs?id=<photoId>
  phoneNumbers: [ContactPhoneNumber!]!
  emails: [ContentItem!]!
  addresses: [ContentItem!]!
  events: [ContentItem!]!   # birthdays, anniversaries
  source: String!           # account type e.g. "com.google"
  starred: Boolean!
  contactId: ID!
  thumbnailId: String!
  notes: String!
  groups: [ContactGroup!]!
  organization: Organization
  websites: [ContentItem!]!
  ims: [ContentItem!]!
  ringtone: String!
  updatedAt: String!
}

type ContactPhoneNumber {
  value: String!
  type: Int!     # 1=home 2=mobile 3=work
  label: String!
  normalizedNumber: String!
}

type ContentItem {
  value: String!
  type: Int!
  label: String!
}

type Organization {
  company: String!
  title: String!
}

type ContactGroup {
  id: ID!
  name: String!
  contactCount: Int!
}

type ContactSource {
  name: String!
  accountType: String!
}

input ContactInput {
  firstName: String
  lastName: String
  phoneNumbers: [ContactPhoneNumberInput]
  emails: [ContentItemInput]
  organization: OrganizationInput
}

Operationen

query

contacts

Kontakte suchen. Abfrage leer lassen, um alle aufzulisten.

bash
query GetContacts($offset: Int!, $limit: Int!, $query: String!) {
  contacts(offset: $offset, limit: $limit, query: $query) {
    id firstName lastName phoneNumbers { value type }
    emails { value } source starred updatedAt
  }
}
query

contactCount

Anzahl der auf eine Abfrage passenden Kontakte zählen.

bash
query GetContactCount($query: String!) {
  contactCount(query: $query)
}
query

contactSources

Verfügbare Kontakt-Kontoquellen auflisten.

bash
query GetContactSources {
  contactSources { name accountType }
}
query

contactGroups

Alle Kontaktgruppen auflisten.

bash
query GetContactGroups {
  contactGroups { id name contactCount }
}
mutation

createContact

Einen neuen Kontakt erstellen.

bash
mutation CreateContact($input: ContactInput!) {
  createContact(input: $input) { id firstName lastName phoneNumbers { value } }
}
mutation

updateContact

Einen bestehenden Kontakt aktualisieren. Nur die angegebenen Felder werden geändert.

bash
mutation UpdateContact($id: ID!, $input: ContactInput!) {
  updateContact(id: $id, input: $input) { id firstName lastName updatedAt }
}
mutation

deleteContacts

Alle auf eine Abfrage passenden Kontakte löschen.

bash
mutation DeleteContacts($query: String!) {
  deleteContacts(query: $query)
}
mutation

createContactGroup

Eine Kontaktgruppe in einem bestimmten Konto erstellen.

bash
mutation CreateContactGroup($name: String!, $accountName: String!, $accountType: String!) {
  createContactGroup(name: $name, accountName: $accountName, accountType: $accountType) {
    id name contactCount
  }
}
mutation

updateContactGroup

Eine Kontaktgruppe umbenennen.

bash
mutation UpdateContactGroup($id: ID!, $name: String!) {
  updateContactGroup(id: $id, name: $name) { id name }
}
mutation

deleteContactGroup

Eine Kontaktgruppe löschen. Kontakte in der Gruppe werden nicht gelöscht, nur aus der Gruppe entfernt.

bash
mutation DeleteContactGroup($id: ID!) {
  deleteContactGroup(id: $id)
}