Reincubar o serviço de retransmissão
Sessões
Um processo de emparelhamento é usado para estabelecer um link entre um usuário da API e uma instância do aplicativo Reincubate Relay. Por padrão, se não estiver emparelhado, o Reincubate Relay exibirá seu código de emparelhamento. O usuário deve fornecer isso ao seu aplicativo para criar uma sessão válida, através da seguinte chamada.
curl https://ricloud-api.reincubate.com/sessions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "source": { "user": "1", "type": "rirelay.instance" }, "payload": { "code": "<Reincubate Relay pairing code>" } }'
Depois que a sessão for criada, você poderá visualizar informações na instância do aplicativo por meio do atributo de source
do objeto da sessão. Isso deve ser algo como isto:
{ "id": "<session ID>", "resource": "session", ... "source": { "id": "<source ID>", "resource": "source", "user": "<user ID>", "type": "rirelay.instance", "identifier": "ee360f13-1b54-4d8c-8876-e5f573f0ba1c", "info": null, "parent": null, "children": { "data": [ { "id": "<child source ID>", "resource": "source", "user": "<user ID>", "type": "rirelay.source", "identifier": "70a4982e-5893-4a5f-8af6-19db834d378d", "info": { "is_encrypted": true, "apple_model_id": "iPhone10,4", "apple_serial": "FFABCZGTJC12", "name": "iPhone 8", "ios_version": "13.2" }, "children": { "data": [], "has_more": false, "total_count": 0, "url": "/sources/<child source ID>/children" }, "state": "active", "date_created": "2019-10-08T09:02:15.770532Z" } ], "has_more": false, "total_count": 0, "url": "/sources/<source ID>/children" }, "state": "active", "date_created": "2019-10-08T08:58:33.861941Z" }, ... }
Assinaturas
Diferentemente de outros serviços, é necessária uma assinatura para que a API possa começar a recuperar dados de uma origem do Reincubate Relay. Isso ajuda o usuário do aplicativo a entender exatamente quais dados estão sendo acessados.
As assinaturas só podem ser criadas com fontes do tipo rirelay.source
, que são os filhos da instância Reincubate Relay. A sessão a ser usada ao pesquisar a fonte também deve ser especificada.
curl https://ricloud-api.reincubate.com/subscriptions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "source": "<child source ID>", "poll_payload": { "data_types": ["ios_messages.messages"] } }'
A assinatura permanecerá em um estado pendente até que o usuário permita o acesso ao dispositivo específico na interface do aplicativo Reincubate Relay. Uma vez permitido, o estado passará para active
.
Uma pesquisa inicial é criada imediatamente na ativação da assinatura, e as pesquisas subsequentes serão criadas quando o aplicativo Reincubate Relay notificar a API sobre novos dados.
Pesquisas
As pesquisas também podem ser criadas manualmente em fontes com assinaturas ativas. Isso é útil ao solucionar problemas de dados recuperados ou ao testar novos tipos de dados.
curl https://ricloud-api.reincubate.com/polls \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "subscription": "<subscription ID>", "payload": { "data_types": ["ios_phone.calls", "whatsapp.messages"] } }'
Eventos
Para se manter informado sobre alterações assíncronas, como uma assinatura criando uma nova enquete ou uma sessão expirando, sua implementação precisará receber notificações de eventos da API por meio de um ponto de extremidade de webhook.
Para obter detalhes sobre como instalar e configurar o ponto de extremidade do webhook, consulte Configurando o webhooks .
Tipos de informação
O serviço Relay atualmente suporta apenas a recuperação de informações de rirelay.instance
, que inclui informações aninhadas em quaisquer fontes rirelay.source
atributos rirelay.instance.info
nome | modelo | Descrição |
---|---|---|
id | código de origem | ID do objeto de origem correspondente a esta instância do Relay. |
version | str | Versão do aplicativo Reincubate Relay. |
os | str | Identificador do sistema operacional em que o aplicativo Reincubate Relay está sendo executado. |
sources | lista de rirelay.source.info | Lista de origens associadas à instância. |
date_created | data hora | Datetime quando esta instância foi vista pela primeira vez. |
date_last_seen | data hora | Data e hora em que esta instância foi vista pela última vez. |
atributos rirelay.source.info
nome | modelo | Descrição |
---|---|---|
id | código de origem | ID do objeto de origem correspondente a esta origem do Relay. |
uid | str | O ID exclusivo do dispositivo iOS da origem do Relay. |
info | aninhado rirelay.source.info.info | Metadados para esta fonte de retransmissão. |
date_created | data hora | Datetime quando esta fonte foi vista pela primeira vez. |
date_last_seen | data hora | Datetime quando esta fonte foi vista pela última vez. |
atributos rirelay.source.info.info
Observe que name
, ios_version
, apple_model_id
, apple_serial
e is_encrypted
, também estão incluídos nos dados de info
aninhados Source
e, portanto, podem ser acessados diretamente por meio de endpoints da API.
Para outros atributos, como phone_number
, uma pesquisa completa para rirelay.instance.info
é necessária - como este é informação pessoal não é armazenado pela API.
nome | modelo | Descrição |
---|---|---|
name | str | Nome da fonte do relé. Disponível em Source.info . |
ios_version | str | Versão do iOS em execução na fonte Relay, ou seja, 13.4 . Disponível em Source.info . |
apple_model_id | str | ID do modelo da fonte do relé, ou seja, iPhone7,2 . Disponível em Source.info . |
apple_serial | str | Número de série da fonte do relé, ou seja, F4KPWDR7G5DN . Disponível em Source.info . |
phone_number | opcional, str | Número de telefone da fonte de relé. Estará vazio se a funcionalidade de celular não estiver habilitada no dispositivo (ou seja, sem SIM ou apenas Wi-Fi). |
is_encrypted | bool | Se a origem do Relay está configurada para produzir backups criptografados. Disponível em Source.info . |
Tipos de dados
Reincubar tipos de dados do aplicativo de retransmissão
identificador | Descrição |
---|---|
ios_messages.messages | Recupera dados de mensagens do iOS, incluindo iMessage e SMS. |
ios_contacts.contacts | Recupera dados de contatos do iOS. |
ios_phone.calls | Recupera os dados do telefone iOS. |
ios_calendar.events | Recupera os dados do calendário do iOS. |
ios_notes.notes | Recupera dados do iOS Notes. |
ios_health.data | Recupera dados do iOS Health. |
ios_safari.history | Recupera os dados do histórico do navegador Safari. |
ios_safari.cookies | Recupera dados de cookies do Safari. |
whatsapp.messages | Recupera mensagens do WhatsApp. |
whatsapp.calls | Recupera o histórico de chamadas do WhatsApp. |
viber.messages | Recupera mensagens do Viber. |
viber.calls | Recupera o histórico de chamadas do Viber. |
viber.conversations | Recupera conversas do Viber. |
viber.contacts | Recupera os contatos do Viber. |
kik.messages | Recupera mensagens Kik. |
kik.contacts | Recupera contatos Kik. |
hike.messages | Recupera mensagens de caminhada. |
hike.posts | Recupera postagens de caminhada. |
wechat.messages | Recupera mensagens do WeChat. |
tinder.messages | Recupera mensagens do Tinder. |
line.messages | Recupera mensagens de linha. |
facebook.messages | Recupera mensagens do Facebook. |
snapchat.messages | Recupera mensagens do Snapchat. |
snapchat.stories | Recupera histórias do Snapchat. |
skype.messages | Recupera mensagens do Skype. |
Reincubar tipos de dados agregados de retransmissão
identificador | Descrição |
---|---|
.photos | Verifica o backup em busca de arquivos de imagem. |
.videos | Verifica o backup para arquivos de vídeo. |
.recordings | Verifica o backup para arquivos de gravação. |
.voicemails | Verifica o backup de arquivos de correio de voz. |
.app_usage | Verifica o backup para obter informações de uso do aplicativo. |
.installed_apps | Verifica o backup para obter informações do aplicativo instalado. |
.locations | Verifica o backup em busca de locais. |
.linked_watches | Verifica o backup em busca de informações vinculadas do Apple Watch. |
Mensagens do iOS
Mensagens
Código do tipo de dados | ios_messages.messages |
Atributos de dados
Estende o tipo de dados da message
.
Dados de amostra
{ "id": "a1b2c3d4", "data_type": "message", "conversation_id": "w6x7y8z9", "handle": "vodafone", "type": "SMS", "text": "Hi from Vodafone!", "attachments": [], "group_handles": [ "+441234567890", "renate@reincubate.com" ], "from_me": false, "deleted": false, "date": "2020-01-01T00:00:00.000000Z" }
Contatos do iOS
Contatos
Código do tipo de dados | ios_contacts.contacts |
Atributos de dados
Estende o tipo de dados do contact
.
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 00:00:00.000000Z" }
Telefone iOS
Chamadas
Código do tipo de dados | ios_phone.calls |
Atributos de dados
Estende o tipo de dados da call
.
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" }
Calendário do iOS
Eventos
Código do tipo de dados | ios_calendar.events |
Atributos de dados
Estende o tipo de dados do event
.
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 }
Notas do iOS
Notas
Código do tipo de dados | ios_notes.notes |
Atributos de dados
Estende o tipo de dados da note
.
Saúde do iOS
Dados associados ao aplicativo iOS Health e à estrutura HealthKit.
Dados
Código do tipo de dados | ios_health.data |
Atributos ios_health.profile
nome | modelo | Descrição |
---|---|---|
info_type | string, sempre ios_health.profile | ID do tipo de dados do item. |
gender | string opcional | Um de: Female , Male , Other . |
date_of_birth | data opcional | A data de nascimento do proprietário do perfil. |
weight | flutuação opcional | A medida do peso do proprietário do perfil, em quilogramas. |
height | flutuação opcional | A medida da altura do proprietário do perfil, em metros. |
blood_type | string opcional | O tipo sanguíneo do proprietário do perfil. |
fitzpatrick_skin_type | string opcional | O tipo de skin Fitzpatrick do proprietário do perfil. Um de: Type I , Type II , Type II , Type IV , Type V |
Amostra ios_health.profile
{ "info_type": "ios_health.profile", "gender": "Female", "date_of_birth": "1988-08-22", "weight": 75.2543977, "height": 1.9812, "blood_type": "O+", "fitzpatrick_skin_type": "Type V" }
Atributos ios_health.sample
nome | modelo | Descrição |
---|---|---|
id | corda | Código do item. |
data_type | corda | ID do tipo de dados do item. Um dos tipos de dados do iOS Health. |
type | corda | Tipo de amostra. Um de: quantity , binary , category . |
value | um de string, float, integer | Valor da amostra. O tipo deste campo depende do atributo de type |
unit | string opcional | Defina se for uma unidade de amostra não padrão. |
was_user_entered | boleano | Se o usuário inseriu essa medição manualmente. |
start_date | data hora | Quando o período de amostragem começou. |
end_date | data hora | Quando o período de amostragem terminou. |
Tipos de dados de integridade do iOS:
ios_health.body_mass_index
ios_health.body_fat_percentage
ios_health.height
ios_health.weight
ios_health.lean_body_mass
ios_health.heart_rate
ios_health.steps
ios_health.walking_running_distance
ios_health.resting_energy
ios_health.active_energy
ios_health.flights_climbed
ios_health.oxygen_saturation
ios_health.blood_glucose
ios_health.systolic_blood_pressure
ios_health.diastolic_blood_pressure
ios_health.blood_alcohol_content
ios_health.peripheral_perfusion_index
ios_health.total_fat
ios_health.polyunsaturated_fat
ios_health.monounsaturated_fat
ios_health.saturated_fat
ios_health.dietary_cholesterol
ios_health.sodium
ios_health.carbohydrates
ios_health.fibre
ios_health.dietary_sugar
ios_health.dietary_energy
ios_health.protein
ios_health.vitamin_a
ios_health.vitamin_b6
ios_health.vitamin_b12
ios_health.vitamin_c
ios_health.vitamin_d
ios_health.vitamin_e
ios_health.vitamin_k
ios_health.calcium
ios_health.iron
ios_health.thiamine
ios_health.riboflavin
ios_health.niacin
ios_health.folate
ios_health.biotin
ios_health.pantothenic_acid
ios_health.phosphorous
ios_health.iodine
ios_health.magnesium
ios_health.zinc
ios_health.selenium
ios_health.copper
ios_health.manganese
ios_health.chromium
ios_health.molybdenum
ios_health.chloride
ios_health.potassium
ios_health.number_of_times_fallen
ios_health.electrodermal_activity
ios_health.inhaler_usage
ios_health.respiratory_rate
ios_health.body_temperature
ios_health.sleep_analysis
ios_health.forced_vital_capacity
ios_health.forced_expiration_volume_1
ios_health.peak_expiratory_flow_rate
ios_health.caffeine
ios_health.workout
ios_health.blood_pressure_correlation
ios_health.cycling_distance
ios_health.water
ios_health.uv_index
ios_health.basal_body_temperature
ios_health.cervical_mucus_quality
ios_health.ovulation_test_results
ios_health.menstruation
ios_health.spotting
ios_health.sexual_activity
Dados de amostra
{ "id": "a1b2c3d41", "data_type": "ios_health.walking_running_distance", "type": "quantity", "value": 6.08, "was_user_entered": false, "start_date": "2016-07-04T18:11:54.000000Z", "end_date": "2016-07-04T18:12:09.000000Z" }, { "id": "a1b2c3d42", "data_type": "ios_health.steps", "type": "quantity", "value": 8.0, "was_user_entered": false, "start_date": "2016-07-04T18:11:54.000000Z", "end_date": "2016-07-04T18:12:09.000000Z" }, { "id": "a1b2c3d43", "data_type": "ios_health.caffeine", "type": "quantity", "value": 800.0, "unit": "mg", "was_user_entered": true, "start_date": "2016-07-04T18:11:54.000000Z", "end_date": "2016-07-04T18:12:09.000000Z" }
iOS Safari
História
Código do tipo de dados | ios_safari.history |
Atributos de dados
Estende o tipo de dados da visit
.
Dados de amostra
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
Biscoitos
Código do tipo de dados | ios_safari.cookies |
Atributos de dados
Estende o tipo de dados do cookie
.
Dados de amostra
{ "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" }
Mensagens
Código do tipo de dados | whatsapp.messages |
Atributos
Estende o tipo de dados da message
.
Chamadas
Código do tipo de dados | whatsapp.calls |
Atributos
Estende o tipo de dados da call
.
Viber
Chamadas
viber.messages | Recupera mensagens do Viber. |
viber.calls | Recupera o histórico de chamadas do Viber. |
viber.conversations | Recupera conversas do Viber. |
viber.contacts | Recupera os contatos do Viber. |
Mensagens
Código do tipo de dados | viber.messages |
Atributos
Estende o tipo de dados da message
.
Chamadas
Código do tipo de dados | viber.calls |
Atributos
Estende o tipo de dados da call
.
Conversas
Código do tipo de dados | viber.conversations |
Atributos
Estende o tipo de dados da conversation
.
Contatos
Código do tipo de dados | viber.contacts |
Atributos
Estende o tipo de dados do contact
.
Kik
Mensagens
Código do tipo de dados | kik.messages |
Atributos
Estende o tipo de dados da message
.
Contatos
Código do tipo de dados | kik.contacts |
Atributos
Estende o tipo de dados do contact
.
Caminhada
hike.messages | Recupera mensagens de caminhada. |
hike.posts | Recupera postagens de caminhada. |
Mensagens
Código do tipo de dados | hike.messages |
Atributos
Estende o tipo de dados da message
.
Postagens
Código do tipo de dados | hike.posts |
Atributos
Estende o tipo de dados da message
.
Mensagens
Código do tipo de dados | wechat.messages |
Atributos
Estende o tipo de dados da message
.
Tinder
Mensagens
Código do tipo de dados | tinder.messages |
Atributos
Estende o tipo de dados da message
.
Linha
Mensagens
Código do tipo de dados | line.messages |
Atributos
Estende o tipo de dados da message
.
Facebook Messenger
Mensagens
Código do tipo de dados | facebook.messenger |
Atributos
Estende o tipo de dados da message
.
Snapchat
Mensagens
Código do tipo de dados | snapchat.messages |
Atributos
Estende o tipo de dados da message
.
Histórias
Código do tipo de dados | snapchat.stories |
Atributos
Estende o tipo de dados da message
.
Skype
Mensagens
Código do tipo de dados | skype.messages |
Atributos
Estende o tipo de dados da message
.