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
Atributos
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 | corda | O alvo da chamada. Pode ser um número de telefone, ID Apple ou outro identificador. |
duration | flutuador | A duração da chamada. |
answered | bool | Se a chamada foi atendida. |
from_me | bool | Se a chamada foi feita ou recebida. |
date | data hora | Quando a chamada foi feita. |
Dados de amostra
{ "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" }
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" }