Datatypen
Resultaten die voor enquêtes van het data
geretourneerd aan de API, retourneren informatie in een van de onderstaande indelingen.
Resultaat laadvermogen
attributen
De rootstructuur van de data-JSON-payload heeft de volgende kenmerken.
naam | type | Beschrijving |
---|---|---|
data | lijst met gegevensobjecten | De gegevens die zijn opgehaald uit de bron. |
metadata | metadata-object | Metadata gerelateerd aan data . |
Metadata
attributen
naam | type | Beschrijving |
---|---|---|
count | int | Het aantal objecten in data . |
het dossier
De file
datatype wordt gezien gedurende de API, want het is een verwijzing naar een bestand dat van de API kan worden gedownload via een files
soort poll.
attributen
naam | type | Beschrijving |
---|---|---|
file_id | snaar | Identificatie die wordt gebruikt om het bestand op te vragen bij de API. De waarde is alleen gegarandeerd uniek binnen het bereik van de huidige bron. |
type | tekenreeks, altijd file | Specificatie van gegevenstype. |
name | draad | De naam van het bestand, exclusief de extensie. |
extension | tekenreeks, optioneel | De extensie van het bestand indien beschikbaar. |
mime_type | tekenreeks, optioneel | Het MIME-type van het bestand, indien beschikbaar. |
size | int, optioneel | De grootte van het bestand indien beschikbaar. |
checksum | tekenreeks, optioneel | De md5 checksum indien beschikbaar. |
Voorbeeld
{ "file_id": "abc123", "type": "file", "name": "IMG_0003", "extension": "jpg", "mime_type": "image/jpeg", "size": 2505426, }
Beeld
Breidt bestand uit .
naam | type | Beschrijving |
---|---|---|
file_id | snaar | Identificatie die wordt gebruikt om het bestand op te vragen bij de API. De waarde is alleen gegarandeerd uniek binnen het bereik van de huidige bron. |
type | snaar | Altijd image . |
filename | draad | De oorspronkelijke bestandsnaam van het bestand. De extensie in deze bestandsnaam moet overeenkomen met de extensie van het bestand. |
file_path | snaar | Het pad van het bestand ten opzichte van andere bestanden binnen de service. Bijvoorbeeld het pad binnen een back-up. |
width | int, optioneel | De breedte van het bestand indien beschikbaar. |
height | int, optioneel | De hoogte van het bestand indien beschikbaar. |
Voorbeeld
{ "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
Breidt bestand uit .
naam | type | Beschrijving |
---|---|---|
file_id | snaar | Identificatie die wordt gebruikt om het bestand op te vragen bij de API. De waarde is alleen gegarandeerd uniek binnen het bereik van de huidige bron. |
type | snaar | Altijd video . |
filename | draad | De oorspronkelijke bestandsnaam van het bestand. De extensie in deze bestandsnaam moet overeenkomen met de extensie van het bestand. |
file_path | snaar | Het pad van het bestand ten opzichte van andere bestanden binnen de service. Bijvoorbeeld het pad binnen een back-up. |
width | int, optioneel | De breedte van het bestand indien beschikbaar. |
height | int, optioneel | De hoogte van het bestand indien beschikbaar. |
duration | int, optioneel | De lengte van de video indien beschikbaar. |
Voorbeeld
{ "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
Breidt bestand uit .
naam | type | Beschrijving |
---|---|---|
file_id | snaar | Identificatie die wordt gebruikt om het bestand op te vragen bij de API. De waarde is alleen gegarandeerd uniek binnen het bereik van de huidige bron. |
type | snaar | Altijd audio . |
filename | draad | De oorspronkelijke bestandsnaam van het bestand. De extensie in deze bestandsnaam moet overeenkomen met de extensie van het bestand. |
file_path | snaar | Het pad van het bestand ten opzichte van andere bestanden binnen de service. Bijvoorbeeld het pad binnen een back-up. |
transcription | tekenreeks, optioneel | De teksttranscriptie voor een audiobericht, indien beschikbaar. |
Voorbeeld
{ "id": "abc123", "type": "audio", "filename": "Audio Message.caf", "file_path": "Library/SMS/Attachments/.../Audio Message.caf", "transcription": "Test voice message", }
Audiotranscripties
Indien beschikbaar in de gegevens van een back-up, wordt de transcriptie van audioberichten geretourneerd als onderdeel van het audio
object. Dit is beschikbaar voor audioberichten die sinds iOS 17 in iOS Berichten zijn gemaakt.
Bericht
attributen
naam | type | Beschrijving |
---|---|---|
id | draad | Een unieke identificatie voor het bericht. Gebruik dit om geretourneerde gegevens indien nodig te ontdubbelen. |
data_type | tekenreeks, altijd message | Gegevenstype specificatie. |
type | tekenreeks, optioneel | Gebruikt wanneer een berichtenservice verschillende soorten berichten verwerkt. Bijvoorbeeld SMS en iMessage in het geval van iOS Berichten. |
handle | snaar | De 2e partij van het gesprek, vaak een ID die uniek is voor de berichten-app. |
handle_name | tekenreeks, optioneel | Waar beschikbaar, een weergavenaam voor de handle. |
contact | genest contact, optioneel | Een object dat verwijst naar een iOS-contact van de tweede partij van het gesprek. |
conversation_id | draad | Identifier die berichten per conversatie groepeert. |
from_me | boel | Of het bericht is verzonden of ontvangen. |
user | tekenreeks, optioneel | De gebruiker van de berichten-app in het geval dat meerdere gebruikers/accounts een berichten-app van het apparaat gebruiken. |
text | draad | De kern van het bericht. |
edits | lijst met bewerkingen, optioneel | Een lijst met bewerkingen van berichtinhoud, voor apps waarbij het bewerken van berichten wordt ondersteund en de geschiedenis behouden blijft in back-ups. |
attachments | lijst met bestanden, optioneel | Een array van file_id waarden die kunnen worden gebruikt met de methode download_file . Als het bericht geen bijlage bevat, wordt een lege array geretourneerd. |
group | tekenreeks, optioneel | De naam van de groep op het moment dat het bericht werd verzonden . |
group_id | tekenreeks, optioneel | De unieke ID voor de groep binnen de context van die app. Dit is mogelijk geen geheel getal en geeft, indien aanwezig, alleen informatie naast conversation_id . |
group_handles | lijst met strings, optioneel | Deze waarde is null voor persoonlijke berichten en in groepsgesprekken is dit een reeks tekenreeksen die telefoonnummers of iMessage-e-mailadressen vertegenwoordigen. |
group_contacts | tekenreeks, optioneel | Een reeks objecten die verwijzen naar iOS-contacten in de groep. |
deleted | bool, optioneel | Een Booleaanse waarde om aan te geven of het bericht is verwijderd. |
marked_unread | bool, optioneel | Of de gebruiker het bericht als ongelezen heeft gemarkeerd, indien beschikbaar. |
date | datum Tijd | Wanneer het bericht is verzonden of ontvangen. |
date_read | datum/tijd, optioneel | Wanneer een bericht voor het eerst werd gelezen, indien beschikbaar. |
date_edited | datumtijd, optioneel | Wanneer een bericht voor het laatst is bewerkt, indien van toepassing. |
date_deleted | datumtijd, optioneel | Wanneer een bericht is verwijderd, indien van toepassing. |
Voorbeeld
{ "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" }
Berichthandvatten en gesprekken
De gegevensextractors van de API ondersteunen een historisch breed scala aan brongegevens en zullen proberen gegevens die in de loop van de tijd door app- en iOS-updates zijn gefragmenteerd, opnieuw op elkaar af te stemmen. Omdat berichten-apps nieuwe functies toevoegen, letten ze er niet altijd goed op dat de onderliggende gegevens perfect naar de nieuwe structuur worden gemigreerd. Daarom moet de API bepaalde informatie afleiden om consistente gegevens te retourneren.
Eén zo'n geval is voor handvatten en gespreksinformatie die worden geretourneerd door berichten-apps, en met name de gegevensmodule ios_messages.messages
. De API vult conversation_id
met ofwel een numerieke identifier, als dergelijke informatie bestaat of kan worden afgeleid, of fallback om de handle van de tweede partij te gebruiken om conversation_id
in te stellen. Daarom wordt aanbevolen om dit veld te gebruiken om berichten van dezelfde chat aan elkaar te koppelen.
Bewerkte en verwijderde berichten
Informatie over bewerkte en verwijderde berichten is beschikbaar voor ios_messages.messages
voor back-ups gemaakt van apparaten met iOS 16 en later. Voor verwijderde berichten wordt verwacht dat informatie alleen beschikbaar is zolang het bericht nog kan worden hersteld op het moment dat de back-up is gemaakt, wat volgens Apple 30-40 dagen na verwijdering is .
Voor bewerkte berichten wordt de geschiedenis van bewerkingen geretourneerd in het edits
. Elke bewerking bevat de status van text
en het tijdstip waarop de bewerking is vastgelegd. Het text
van het bericht zelf zal altijd hetzelfde zijn als dat van de uiteindelijke bewerking.
Gesprek
Een gespreksdraad.
naam | type | Beschrijving |
---|---|---|
id | snaar | Item ID. |
data_type | string, altijd conversation | Artikelgegevenstype-ID. |
group | optionele tekenreeks | Naam van de groep. |
members | lijst met contact | Deelnemers aan het gesprek. |
Contact
contact
naam | type | Beschrijving |
---|---|---|
id | snaar | Item ID. |
data_type | tekenreeks, altijd contact | Artikelgegevenstype-ID. |
name | optionele tekenreeks | De volledige naam van de contactpersoon. |
first_name | optionele tekenreeks | De voornaam van de contactpersoon. |
middle_name | optionele tekenreeks | De middelste naam van de contactpersoon. |
last_name | optionele tekenreeks | De achternaam van de contactpersoon. |
prefix | optionele tekenreeks | Het voorvoegsel van de contactpersoon. |
suffix | optionele tekenreeks | Het achtervoegsel van de contactpersoon. |
nickname | optionele tekenreeks | De bijnaam van de contactpersoon. |
records | lijst met contact.record items | Contactrecords die aan de contactpersoon zijn gekoppeld. |
organisation | optionele tekenreeks | De organisatienaam van de contactpersoon. |
department | optionele tekenreeks | De afdeling van de contactpersoon binnen de organisatie. |
jobtitle | optionele tekenreeks | De functietitel van de contactpersoon binnen de organisatie. |
birthday | optionele datum | De verjaardag van de contactpersoon. |
contact.record
attribuut
Er zijn 5 soorten contactrecorditems: Phone
, Email
, URL
, Social
en Address
. Ze komen overeen met respectievelijk een telefoonnummer, e-mailadres, website-URL, accountafhandeling op sociale media en adres.
De eerste 4 hebben dezelfde kenmerken:
naam | type | Beschrijving |
---|---|---|
type | draad | Een van: Phone , E- Email , URL , Social . |
name | optionele tekenreeks | Het label dat aan de record is gekoppeld. |
value | draad | De waarde van de plaat. |
Het Address
heeft extra adresvelden:
naam | type | Beschrijving |
---|---|---|
type | string, altijd Address | Een telefoonnummerrecord. |
name | optionele tekenreeks | Het label dat aan het nummer is gekoppeld. |
CountryCode | optionele tekenreeks | Een landcode. |
Country | optionele tekenreeks | Een landsnaam. |
ZIP | optionele tekenreeks | Een postcode of postcode. |
State | optionele tekenreeks | Een staatsnaam of afkorting. |
City | optionele tekenreeks | Een plaatsnaam. |
Municipality | optionele tekenreeks | Een gemeentenaam. |
SubLocality | optionele tekenreeks | Een buurt- of gebiedsnaam. |
Street | optionele tekenreeks | Een straatnaam. |
Voorbeeldgegevens
{ "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" }
Bel
attributen
naam | type | Beschrijving |
---|---|---|
id | snaar | Item ID. |
data_type | tekenreeks, call altijd | Artikelgegevenstype-ID. |
call_type | draad | Een van: Phone , FaceTime Video , FaceTime Audio . |
address | draad | Het doel van de oproep. Dit kan een telefoonnummer, Apple ID of een andere identificatie zijn. |
duration | vlot | De duur van het gesprek. |
answered | boel | Of de oproep is beantwoord. |
from_me | boel | Of het gesprek nu uitgaand of inkomend was. |
date | datum Tijd | Toen er werd gebeld. |
Voorbeeldgegevens
{ "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" }
Evenement
event
naam | type | Beschrijving |
---|---|---|
id | snaar | Item ID. |
data_type | tekenreeks, altijd event | Artikelgegevenstype-ID. |
unique_identifier | optionele tekenreeks | Item-UID voor ontdubbeling over meerdere gebeurtenisgegevensbronnen. |
calendar | optionele tekenreeks | Kalender naam. |
calendar_uid | optionele tekenreeks | Agenda-UID. |
calendar_store | optionele tekenreeks | Type agendaopslag, dwz iCloud , Default . |
summary | optionele tekenreeks | De samenvatting of titel van het evenement. |
description | optionele tekenreeks | De gebeurtenisbeschrijving. |
start_date | optionele datum/tijd | Wanneer het evenement begint. |
end_date | optionele datum/tijd | Wanneer het evenement is afgelopen. |
start_time_zone | optionele tekenreeks | De tijdzone van start_date . |
end_time_zone | optionele tekenreeks | De timeone van end_date . |
all_day | booleaans | Of het evenement een hele dag duurt. |
travel_time | optionele duur | De reistijd van het evenement. |
recurrence | optionele geneste event.recurrence | De herhalingsinstellingen van de gebeurtenis. |
location | optionele tekenreeks | Waar het evenement plaatsvindt. |
start_location | optionele tekenreeks | Waar het evenement vandaan komt. |
attendees | optionele lijst met tekenreeksen | Namen van deelnemers aan evenementen. |
attached_url | optionele tekenreeks | Een URL die is gekoppeld aan de gebeurtenis. |
creation_date | optionele datum/tijd | Wanneer het evenement is gemaakt. Niet ingesteld als standaard agenda-item, zoals feestdagen. |
event.recurrence
attributen
naam | type | Beschrijving |
---|---|---|
interval | geheel getal | Het aantal repeat dat moet worden herhaald, dwz 1 Jaarlijks (eens per jaar). |
repeat | draad | Een van: OneTime , Daily , Weekly , Monthly , Yearly . |
repeat_end_date | optionele datum/tijd | Wanneer stoppen met terugkeren. |
Voorbeeldgegevens
{ "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 }
Notitie
{ "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" }
Bezoek
Een record van een bezoek aan een websitepagina.
attributen
naam | type | Beschrijving |
---|---|---|
data_type | tekenreeks, altijd visit | Artikelgegevenstype-ID. |
url | draad | De URL van de bezochte pagina. |
title | draad | De titel van de bezochte pagina. |
date_created | datum Tijd | Wanneer het bezoek plaatsvond. |
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
Koekje
Een HTTP-cookie.
attributen
naam | type | Beschrijving |
---|---|---|
data_type | tekenreeks, altijd cookie | Artikelgegevenstype-ID. |
name | draad | De naam van het koekje. |
value | draad | De waarde van de cookie. |
domain | draad | De domeinspecificatie van de cookie. |
path | draad | De padspecificatie van de cookie. |
flags | draad | Alle vlaggen die op de cookie zijn ingesteld. |
creation_date | datum Tijd | Wanneer de cookie is gemaakt. |
expiry_date | datum Tijd | Wanneer de cookie verloopt. |
{ "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" }
Plaats
Data attributen
naam | type | Beschrijving |
---|---|---|
data_type | tekenreeks, altijd location | Een gegevenstype-ID. |
latitude | vlot | De breedtegraadcoördinaat van de locatie. |
longitude | vlot | De lengtegraadcoördinaat van de locatie. |
altitude | vlot | De hoogtecoördinaat van de locatie. |
horizontal_accuracy | vlot | De horizontale nauwkeurigheid voor de meting. |
vertical_accuracy | vlot | De verticale nauwkeurigheid voor de meting. |
position_type | draad | Identificatie van de gebruikte meetmethode. |
date_created | datum Tijd | Wanneer de meting is gedaan. |
Voorbeeldgegevens
{ "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" }