Servicio de relé de reincubación
Sesiones
Se utiliza un proceso de emparejamiento para establecer un enlace entre un usuario de la API y una instancia de la aplicación Reincubate Relay. Por defecto, si no está emparejado, el relé Reincubate mostrará su código de emparejamiento. El usuario debe darle esto a su aplicación para que pueda crear una sesión válida, a través de la siguiente llamada.
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>" } }'
Una vez creada la sesión, podrá ver información sobre la instancia de la aplicación a través del atributo de source
del objeto de sesión. Esto debería verse más o menos así:
{ "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" }, ... }
Suscripciones
A diferencia de otros servicios, se requiere una suscripción antes de que la API pueda comenzar a recuperar datos de una fuente de Reincubate Relay. Esto es para ayudar al usuario de la aplicación a comprender exactamente a qué datos se está accediendo.
Las suscripciones solo se pueden crear contra fuentes de tipo rirelay.source
, que son elementos secundarios de la instancia Reincubate Relay. También se debe especificar la sesión que se utilizará al sondear la fuente.
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"] } }'
La suscripción permanecerá en estado pendiente hasta que el usuario haya permitido el acceso al dispositivo específico en la interfaz de la aplicación Reincubate Relay. Una vez que se ha permitido, el estado pasará a active
.
Una encuesta inicial se crea inmediatamente en la activación de la suscripción, luego se crearán encuestas posteriores cuando la aplicación Reincubate Relay notifique a la API de nuevos datos.
Centro
Las encuestas también se pueden crear manualmente contra fuentes con suscripciones activas. Esto es útil al solucionar problemas de datos recuperados o al probar nuevos tipos de datos.
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 mantenerse informado de los cambios asincrónicos, como una suscripción que crea una nueva encuesta o una sesión que caduca, su implementación deberá recibir notificaciones de eventos de la API a través de un punto final de webhook.
Para obtener detalles sobre cómo configurar y configurar su punto final webhook, consulte configuración de webhooks .
Tipos de información
Actualmente, el servicio de retransmisión solo admite la recuperación de información de rirelay.instance
, que incluye información anidada en cualquier fuente rirelay.source
Atributos de rirelay.instance.info
nombre | escribe | descripción |
---|---|---|
id | identificación de la fuente | ID del objeto de origen correspondiente a esta instancia de Relay. |
version | calle | Versión de la aplicación Reincubate Relay. |
os | calle | Identificador del sistema operativo en el que se ejecuta la aplicación Reincubate Relay. |
sources | lista de rirelay.source.info | Lista de fuentes asociadas a la instancia. |
date_created | fecha y hora | Fecha y hora en que se vio por primera vez esta instancia. |
date_last_seen | fecha y hora | Fecha y hora en que se vio por última vez esta instancia. |
Atributos de rirelay.source.info
nombre | escribe | descripción |
---|---|---|
id | identificación de la fuente | ID del objeto fuente correspondiente a esta fuente de retransmisión. |
uid | calle | El ID único del dispositivo iOS de la fuente de retransmisión. |
info | anidado rirelay.source.info.info | Metadatos para esta fuente de retransmisión. |
date_created | fecha y hora | Fecha y hora en que se vio por primera vez esta fuente. |
date_last_seen | fecha y hora | Fecha y hora en que se vio por última vez esta fuente. |
Atributos de rirelay.source.info.info
Tenga en cuenta que name
, ios_version
, apple_model_id
, apple_serial
e is_encrypted
también se incluyen en los datos de info
anidados Source
y, por lo tanto, se puede acceder a ellos directamente a través de los puntos finales de la API.
Para otros atributos, como phone_number
, se requiere una encuesta completa para rirelay.instance.info
, ya que esta es información de identificación personal que no almacena la API.
nombre | escribe | descripción |
---|---|---|
name | calle | Nombre de la fuente de retransmisión. Disponible en Source.info . |
ios_version | calle | Versión de iOS que se ejecuta en la fuente de Relay, es decir, 13.4 . Disponible en Source.info . |
apple_model_id | calle | ID de modelo de la fuente de retransmisión, es decir, iPhone7,2 . Disponible en Source.info . |
apple_serial | calle | Número de serie de la fuente de relé, es decir, F4KPWDR7G5DN . Disponible en Source.info . |
phone_number | opcional, calle | Número de teléfono de la fuente de retransmisión. Estará vacío si la funcionalidad celular no está habilitada en el dispositivo (es decir, sin SIM o solo Wi-Fi). |
is_encrypted | bool | Si la fuente de retransmisión está configurada para producir copias de seguridad cifradas. Disponible en Source.info . |
Tipos de datos
Reincubate los tipos de datos de la aplicación de retransmisión
identificador | descripción |
---|---|
ios_messages.messages | Recupera datos de mensajes de iOS, incluidos iMessage y SMS. |
ios_contacts.contacts | Recupera datos de contactos de iOS. |
ios_phone.calls | Recupera datos del teléfono iOS. |
ios_calendar.events | Recupera datos del calendario de iOS. |
ios_notes.notes | Recupera datos de notas de iOS. |
ios_health.data | Recupera datos de salud de iOS. |
ios_safari.history | Recupera datos del historial del navegador Safari. |
ios_safari.cookies | Recupera datos de cookies de Safari. |
whatsapp.messages | Recupera mensajes de WhatsApp. |
whatsapp.calls | Recupera el historial de llamadas de WhatsApp. |
viber.messages | Recupera mensajes de Viber. |
viber.calls | Recupera el historial de llamadas de Viber. |
viber.conversations | Recupera conversaciones de Viber. |
viber.contacts | Recupera contactos de Viber. |
kik.messages | Recupera mensajes de Kik. |
kik.contacts | Recupera contactos de Kik. |
hike.messages | Recupera mensajes de caminata. |
hike.posts | Recupera publicaciones de caminata. |
wechat.messages | Recupera mensajes de WeChat. |
tinder.messages | Recupera mensajes de Tinder. |
line.messages | Recupera mensajes de línea. |
facebook.messages | Recupera mensajes de Facebook. |
snapchat.messages | Recupera mensajes de Snapchat. |
snapchat.stories | Recupera historias de Snapchat. |
skype.messages | Recupera mensajes de Skype. |
Reincubate los tipos de datos agregados de retransmisión
identificador | descripción |
---|---|
.photos | Escanea la copia de seguridad en busca de archivos de imagen. |
.videos | Escanea la copia de seguridad en busca de archivos de video. |
.recordings | Escanea la copia de seguridad en busca de archivos de grabación. |
.voicemails | Escanea la copia de seguridad en busca de archivos de correo de voz. |
.app_usage | Escanea la copia de seguridad en busca de información de uso de la aplicación. |
.installed_apps | Escanea la copia de seguridad en busca de información de la aplicación instalada. |
.locations | Escanea la copia de seguridad en busca de ubicaciones. |
.linked_watches | Escanea la copia de seguridad en busca de información vinculada de Apple Watch. |
Mensajes iOS
Mensajes
ID de tipo de datos | ios_messages.messages |
Atributos de datos
Extiende el tipo de datos del message
.
Data de muestra
{ "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" }
Contactos de iOS
Contactos
ID de tipo de datos | ios_contacts.contacts |
Atributos de datos
Extiende el tipo de datos de contact
.
Data de muestra
{ "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" }
teléfono iOS
Llamadas
ID de tipo de datos | ios_phone.calls |
Atributos de datos
Extiende el tipo de datos de la call
.
Data de muestra
{ "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" }
Calendario iOS
Eventos
ID de tipo de datos | ios_calendar.events |
Atributos de datos
Extiende el tipo de datos del event
.
Data de muestra
{ "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 de iOS
Notas
ID de tipo de datos | ios_notes.notes |
Atributos de datos
Extiende el tipo de datos de la note
.
Salud de iOS
Datos asociados con la aplicación iOS Health y el marco HealthKit.
Datos
ID de tipo de datos | ios_health.data |
atributos de ios_health.profile
nombre | escribe | descripción |
---|---|---|
info_type | cadena, siempre ios_health.profile | ID del tipo de datos del elemento. |
gender | cadena opcional | Uno de: Female , Male , Other . |
date_of_birth | fecha opcional | La fecha de nacimiento del propietario del perfil. |
weight | flotador opcional | La medida del peso del propietario del perfil, en kilogramos. |
height | flotador opcional | La medida de la altura del propietario del perfil, en metros. |
blood_type | cadena opcional | El tipo de sangre del propietario del perfil. |
fitzpatrick_skin_type | cadena opcional | El tipo de piel Fitzpatrick del propietario del perfil. Uno de: Type I , Type II , Type II , Type IV , Type V . |
ios_health.profile
sample
{ "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
nombre | escribe | descripción |
---|---|---|
id | cuerda | Identificación del artículo. |
data_type | cuerda | ID del tipo de datos del elemento. Uno de los tipos de datos de salud de iOS. |
type | cuerda | Tipo de ejemplo. Uno de: quantity , binary , category . |
value | uno de cadena, flotante, entero | Valor de la muestra. El tipo de este campo depende del atributo de type |
unit | cadena opcional | Establezca si es una unidad de muestra no predeterminada. |
was_user_entered | booleano | Si el usuario ingresó esta medida manualmente. |
start_date | fecha y hora | Cuándo comenzó el período de muestreo. |
end_date | fecha y hora | Cuando terminó el período de muestreo. |
Tipos de datos de salud de 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
Data de muestra
{ "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" }
Safari de iOS
Historia
ID de tipo de datos | ios_safari.history |
Atributos de datos
Extiende el tipo de datos de visit
.
Data de muestra
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
Galletas
ID de tipo de datos | ios_safari.cookies |
Atributos de datos
Extiende el tipo de datos de cookie
.
Data de muestra
{ "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" }
Mensajes
ID de tipo de datos | whatsapp.messages |
Atributos
Extiende el tipo de datos del message
.
Llamadas
ID de tipo de datos | whatsapp.calls |
Atributos
Extiende el tipo de datos de la call
.
Viber
Llamadas
viber.messages | Recupera mensajes de Viber. |
viber.calls | Recupera el historial de llamadas de Viber. |
viber.conversations | Recupera conversaciones de Viber. |
viber.contacts | Recupera contactos de Viber. |
Mensajes
ID de tipo de datos | viber.messages |
Atributos
Extiende el tipo de datos del message
.
Llamadas
ID de tipo de datos | viber.calls |
Atributos
Extiende el tipo de datos de la call
.
Conversaciones
ID de tipo de datos | viber.conversations |
Atributos
Extiende el tipo de datos de conversation
.
Contactos
ID de tipo de datos | viber.contacts |
Atributos
Extiende el tipo de datos de contact
.
Kik
Mensajes
ID de tipo de datos | kik.messages |
Atributos
Extiende el tipo de datos del message
.
Contactos
ID de tipo de datos | kik.contacts |
Atributos
Extiende el tipo de datos de contact
.
Caminata
hike.messages | Recupera mensajes de caminata. |
hike.posts | Recupera publicaciones de caminata. |
Mensajes
ID de tipo de datos | hike.messages |
Atributos
Extiende el tipo de datos del message
.
Publicaciones
ID de tipo de datos | hike.posts |
Atributos
Extiende el tipo de datos del message
.
Mensajes
ID de tipo de datos | wechat.messages |
Atributos
Extiende el tipo de datos del message
.
Tinder
Mensajes
ID de tipo de datos | tinder.messages |
Atributos
Extiende el tipo de datos del message
.
Línea
Mensajes
ID de tipo de datos | line.messages |
Atributos
Extiende el tipo de datos del message
.
Facebook Messenger
Mensajes
ID de tipo de datos | facebook.messenger |
Atributos
Extiende el tipo de datos del message
.
Snapchat
Mensajes
ID de tipo de datos | snapchat.messages |
Atributos
Extiende el tipo de datos del message
.
Cuentos
ID de tipo de datos | snapchat.stories |
Atributos
Extiende el tipo de datos del message
.
Skype
Mensajes
ID de tipo de datos | skype.messages |
Atributos
Extiende el tipo de datos del message
.