Datentypen
Ergebnisse, die für data
der API zurückgegeben werden, geben Informationen in einem der unten beschriebenen Formate zurück.
Ergebnis Nutzlast
Attribute
Die Stammstruktur der Daten-JSON-Nutzdaten weist die folgenden Attribute auf.
Name | Art | Bezeichnung |
---|---|---|
data | Liste von Datenobjekten | Die von der Quelle abgerufenen Daten. |
metadata | Metadaten-Objekt | Metadaten im Zusammenhang mit data . |
Metadaten
Attribute
Name | Art | Bezeichnung |
---|---|---|
count | int | Die Anzahl der Objekte in data . |
Datei
Der file
- Datentyp wird in der gesamten API gesehen, da es ein Verweis auf eine Datei ist , die von der API durch eine heruntergeladen werden kann files
Typ Umfrage.
Attribute
Name | Typ | Bezeichnung |
---|---|---|
file_id | Zeichenfolge | Bezeichner, der zum Anfordern der Datei von der API verwendet wird. Die Eindeutigkeit des Werts ist nur im Bereich der aktuellen Quelle garantiert. |
type | Zeichenfolge, immer file | Datentypspezifizierer. |
name | Schnur | Der Name der Datei ohne die Erweiterung. |
extension | Zeichenfolge, optional | Die Erweiterung der Datei, falls verfügbar. |
mime_type | Zeichenfolge, optional | Der MIME-Typ der Datei, falls verfügbar. |
size | int, optional | Die Größe der Datei, falls verfügbar. |
checksum | Zeichenfolge, optional | Die MD5-Prüfsumme, falls verfügbar. |
Beispiel
{ "file_id": "abc123", "type": "file", "name": "IMG_0003", "extension": "jpg", "mime_type": "image/jpeg", "size": 2505426, }
Bild
Erweitert die Datei .
Name | Typ | Bezeichnung |
---|---|---|
file_id | Zeichenfolge | Bezeichner, der zum Anfordern der Datei von der API verwendet wird. Die Eindeutigkeit des Werts ist nur im Bereich der aktuellen Quelle garantiert. |
type | Zeichenfolge | Immer image . |
filename | Schnur | Der ursprüngliche Dateiname der Datei. Die Erweiterung in diesem Dateinamen muss mit der Erweiterung der Datei übereinstimmen. |
file_path | Zeichenfolge | Der Pfad der Datei relativ zu anderen Dateien innerhalb ihres Dienstes. Beispielsweise der Pfad innerhalb eines Backups. |
width | int, optional | Die Breite der Datei, falls verfügbar. |
height | int, optional | Die Höhe der Datei, falls verfügbar. |
Beispiel
{ "file_id": "abc123", "type": "image", "filename": "IMG_0003.JPG", "file_path": "Media/DCIM/100APPLE/IMG_0003.JPG", "name": "IMG_0003", "extension": "jpg", "mime_type": "image/jpeg", "width": 3000, "height": 2002, "size": 2505426, }
Video
Erweitert die Datei .
Name | Typ | Bezeichnung |
---|---|---|
file_id | Zeichenfolge | Bezeichner, der zum Anfordern der Datei von der API verwendet wird. Die Eindeutigkeit des Werts ist nur im Bereich der aktuellen Quelle garantiert. |
type | Zeichenfolge | Immer video . |
filename | Schnur | Der ursprüngliche Dateiname der Datei. Die Erweiterung in diesem Dateinamen muss mit der Erweiterung der Datei übereinstimmen. |
file_path | Zeichenfolge | Der Pfad der Datei relativ zu anderen Dateien innerhalb ihres Dienstes. Beispielsweise der Pfad innerhalb eines Backups. |
width | int, optional | Die Breite der Datei, falls verfügbar. |
height | int, optional | Die Höhe der Datei, falls verfügbar. |
duration | int, optional | Die Länge des Videos, falls verfügbar. |
Beispiel
{ "file_id": "abc123", "type": "video", "filename": "IMG_0009.MOV", "file_path": "Media/DCIM/100APPLE/IMG_0009.MOV", "name": "IMG_0009", "extension": "mov", "mime_type": "video/quicktime", "width": 1920, "height": 1080, "size": 5421796, "duration": 9.135623 }
Video
Erweitert die Datei .
Name | Typ | Bezeichnung |
---|---|---|
file_id | Zeichenfolge | Bezeichner, der zum Anfordern der Datei von der API verwendet wird. Die Eindeutigkeit des Werts ist nur im Bereich der aktuellen Quelle garantiert. |
type | Zeichenfolge | Immer audio . |
filename | Schnur | Der ursprüngliche Dateiname der Datei. Die Erweiterung in diesem Dateinamen muss mit der Erweiterung der Datei übereinstimmen. |
file_path | Zeichenfolge | Der Pfad der Datei relativ zu anderen Dateien innerhalb ihres Dienstes. Beispielsweise der Pfad innerhalb eines Backups. |
transcription | Zeichenfolge, optional | Die Texttranskription für eine Audionachricht, falls verfügbar. |
Beispiel
{ "id": "abc123", "type": "audio", "filename": "Audio Message.caf", "file_path": "Library/SMS/Attachments/.../Audio Message.caf", "transcription": "Test voice message", }
Audiotranskriptionen
Sofern in den Daten einer Sicherung verfügbar, wird die Transkription von Audionachrichten als Teil des audio
zurückgegeben. Dies ist für Audionachrichten verfügbar, die seit iOS 17 in iOS-Nachrichten erstellt wurden.
Botschaft
Attribute
Name | Typ | Bezeichnung |
---|---|---|
id | Schnur | Ein eindeutiger Bezeichner für die Nachricht. Verwenden Sie dies, um zurückgegebene Daten bei Bedarf zu deduplizieren. |
data_type | Zeichenfolge, immer message | Datentypbezeichner. |
type | Zeichenfolge, optional | Wird verwendet, wenn ein Nachrichtendienst eine Vielzahl von Nachrichtentypen verarbeitet. Zum Beispiel SMS und iMessage im Fall von iOS-Nachrichten. |
handle | Zeichenfolge | Der zweite Teilnehmer der Konversation, häufig eine für die Messaging-App eindeutige Kennung. |
handle_name | Zeichenfolge, optional | Sofern verfügbar, ein Anzeigename für das Handle. |
contact | verschachtelter Kontakt, optional | Ein Objekt, das auf einen iOS-Kontakt des zweiten Gesprächspartners verweist. |
conversation_id | Schnur | Identifizierer, der Nachrichten nach Konversation gruppiert. |
from_me | bool | Ob die Nachricht gesendet oder empfangen wurde. |
user | Zeichenfolge, optional | Der Benutzer der Messaging-App in dem Fall, in dem mehrere Benutzer/Konten möglicherweise eine Messaging-App von dem Gerät verwenden. |
text | Schnur | Der Nachrichtentext. |
edits | Liste der Änderungen, optional | Eine Liste der Änderungen am Nachrichteninhalt für Apps, bei denen die Nachrichtenbearbeitung unterstützt wird und der Verlauf in Sicherungen beibehalten wird. |
attachments | Liste der Dateien, optional | Ein Array von file_id Werten, die mit der download_file -Methode verwendet werden können. Wenn die Nachricht keinen Anhang enthält, wird ein leeres Array zurückgegeben. |
group | Zeichenfolge, optional | Der Name der Gruppe zum Zeitpunkt des Sendens der Nachricht . |
group_id | Zeichenfolge, optional | Die eindeutige Kennung für die Gruppe im Kontext dieser App. Dies darf keine Ganzzahl sein und stellt, falls vorhanden, nur Informationen zusätzlich zu conversation_id bereit. |
group_handles | Liste von Zeichenfolgen, optional | Dieser Wert ist null für Nachrichten von Person zu Person und in Gruppenunterhaltungen ein Array von Zeichenfolgen, die Telefonnummern oder iMessage-E-Mail-Adressen darstellen. |
group_contacts | Zeichenfolge, optional | Ein Array von Objekten, die auf iOS-Kontakte in der Gruppe verweisen. |
deleted | bool, optional | Ein boolescher Wert, der angibt, ob die Nachricht gelöscht wurde. |
marked_unread | bool, optional | Ob der Benutzer die Nachricht als ungelesen markiert hat, falls verfügbar. |
date | Terminzeit | Wann die Nachricht gesendet oder empfangen wurde. |
date_read | Datum/Uhrzeit, optional | Wann eine Nachricht zum ersten Mal gelesen wurde, falls verfügbar. |
date_edited | datetime, optional | Wann eine Nachricht zuletzt bearbeitet wurde, falls zutreffend. |
date_deleted | datetime, optional | Wenn eine Nachricht gelöscht wurde, falls zutreffend. |
Beispiel
{ "id": "a1b2c3d4", "data_type": "message", "type": "SMS", "handle": "reincubate", "handle_name": "Reincubate", "conversation_id": "w6x7y8z9", "from_me": false, "text": "Hi from London!", "edits": [{ "text": "Hi!", "date": "2023-06-27T10:20:00.000000Z" }, { "text": "Hi from London!", "date": "2023-06-27T10:21:00.000000Z" }], "attachments": [], "group_handles": [ "+441234567890", "renate@reincubate.com" ], "deleted": false, "date": "2023-06-27T10:20:00.000000Z", "date_edited": "2023-06-27T10:21:00.000000Z" }
Nachrichtenhandles und Konversationen
Die Datenextraktoren der API unterstützen eine historisch breite Palette von Quelldaten und versuchen, Daten, die im Laufe der Zeit durch App- und iOS-Updates fragmentiert wurden, neu auszurichten. Wenn Messaging-Apps neue Funktionen hinzufügen, achten sie nicht immer darauf, dass die zugrunde liegenden Daten perfekt in die neue Struktur migriert werden. Daher muss die API bestimmte Informationen ableiten, um konsistente Daten zurückzugeben.
Ein solcher Fall ist für Handles und Konversationsinformationen, die von Messaging-Apps zurückgegeben werden, und insbesondere für das ios_messages.messages
. Die API füllt „ conversation_id
“ entweder mit einem numerischen Bezeichner, wenn solche Informationen vorhanden sind oder abgeleitet werden können, oder greift auf die Verwendung des Handles der zweiten Partei zurück, um „ conversation_id
“ festzulegen. Daher wird empfohlen, dieses Feld zu verwenden, um Nachrichten aus demselben Chat zusammenzufassen.
Bearbeitete und gelöschte Nachrichten
Informationen zu bearbeiteten und gelöschten Nachrichten sind für ios_messages.messages
für Backups verfügbar, die von Geräten mit iOS 16 und höher erstellt wurden. Bei gelöschten Nachrichten werden die Informationen voraussichtlich nur dann verfügbar sein, wenn die Nachricht zum Zeitpunkt der Sicherung noch wiederherstellbar ist, was laut Apple 30 bis 40 Tage nach dem Löschen der Fall ist .
Bei bearbeiteten Nachrichten wird der Bearbeitungsverlauf im edits
zurückgegeben. Jede Bearbeitung enthält den text
und den Zeitpunkt, zu dem die Bearbeitung übernommen wurde. Das text
der Nachricht selbst ist immer dasselbe wie das der endgültigen Bearbeitung.
Konversation
Ein Konversationsthread.
Name | Typ | Bezeichnung |
---|---|---|
id | Schnur | Artikel-ID. |
data_type | Schnur, immer conversation | Elementdatentyp-ID. |
group | optionale Zeichenfolge | Name der Gruppe. |
members | Liste der contact | Teilnehmer am Gespräch. |
Kontakt
contact
Name | Typ | Bezeichnung |
---|---|---|
id | Schnur | Artikel-ID. |
data_type | Schnur, immer contact | Elementdatentyp-ID. |
name | optionale Zeichenfolge | Der vollständige Name des Kontakts. |
first_name | optionale Zeichenfolge | Der Vorname des Kontakts. |
middle_name | optionale Zeichenfolge | Der zweite Vorname des Kontakts. |
last_name | optionale Zeichenfolge | Der Nachname des Kontakts. |
prefix | optionale Zeichenfolge | Das Namenspräfix des Kontakts. |
suffix | optionale Zeichenfolge | Das Namenssuffix des Kontakts. |
nickname | optionale Zeichenfolge | Der Spitzname des Kontakts. |
records | Liste von contact.record | Dem Kontakt zugeordnete Kontaktdatensätze. |
organisation | optionale Zeichenfolge | Der Organisationsname des Kontakts. |
department | optionale Zeichenfolge | Die Abteilung des Kontakts innerhalb der Organisation. |
jobtitle | optionale Zeichenfolge | Die Berufsbezeichnung des Kontakts innerhalb der Organisation. |
birthday | optionales Datum | Geburtstag des Kontakts. |
Attribut contact.record
Es gibt 5 Arten von Kontaktdatensätzen: Phone
, Email
, URL
, Social
und Address
. Sie entsprechen einer Telefonnummer, einer E-Mail-Adresse, einer Website-URL, einem Handle für ein Social-Media-Konto und einer Straße.
Die ersten 4 haben die gleichen Attribute:
Name | Typ | Bezeichnung |
---|---|---|
type | Schnur | Einer von: Phone , E- Email , URL , Social . |
name | optionale Zeichenfolge | Die dem Datensatz zugeordnete Bezeichnung. |
value | Schnur | Der Wert des Datensatzes. |
Die Address
Kontakt Satzart hat zusätzliche Adressfelder:
Name | Typ | Bezeichnung |
---|---|---|
type | Zeichenfolge, immer Address | Ein Telefonnummern-Datensatz. |
name | optionale Zeichenfolge | Die der Nummer zugeordnete Bezeichnung. |
CountryCode | optionale Zeichenfolge | Ein Ländercode. |
Country | optionale Zeichenfolge | Ein Ländername. |
ZIP | optionale Zeichenfolge | Eine Postleitzahl. |
State | optionale Zeichenfolge | Ein Staatsname oder eine Abkürzung. |
City | optionale Zeichenfolge | Ein Städtename. |
Municipality | optionale Zeichenfolge | Ein Gemeindename. |
SubLocality | optionale Zeichenfolge | Ein Nachbarschafts- oder Bereichsname. |
Street | optionale Zeichenfolge | Ein Straßenadressenname. |
Beispieldaten
{ "id": "2cf6a837304d6614", "data_type": "contact", "first_name": "John", "middle_name": "'Gala'", "last_name": "Appleseed", "prefix": "Mr.", "suffix": "Jr.", "nickname": "John'o", "records": [ { "type": "Phone", "name": "MAIN", "value": "1-800-MY-APPLE" }, { "type": "Phone", "name": "UK", "value": "0800 039 1010" }, { "type": "URL", "name": "HOMEPAGE", "value": "http://www.apple.com" }, { "type": "URL", "name": "HOMEPAGE", "value": "http://www.apple.com/uk/" }, { "City": "Cupertino", "State": "CA", "ZIP": "95014", "name": "WORK", "CountryCode": "US", "Country": "United States", "Street": "1 Infinite Loop", "type": "Address", "SubLocality": null, "Municipality": null } ], "organisation": "Apple Inc.", "department": "Marketing", "jobtitle": "VP Juicing", "birthday": "1976-04-01" }
Anruf
Attribute
Name | Typ | Bezeichnung |
---|---|---|
id | Schnur | Artikel-ID. |
data_type | Zeichenfolge, immer call | Elementdatentyp-ID. |
call_type | Schnur | Einer von: Phone , FaceTime Video , FaceTime Audio . |
address | Schnur | Das Ziel des Anrufs. Könnte eine Telefonnummer, eine Apple-ID oder eine andere Kennung sein. |
duration | schweben | Die Dauer des Anrufs. |
answered | bool | Ob der Anruf beantwortet wurde. |
from_me | bool | Ob der Anruf abgehend oder ankommend war. |
date | Terminzeit | Wann der Anruf getätigt wurde. |
Beispieldaten
{ "id": "24116c5b16b85217", "data_type": "call", "call_type": "Phone", "address": "07123456789", "duration": 5.131359, "answered": false, "from_me": true, "date": "2015-07-20 10:23:27.538011" }
Veranstaltung
event
Name | Typ | Bezeichnung |
---|---|---|
id | Schnur | Artikel-ID. |
data_type | Zeichenfolge, immer event | Elementdatentyp-ID. |
unique_identifier | optionale Zeichenfolge | Element-UID zum Deduplizieren über mehrere Ereignisdatenquellen hinweg. |
calendar | optionale Zeichenfolge | Kalendername. |
calendar_uid | optionale Zeichenfolge | Kalender-UID. |
calendar_store | optionale Zeichenfolge | Typ des Kalenderspeichers, dh iCloud , Default . |
summary | optionale Zeichenfolge | Die Zusammenfassung oder der Titel des Ereignisses. |
description | optionale Zeichenfolge | Die Ereignisbeschreibung. |
start_date | optionale Datumszeit | Wenn die Veranstaltung beginnt. |
end_date | optionale Datumszeit | Wenn die Veranstaltung endet. |
start_time_zone | optionale Zeichenfolge | Die Zeitzone von start_date . |
end_time_zone | optionale Zeichenfolge | Die timeone von end_date . |
all_day | boolesch | Ob die Veranstaltung einen ganzen Tag dauert. |
travel_time | optionale Dauer | Die Reisezeitdauer des Ereignisses. |
recurrence | optionales verschachteltes event.recurrence | Die Wiederholungseinstellungen des Ereignisses. |
location | optionale Zeichenfolge | Wo die Veranstaltung stattfindet. |
start_location | optionale Zeichenfolge | Wo die Veranstaltung beginnt. |
attendees | optionale Liste von Zeichenfolgen | Namen der Veranstaltungsteilnehmer. |
attached_url | optionale Zeichenfolge | Eine dem Ereignis zugeordnete URL. |
creation_date | optionale Datumszeit | Wann das Ereignis erstellt wurde. Nicht gesetzt, wenn Standard-Kalendereintrag, z. B. Feiertage. |
event.recurrence
Attribute
Name | Typ | Bezeichnung |
---|---|---|
interval | ganze Zahl | Die Anzahl der repeat , die wiederholt werden sollen, dh 1 Jahr (einmal alle 1 Jahr). |
repeat | Schnur | Einer von: OneTime , Daily , Weekly , Monthly , Yearly . |
repeat_end_date | optionale Datumszeit | Wann aufhören, sich zu wiederholen. |
Beispieldaten
{ "id": "3", "unique_identifier": "f5fcf872-34f6-3f60-ba03-74d5a7a3bbbb", "calendar": "Home", "calendar_id": "477a2001537fe178d6b77cdceb8bac2e", "calendar_store": "Default", "summary": "Christmas Day", "description": "Bank holiday in the UK", "start_date": "2017-12-25T00:00:00.000000", "end_date": "2017-12-25T23:59:59.000000", "start_time_zone": None, "end_time_zone": None, "all_day": True, "travel_time": None, "recurrence": { "interval": 1, "repeat": "Yearly", "repeat_end_date": None, "specifier": "" }, "location": None, "start_location": None, "attendees": ["John Appleseed"], "attached_url": None, "creation_date": None }
Hinweis
{ "title": "Monday meeting:", "note": "Monday meeting:\n Discuss X,\n discuss Y.", "summary": null, "folder": "icloud", "sub_folder": "work", "attachments": [ { "type": "image", "file_id": "8e22cf6e524357b4eb3da775d193072ebba9543f", "file_path": "Media/80DDDEAD-B33F-37B2-7219432C0359/Image.jpeg" } ], "creation_date": "2016-06-06 13:23:20.000000", "last_modified": "2016-06-07 15:21:25.000000" }
Besuch
Eine Aufzeichnung eines Website-Seitenbesuchs.
Attribute
Name | Typ | Bezeichnung |
---|---|---|
data_type | Schnur, immer visit | Elementdatentyp-ID. |
url | Schnur | Die URL der besuchten Seite. |
title | Schnur | Der Titel der besuchten Seite. |
date_created | Terminzeit | Wann der Besuch stattfand. |
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
Plätzchen
Ein HTTP-Cookie.
Attribute
Name | Typ | Bezeichnung |
---|---|---|
data_type | Zeichenfolge, immer cookie | Elementdatentyp-ID. |
name | Schnur | Der Name des Cookies. |
value | Schnur | Der Wert des Cookies. |
domain | Schnur | Der Domänenbezeichner des Cookies. |
path | Schnur | Der Pfadbezeichner des Cookies. |
flags | Schnur | Alle auf dem Cookie gesetzten Flags. |
creation_date | Terminzeit | Wann das Cookie erstellt wurde. |
expiry_date | Terminzeit | Wenn das Cookie abläuft. |
{ "data_type": "cookie", "name": "sample_cookies", "value": "sample_value", "domain": "reincubate.com", "path": "/", "flags": "", "creation_date": "2020-01-01T00:00:00.000000Z", "expiry_date": "2020-01-01T00:00:00.000000Z" }
Standort
Datenattribute
Name | Typ | Bezeichnung |
---|---|---|
data_type | Zeichenfolge, immer location | Eine Datentypkennung. |
latitude | schweben | Die Breitenkoordinate des Standorts. |
longitude | schweben | Die Längenkoordinate des Standorts. |
altitude | schweben | Die Höhenkoordinate des Standorts. |
horizontal_accuracy | schweben | Die horizontale Genauigkeit für die Messung. |
vertical_accuracy | schweben | Die vertikale Genauigkeit für die Messung. |
position_type | Schnur | Kennung für das verwendete Messverfahren. |
date_created | Terminzeit | Wann die Messung durchgeführt wurde. |
Beispieldaten
{ "data_type": "location", "latitude": 51.507452392689146, "longitude": -0.07398372304584414, "altitude": 0.0, "horizontal_accuracy": 65.0, "vertical_accuracy": 0.0, "positioning_type": "Wifi", "date_created": "2020-01-01T00:00:00.000000Z" }