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
Atualmente, o serviço de retransmissão suporta apenas a recuperação de informações de fontes rirelay.instance .
atributos rirelay.instance.info
| nome | tipo | descrição |
|---|---|---|
id | ID de origem | ID do objeto de origem correspondente a esta instância de retransmissão. |
version | str | Versão do aplicativo Reincubate Relay. |
os | str | Identificador do sistema operacional no qual o aplicativo Reincubate Relay está sendo executado. |
sources | lista de rirelay.source.info | Lista de fontes associadas à instância. |
date_created | data hora | Data e hora em que 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 | tipo | descrição |
|---|---|---|
id | ID de origem | ID do objeto de origem correspondente a essa fonte de retransmissão. |
uid | str | O ID do dispositivo iOS exclusivo da fonte de retransmissão. |
info | aninhado rirelay.source.info.info | Metadados para esta fonte de retransmissão. |
date_created | data hora | Data e hora em que essa fonte foi vista pela primeira vez. |
date_last_seen | data hora | Data e hora em que esta fonte foi vista pela última vez. |
atributos rirelay.source.info.info
| nome | tipo | descrição |
|---|---|---|
name | str | Nome da fonte de retransmissão. |
ios_version | str | Versão do iOS em execução na fonte de retransmissão, ou seja, 13.4 . |
apple_model_id | str | ID do modelo da fonte de retransmissão, ou seja, iPhone7,2 . |
apple_serial | str | Número de série da fonte de retransmissão, ou seja, F4KPWDR7G5DN . |
phone_number | opcional, str | Número de telefone da fonte de retransmissão. |
is_encrypted | bool | Se a fonte de retransmissão está configurada para produzir backups criptografados. |
Tipos de dados
Reincubar tipos de dados do aplicativo de retransmissão
| identificador | descrição |
|---|---|
ios_messages.messages | Recupera dados das mensagens do iOS, incluindo iMessage e SMS. |
ios_contacts.contacts | Recupera dados de contatos do iOS. |
ios_phone.calls | Recupera dados do telefone iOS. |
ios_calendar.events | Recupera dados do calendário do iOS. |
ios_notes.notes | Recupera dados do iOS Notes. |
ios_health.data | Recupera dados de integridade do iOS. |
ios_safari.history | Recupera 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 contatos do Viber. |
kik.messages | Recupera mensagens Kik. |
kik.contacts | Recupera contatos do 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 em busca de arquivos de vídeo. |
.recordings | Verifica o backup em busca de arquivos de gravação. |
.voicemails | Verifica o backup em busca de arquivos de correio de voz. |
.app_usage | Verifica o backup em busca de informações de uso do aplicativo. |
.installed_apps | Verifica o backup em busca de informações sobre aplicativos instalados. |
.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
| ID 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
| ID 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
| ID 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
| ID 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
| ID 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
| ID do tipo de dados | ios_health.data |
Atributos ios_health.profile
| nome | tipo | descrição |
|---|---|---|
info_type | string, sempre ios_health.profile | ID do tipo de dados do item. |
gender | sequência opcional | Um dos: Female , Male , Other . |
date_of_birth | data opcional | A data de nascimento do proprietário do perfil. |
weight | flutuador opcional | Medição do peso do proprietário do perfil, em quilogramas. |
height | flutuador opcional | Medição da altura do proprietário do perfil, em metros. |
blood_type | sequência opcional | O tipo de sangue do proprietário do perfil. |
fitzpatrick_skin_type | sequência opcional | O tipo de pele Fitzpatrick do proprietário do perfil. Um dos: 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 | tipo | descrição |
|---|---|---|
id | corda | ID do item. |
data_type | corda | ID do tipo de dados do item. Um dos tipos de dados de integridade do iOS. |
type | corda | Tipo de amostra. Um de: quantity , binary , category . |
value | um de string, float, inteiro | Valor da amostra. O tipo desse campo depende do atributo de type amostra. |
unit | sequência opcional | Defina se uma unidade de amostra não padrão. |
was_user_entered | boleano | Se o usuário inseriu essa medida 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_indexios_health.body_fat_percentageios_health.heightios_health.weightios_health.lean_body_massios_health.heart_rateios_health.stepsios_health.walking_running_distanceios_health.resting_energyios_health.active_energyios_health.flights_climbedios_health.oxygen_saturationios_health.blood_glucoseios_health.systolic_blood_pressureios_health.diastolic_blood_pressureios_health.blood_alcohol_contentios_health.peripheral_perfusion_indexios_health.total_fatios_health.polyunsaturated_fatios_health.monounsaturated_fatios_health.saturated_fatios_health.dietary_cholesterolios_health.sodiumios_health.carbohydratesios_health.fibreios_health.dietary_sugarios_health.dietary_energyios_health.proteinios_health.vitamin_aios_health.vitamin_b6ios_health.vitamin_b12ios_health.vitamin_cios_health.vitamin_dios_health.vitamin_eios_health.vitamin_kios_health.calciumios_health.ironios_health.thiamineios_health.riboflavinios_health.niacinios_health.folateios_health.biotinios_health.pantothenic_acidios_health.phosphorousios_health.iodineios_health.magnesiumios_health.zincios_health.seleniumios_health.copperios_health.manganeseios_health.chromiumios_health.molybdenumios_health.chlorideios_health.potassiumios_health.number_of_times_fallenios_health.electrodermal_activityios_health.inhaler_usageios_health.respiratory_rateios_health.body_temperatureios_health.sleep_analysisios_health.forced_vital_capacityios_health.forced_expiration_volume_1ios_health.peak_expiratory_flow_rateios_health.caffeineios_health.workoutios_health.blood_pressure_correlationios_health.cycling_distanceios_health.waterios_health.uv_indexios_health.basal_body_temperatureios_health.cervical_mucus_qualityios_health.ovulation_test_resultsios_health.menstruationios_health.spottingios_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
| ID 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
| ID 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
| ID do tipo de dados | whatsapp.messages |
Atributos
Estende o tipo de dados da message .
Chamadas
| ID do tipo de dados | whatsapp.calls |
Atributos
Estende o tipo de dados da call .
| -messages) | Recupera mensagens do Viber. | ||
|---|---|---|---|
viber.conversations | Recupera conversas do Viber. | ||
[ viber.contacts ] (# viber-contact | |||
| ### Viber |
Mensagens
| ID do tipo de dados | viber.messages |
Atributos
Estende o tipo de dados da message .
Chamadas
| ID do tipo de dados | viber.calls |
Atributos
Estende o tipo de dados da call .
Conversas
| ID do tipo de dados | viber.conversations |
Atributos
Estende o tipo de dados da conversation .
Contatos
| ID do tipo de dados | viber.contacts |
Atributos
Estende o tipo de dados do contact .
Kik
Mensagens
| ID do tipo de dados | kik.messages |
Atributos
Estende o tipo de dados da message .
Contatos
| ID do tipo de dados | kik.contacts |
Atributos
Estende o tipo de dados do contact .
Mensagens
| ID do tipo de dados | hike.messages |
Atributos
Estende o tipo de dados da message .
Postagens
| ID do tipo de dados | hike.posts |
Atributos
Estende o tipo de dados da message .
Mensagens
| ID do tipo de dados | wechat.messages |
Atributos
Estende o tipo de dados da message .
Tinder
Mensagens
| ID do tipo de dados | tinder.messages |
Atributos
Estende o tipo de dados da message .
Linha
Mensagens
| ID do tipo de dados | line.messages |
Atributos
Estende o tipo de dados da message .
Facebook Messenger
Mensagens
| ID do tipo de dados | facebook.messenger |
Atributos
Estende o tipo de dados da message .
Snapchat
Mensagens
| ID do tipo de dados | snapchat.messages |
Atributos
Estende o tipo de dados da message .
Histórias
| ID do tipo de dados | snapchat.stories |
Atributos
Estende o tipo de dados da message .
Skype
Mensagens
| ID do tipo de dados | skype.messages |
Atributos
Estende o tipo de dados da message .