Tipos de dados
Os resultados retornados para pesquisas de tipo de data
na API retornarão informações em um dos formatos descritos abaixo.
Carga útil do resultado
Atributos
A estrutura raiz da carga útil JSON de dados possui os seguintes atributos.
nome | tipo | Descrição |
---|---|---|
data | lista de objetos de dados | Os dados recuperados da fonte. |
metadata | objeto de metadados | Metadados relacionados a data . |
Metadados
Atributos
nome | tipo | Descrição |
---|---|---|
count | int | O número de objetos em data . |
Arquivo
O tipo de dados do file
é visto em toda a API, pois é uma referência a um arquivo que pode ser baixado da API por meio de uma pesquisa de tipo de files
.
Atributos
nome | modelo | Descrição |
---|---|---|
file_id | corda | Identificador usado para solicitar o arquivo da API. O valor só tem garantia de ser exclusivo no escopo da fonte atual. |
type | string, sempre file | Especificador de tipo de dados. |
name | corda | O nome do arquivo, excluindo a extensão. |
extension | string, opcional | A extensão do arquivo, se disponível. |
mime_type | string, opcional | O tipo MIME do arquivo, se disponível. |
size | int, opcional | O tamanho do arquivo, se disponível. |
checksum | string, opcional | A soma de verificação md5, se disponível. |
Exemplo
{
"file_id": "abc123",
"type": "file",
"name": "IMG_0003",
"extension": "jpg",
"mime_type": "image/jpeg",
"size": 2505426,
}
Imagem
Estende o arquivo .
nome | modelo | Descrição |
---|---|---|
file_id | corda | Identificador usado para solicitar o arquivo da API. O valor só tem garantia de ser exclusivo no escopo da fonte atual. |
type | corda | Sempre image . |
filename | corda | O nome do arquivo original do arquivo. A extensão neste nome de arquivo precisa corresponder à extensão do arquivo. |
file_path | corda | O caminho do arquivo em relação a outros arquivos em seu serviço. Por exemplo, o caminho dentro de um backup. |
width | int, opcional | A largura do arquivo, se disponível. |
height | int, opcional | A altura do arquivo, se disponível. |
Exemplo
{
"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,
}
Vídeo
Estende o arquivo .
nome | modelo | Descrição |
---|---|---|
file_id | corda | Identificador usado para solicitar o arquivo da API. O valor só tem garantia de ser exclusivo no escopo da fonte atual. |
type | corda | Sempre video . |
filename | corda | O nome do arquivo original do arquivo. A extensão neste nome de arquivo precisa corresponder à extensão do arquivo. |
file_path | corda | O caminho do arquivo em relação a outros arquivos em seu serviço. Por exemplo, o caminho dentro de um backup. |
width | int, opcional | A largura do arquivo, se disponível. |
height | int, opcional | A altura do arquivo, se disponível. |
duration | int, opcional | A duração do vídeo, se disponível. |
Exemplo
{
"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
}
Vídeo
Estende o arquivo .
nome | modelo | Descrição |
---|---|---|
file_id | corda | Identificador usado para solicitar o arquivo da API. O valor só tem garantia de ser exclusivo no escopo da fonte atual. |
type | corda | Sempre audio . |
filename | corda | O nome do arquivo original do arquivo. A extensão neste nome de arquivo precisa corresponder à extensão do arquivo. |
file_path | corda | O caminho do arquivo em relação a outros arquivos em seu serviço. Por exemplo, o caminho dentro de um backup. |
transcription | sequência, opcional | A transcrição de texto de uma mensagem de áudio, se disponível. |
Exemplo
{
"id": "abc123",
"type": "audio",
"filename": "Audio Message.caf",
"file_path": "Library/SMS/Attachments/.../Audio Message.caf",
"transcription": "Test voice message",
}
Transcrições de áudio
Quando disponível nos dados de um backup, a transcrição das mensagens de áudio é retornada como parte do objeto audio
. Está disponível em mensagens de áudio feitas em Mensagens do iOS desde o iOS 17.
mensagem
Atributos
nome | modelo | Descrição |
---|---|---|
id | corda | Um identificador exclusivo para a mensagem. Use isso para desduplicar os dados retornados, se necessário. |
data_type | string, sempre message | Especificador de tipo de dados. |
type | string, opcional | Usado quando um serviço de mensagens lida com vários tipos de mensagens. Por exemplo, SMS e iMessage no caso de mensagens iOS. |
handle | corda | A segunda parte da conversa, geralmente um identificador exclusivo do aplicativo de mensagens. |
handle_name | string, opcional | Quando disponível, um nome de exibição para o identificador. |
contact | contato aninhado, opcional | Um objeto que faz referência a um contato iOS da segunda parte da conversa. |
conversation_id | corda | Identificador que agrupa mensagens por conversa. |
from_me | bool | Se a mensagem foi enviada ou recebida. |
user | string, opcional | O usuário do aplicativo de mensagens no caso em que vários usuários/contas podem estar usando um aplicativo de mensagens do dispositivo. |
text | corda | O corpo da mensagem. |
edits | lista de edições, opcional | Uma lista de edições de conteúdo de mensagens, para aplicativos em que a edição de mensagens é suportada e o histórico persiste em backups. |
attachments | lista de arquivos, opcional | Uma matriz de valores de file_id que podem ser usados com o método download_file . Se a mensagem não incluir nenhum anexo, uma matriz vazia será retornada. |
group | string, opcional | O nome do grupo no momento em que a mensagem foi enviada . |
group_id | string, opcional | O identificador exclusivo do grupo no contexto desse aplicativo. Isso pode não ser um número inteiro e, se presente, fornecerá apenas informações além de conversation_id . |
group_handles | lista de strings, opcional | Esse valor é null para mensagens de pessoa para pessoa e, em conversas em grupo, é uma matriz de strings que representa números de telefone ou endereços de e-mail do iMessage. |
group_contacts | string, opcional | Uma matriz de objetos que faz referência aos contatos do iOS no grupo. |
deleted | bool, opcional | Um valor booleano para indicar se a mensagem foi excluída. |
marked_unread | bool, opcional | Se o usuário marcou a mensagem como não lida, se disponível. |
date | data hora | Quando a mensagem foi enviada ou recebida. |
date_read | datahora, opcional | Quando uma mensagem foi lida pela primeira vez, se disponível. |
date_edited | data e hora, opcional | Quando uma mensagem foi editada pela última vez, se aplicável. |
date_deleted | data e hora, opcional | Quando uma mensagem foi excluída, se aplicável. |
Exemplo
{
"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"
}
Identificadores de mensagens e conversas
Os extratores de dados da API oferecem suporte a uma ampla gama histórica de dados de origem e tentarão realinhar os dados que se tornaram fragmentados por meio de atualizações de aplicativos e iOS ao longo do tempo. À medida que os aplicativos de mensagens adicionam novos recursos, eles nem sempre têm o cuidado de garantir que os dados subjacentes sejam migrados perfeitamente para a nova estrutura. Portanto, a API deve inferir certas informações para retornar dados consistentes.
Um desses casos é para identificadores e informações de conversa retornadas de aplicativos de mensagens e, mais especificamente, do módulo de dados ios_messages.messages
. A API preencherá o conversation_id
com um identificador numérico, se essas informações existirem ou puderem ser inferidas, ou usará o identificador de segunda parte para definir o conversation_id
. Portanto, é recomendável usar esse campo para unir as mensagens do mesmo bate-papo.
Mensagens editadas e apagadas
Informações sobre mensagens editadas e excluídas estão disponíveis para ios_messages.messages
para backups feitos de dispositivos com iOS 16 e posterior. Para mensagens excluídas, espera-se que as informações estejam disponíveis apenas enquanto a mensagem ainda puder ser recuperada no momento em que o backup foi feito, o que a Apple diz ser de 30 a 40 dias após a exclusão .
Para mensagens editadas, o histórico de edições é retornado no atributo edits
. Cada edição inclui o estado do text
e a hora em que a edição foi confirmada. O atributo text
da própria mensagem sempre será o mesmo da edição final.
Conversação
Uma conversa.
nome | modelo | Descrição |
---|---|---|
id | corda | Código do item. |
data_type | string, sempre conversation | ID do tipo de dados do item. |
group | string opcional | Nome do grupo. |
members | lista de itens de contact | Participantes da conversa. |
Contato
atributos de contact
nome | modelo | Descrição |
---|---|---|
id | corda | Código do item. |
data_type | corda, sempre entre em contact | ID do tipo de dados do item. |
name | string opcional | O nome completo do contato. |
first_name | string opcional | O primeiro nome do contato. |
middle_name | string opcional | O nome do meio do contato. |
last_name | string opcional | O sobrenome do contato. |
prefix | string opcional | O prefixo do nome do contato. |
suffix | string opcional | O sufixo do nome do contato. |
nickname | string opcional | O apelido do contato. |
records | lista de itens contact.record | Registros de contato associados ao contato. |
organisation | string opcional | O nome da organização do contato. |
department | string opcional | O departamento do contato dentro da organização. |
jobtitle | string opcional | O cargo do contato dentro da organização. |
birthday | data opcional | Aniversário do contato. |
atributo contact.record
Existem 5 tipos de itens de registro de contato: Phone
, Email
, URL
, Social
e Address
. Eles correspondem a um número de telefone, endereço de email, URL do site, identificador de conta de mídia social e endereço, respectivamente.
Os quatro primeiros têm os mesmos atributos:
nome | modelo | Descrição |
---|---|---|
type | corda | Um de: Phone , E- Email , URL , Social . |
name | string opcional | O rótulo associado ao registro. |
value | corda | O valor do registro. |
O tipo de registro de contato do Address
possui campos de endereço adicionais:
nome | modelo | Descrição |
---|---|---|
type | string, sempre Address | Um registro de número de telefone. |
name | string opcional | O rótulo associado ao número. |
CountryCode | string opcional | Um código de país. |
Country | string opcional | Um nome de país. |
ZIP | string opcional | Um CEP ou código postal. |
State | string opcional | Um nome de estado ou abreviação. |
City | string opcional | Um nome de cidade. |
Municipality | string opcional | Um nome de município. |
SubLocality | string opcional | Um nome de bairro ou área. |
Street | string opcional | Um nome de rua. |
Dados de amostra
{
"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"
}
Ligar
call
attributes
nome | modelo | Descrição |
---|---|---|
id | corda | Código do item. |
data_type | string, sempre call | ID do tipo de dados do item. |
call_type | corda | Um de: Phone , FaceTime Video FaceTime Audio . |
address |
string | The second party of the call. Could be a phone number, Apple ID, or other identifier. For group calls, it will relate to the handle that started the call. |
participants |
optional list of participant objects | For group calls, a list of all call participants. |
duration | flutuador | A duração da chamada. |
answered | bool | Se a chamada foi atendida. |
from_me | bool | Se a chamada foi feita ou recebida. |
video |
bool | Whether the call was a video call or not. |
date | data hora | Quando a chamada foi feita. |
call.participant
attributes
nome | modelo | Descrição |
---|---|---|
handle |
string | The handle associated with the participant, e.g. phone number, WhatsApp ID, Apple ID, etc. |
name |
optional string | The name related to the handle. |
number |
optional string | The phone number related to the handle. |
answered |
bool | Whether or not the participant answered the call. |
Dados de amostra
{
"id": "24116c5b16b85217",
"data_type": "call",
"call_type": "Phone",
"address": "07123456789",
"participants": [{
"handle": "01234567890",
"number": "01234567890",
"answered": true
}, {
"handle": "09876543210",
"number": "09876543210",
"answered": false
}],
"duration": 5.131359,
"answered": true,
"from_me": true,
"video": false,
"date": "2015-07-20 10:23:27.538011"
}
Evento
atributos de event
nome | modelo | Descrição |
---|---|---|
id | corda | Código do item. |
data_type | string, sempre event | ID do tipo de dados do item. |
unique_identifier | string opcional | UID do item para desduplicação em várias fontes de dados de eventos. |
calendar | string opcional | Nome do calendário. |
calendar_uid | string opcional | UID do calendário. |
calendar_store | string opcional | Tipo de armazenamento de calendário, ou seja, iCloud , Default . |
summary | string opcional | O resumo ou título do evento. |
description | string opcional | A descrição do evento. |
start_date | data e hora opcional | Quando o evento começa. |
end_date | data e hora opcional | Quando o evento terminar. |
start_time_zone | string opcional | O fuso horário de start_date . |
end_time_zone | string opcional | O timeone de end_date . |
all_day | boleano | Se o evento dura um dia inteiro. |
travel_time | duração opcional | A duração do tempo de viagem do evento. |
recurrence | evento aninhado event.recurrence | As configurações de recorrência do evento. |
location | string opcional | Onde está acontecendo o evento. |
start_location | string opcional | De onde o evento está começando. |
attendees | lista opcional de strings | Nomes dos participantes do evento. |
attached_url | string opcional | Uma URL associada ao evento. |
creation_date | data e hora opcional | Quando o evento foi criado. Não definido se a entrada de calendário padrão, como feriados. |
Atributos event.recurrence
nome | modelo | Descrição |
---|---|---|
interval | inteiro | A contagem de repeat a ser recorrente, ou seja, 1 ano (uma vez a cada 1 ano). |
repeat | corda | Um dos seguintes: OneTime , Daily , Weekly , Monthly , Yearly . |
repeat_end_date | data e hora opcional | Quando parar de recorrer. |
Dados de amostra
{
"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
}
Nota
{
"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"
}
Visita
Um registro de uma visita à página do site.
Atributos
nome | modelo | Descrição |
---|---|---|
data_type | string, visit sempre | ID do tipo de dados do item. |
url | corda | A URL da página visitada. |
title | corda | O título da página visitada. |
date_created | data hora | Quando a visita ocorreu. |
{
"data_type": "visit",
"url": "https://reincubate.com/",
"title": "Reincubate: the app data company",
"date_created": "2020-01-01T00:00:00.000000Z"
}
Bolacha
Um cookie HTTP.
Atributos
nome | modelo | Descrição |
---|---|---|
data_type | string, sempre cookie | ID do tipo de dados do item. |
name | corda | O nome do cookie. |
value | corda | O valor do cookie. |
domain | corda | O especificador de domínio do cookie. |
path | corda | O especificador de caminho do cookie. |
flags | corda | Quaisquer sinalizadores definidos no cookie. |
creation_date | data hora | Quando o cookie foi criado. |
expiry_date | data hora | Quando o cookie expira. |
{
"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"
}
Localização
Atributos de dados
nome | modelo | Descrição |
---|---|---|
data_type | string, sempre location | Um identificador de tipo de dados. |
latitude | flutuador | A coordenada de latitude do local. |
longitude | flutuador | A coordenada de longitude do local. |
altitude | flutuador | A coordenada de altitude do local. |
horizontal_accuracy | flutuador | A precisão horizontal para a medição. |
vertical_accuracy | flutuador | A precisão vertical para a medição. |
position_type | corda | Identificador do método de medição utilizado. |
date_created | data hora | Quando a medição foi feita. |
Dados de amostra
{
"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"
}