Reincubare il servizio di inoltro
sessioni
Un processo di associazione viene utilizzato per stabilire un collegamento tra un utente dell'API e un'istanza dell'app Reincubate Relay. Per impostazione predefinita, se non accoppiato, il relè di reincubazione visualizzerà il suo codice di accoppiamento. L'utente deve dare questo alla tua applicazione affinché possa creare una sessione valida, tramite la seguente chiamata.
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 volta creata la sessione, sarai in grado di visualizzare le informazioni sull'istanza dell'app tramite l'attributo source
dell'oggetto sessione. Questo dovrebbe assomigliare a questo:
{ "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" }, ... }
Sottoscrizioni
A differenza di altri servizi, è necessario un abbonamento prima che l'API possa iniziare a recuperare i dati da un'origine Reincubate Relay. Questo per aiutare l'utente dell'app a capire esattamente a quali dati si accede.
Le sottoscrizioni possono essere create solo su rirelay.source
tipo rirelay.source
, che sono i figli dell'istanza Reincubate Relay. È necessario specificare anche la sessione da utilizzare per il polling della fonte.
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"] } }'
L'abbonamento rimarrà in sospeso fino a quando l'utente non avrà autorizzato l'accesso al dispositivo specifico nell'interfaccia dell'app Reincubate Relay. Una volta che è stato consentito, lo stato passerà a active
.
Un sondaggio iniziale viene immediatamente creato all'attivazione della sottoscrizione, quindi i sondaggi successivi verranno creati quando l'app Reincubate Relay notifica all'API di nuovi dati.
sondaggi
I sondaggi possono anche essere creati manualmente su origini con abbonamenti attivi. Ciò è utile durante la risoluzione dei problemi dei dati recuperati o durante il test di nuovi tipi di dati.
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"] } }'
eventi
Per rimanere informato delle modifiche asincrone, come una sottoscrizione che crea un nuovo sondaggio o una scadenza della sessione, l'implementazione dovrà ricevere notifiche di eventi dall'API tramite un endpoint webhook.
Per i dettagli su come impostare e configurare l'endpoint del webhook, consultare la sezione relativa alla configurazione dei webhook .
Tipi di informazioni
Il servizio di inoltro attualmente supporta solo il recupero di informazioni da rirelay.instance
, che include informazioni nidificate su qualsiasi fonte rirelay.source
Attributi rirelay.instance.info
nome | genere | descrizione |
---|---|---|
id | ID sorgente | ID dell'oggetto di origine corrispondente a questa istanza di inoltro. |
version | str | Versione dell'app Reincubate Relay. |
os | str | Identificatore del sistema operativo su cui è in esecuzione l'app Reincubate Relay. |
sources | elenco di rirelay.source.info | Elenco delle origini associate all'istanza. |
date_created | appuntamento | Datetime in cui questa istanza è stata vista per la prima volta. |
date_last_seen | appuntamento | Datetime in cui questa istanza è stata vista l'ultima volta. |
Attributi rirelay.source.info
nome | genere | descrizione |
---|---|---|
id | ID sorgente | ID dell'oggetto di origine corrispondente a questa origine di inoltro. |
uid | str | L'ID univoco del dispositivo iOS della sorgente di inoltro. |
info | rirelay.source.info.info annidato | Metadati per questa origine di inoltro. |
date_created | appuntamento | Data e ora in cui questa fonte è stata vista per la prima volta. |
date_last_seen | appuntamento | Data e ora in cui questa fonte è stata vista l'ultima volta. |
Attributi rirelay.source.info.info
Si noti che name
, ios_version
, apple_model_id
, apple_serial
, e is_encrypted
, sono inclusi anche nelle nidificate info
dati sulla Source
oggetti, e sono quindi accessibili direttamente tramite gli endpoint API.
Per altri attributi, come phone_number
, è richiesto un sondaggio completo per rirelay.instance.info
, poiché si tratta di informazioni di identificazione personale non memorizzate dall'API.
nome | genere | descrizione |
---|---|---|
name | str | Nome della sorgente del relè. Disponibile in Source.info . |
ios_version | str | Versione di iOS in esecuzione sull'origine Relay, ovvero 13.4 . Disponibile in Source.info . |
apple_model_id | str | ID modello della sorgente Relay, ovvero iPhone7,2 . Disponibile in Source.info . |
apple_serial | str | Numero di serie della sorgente Relay, ovvero F4KPWDR7G5DN . Disponibile in Source.info . |
phone_number | facoltativo, str | Numero di telefono della fonte del relè. Sarà vuoto se la funzionalità cellulare non è abilitata sul dispositivo (es. nessuna SIM o solo Wi-Fi). |
is_encrypted | bollo | Se l'origine di inoltro è impostata per produrre backup crittografati. Disponibile in Source.info . |
Tipi di dati
Reincubare i tipi di dati dell'app di inoltro
identificatore | descrizione |
---|---|
ios_messages.messages | Recupera i dati dei messaggi iOS inclusi iMessage e SMS. |
ios_contacts.contacts | Recupera i dati dei contatti iOS. |
ios_phone.calls | Recupera i dati del telefono iOS. |
ios_calendar.events | Recupera i dati del calendario iOS. |
ios_notes.notes | Recupera i dati di iOS Notes. |
ios_health.data | Recupera i dati sulla salute di iOS. |
ios_safari.history | Recupera i dati della cronologia del browser Safari. |
ios_safari.cookies | Recupera i dati dei cookie di Safari. |
whatsapp.messages | Recupera i messaggi di WhatsApp. |
whatsapp.calls | Recupera la cronologia delle chiamate di WhatsApp. |
viber.messages | Recupera i messaggi di Viber. |
viber.calls | Recupera la cronologia delle chiamate di Viber. |
viber.conversations | Recupera le conversazioni di Viber. |
viber.contacts | Recupera i contatti Viber. |
kik.messages | Recupera i messaggi Kik. |
kik.contacts | Recupera i contatti di Kik. |
hike.messages | Recupera i messaggi di escursione. |
hike.posts | Recupera i post di Hike. |
wechat.messages | Recupera i messaggi di WeChat. |
tinder.messages | Recupera i messaggi di Tinder. |
line.messages | Recupera i messaggi di linea. |
facebook.messages | Recupera i messaggi di Facebook. |
snapchat.messages | Recupera i messaggi di Snapchat. |
snapchat.stories | Recupera le storie di Snapchat. |
skype.messages | Recupera i messaggi di Skype. |
Reincubare i tipi di dati aggregati del relè
identificatore | descrizione |
---|---|
.photos | Esegue la scansione del backup per i file di immagine. |
.videos | Esegue la scansione del backup per i file video. |
.recordings | Esegue la scansione del backup per la registrazione dei file. |
.voicemails | Esegue la scansione del backup per i file di posta vocale. |
.app_usage | Esegue la scansione del backup per le informazioni sull'utilizzo dell'app. |
.installed_apps | Esegue la scansione del backup per le informazioni sull'app installata. |
.locations | Esegue la scansione del backup per le posizioni. |
.linked_watches | Esegue la scansione del backup per le informazioni di Apple Watch collegate. |
Messaggi iOS
messaggi
ID del tipo di dati | ios_messages.messages |
Attributi di dati
Estende il tipo di dati del message
.
Dati di esempio
{ "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" }
Contatti iOS
Contatti
ID del tipo di dati | ios_contacts.contacts |
Attributi di dati
Estende il tipo di dati di contact
.
Dati di esempio
{ "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" }
telefono iOS
chiamate
ID del tipo di dati | ios_phone.calls |
Attributi di dati
Estende il tipo di dati della call
.
Dati di esempio
{ "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
eventi
ID del tipo di dati | ios_calendar.events |
Attributi di dati
Estende il tipo di dati event
.
Dati di esempio
{ "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 }
Note iOS
Appunti
ID del tipo di dati | ios_notes.notes |
Attributi di dati
Estende il tipo di dati della note
.
iOS Health
Dati associati all'app iOS Health e al framework HealthKit.
Dati
ID del tipo di dati | ios_health.data |
Attributi ios_health.profile
nome | genere | descrizione |
---|---|---|
info_type | stringa, sempre ios_health.profile | ID del tipo di dati dell'articolo. |
gender | stringa opzionale | Uno tra: Female , Male , Other . |
date_of_birth | data facoltativa | La data di nascita del proprietario del profilo. |
weight | galleggiante opzionale | La misurazione del peso del proprietario del profilo, in chilogrammi. |
height | galleggiante opzionale | La misurazione dell'altezza del proprietario del profilo, in metri. |
blood_type | stringa opzionale | Il gruppo sanguigno del proprietario del profilo. |
fitzpatrick_skin_type | stringa opzionale | Tipo di pelle Fitzpatrick del proprietario del profilo. Uno di: Type I , Type II , Type II , Type IV , Type V |
esempio 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" }
Attributi ios_health.sample
nome | genere | descrizione |
---|---|---|
id | corda | Numero identificativo dell'oggetto. |
data_type | corda | ID del tipo di dati dell'articolo. Uno dei tipi di dati iOS Health. |
type | corda | Tipo di campione. Uno di: quantity , binary , category . |
value | uno tra stringa, float, intero | Valore campione. Il tipo di questo campo dipende dall'attributo del type esempio. |
unit | stringa opzionale | Impostare se un'unità campione non predefinita. |
was_user_entered | booleano | Se l'utente ha inserito questa misurazione manualmente. |
start_date | appuntamento | Quando è iniziato il periodo di campionamento. |
end_date | appuntamento | Quando il periodo di campionamento è terminato. |
Tipi di dati di salute 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
Dati di esempio
{ "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 iOS
Storia
ID del tipo di dati | ios_safari.history |
Attributi di dati
Estende il tipo di dati della visit
.
Dati di esempio
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
Biscotti
ID del tipo di dati | ios_safari.cookies |
Attributi di dati
Estende il tipo di dati dei cookie
.
Dati di esempio
{ "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" }
messaggi
ID del tipo di dati | whatsapp.messages |
attributi
Estende il tipo di dati del message
.
chiamate
ID del tipo di dati | whatsapp.calls |
attributi
Estende il tipo di dati della call
.
Viber
Chiamate
viber.messages | Recupera i messaggi di Viber. |
viber.calls | Recupera la cronologia delle chiamate di Viber. |
viber.conversations | Recupera le conversazioni di Viber. |
viber.contacts | Recupera i contatti Viber. |
Messaggi
ID del tipo di dati | viber.messages |
attributi
Estende il tipo di dati del message
.
Chiamate
ID del tipo di dati | viber.calls |
attributi
Estende il tipo di dati della call
.
Conversazioni
ID del tipo di dati | viber.conversations |
attributi
Estende il tipo di dati di conversation
.
Contatti
ID del tipo di dati | viber.contacts |
attributi
Estende il tipo di dati di contact
.
Kik
messaggi
ID del tipo di dati | kik.messages |
attributi
Estende il tipo di dati del message
.
Contatti
ID del tipo di dati | kik.contacts |
attributi
Estende il tipo di dati di contact
.
Escursione
hike.messages | Recupera i messaggi di escursione. |
hike.posts | Recupera i post di Hike. |
messaggi
ID del tipo di dati | hike.messages |
attributi
Estende il tipo di dati del message
.
Messaggi
ID del tipo di dati | hike.posts |
attributi
Estende il tipo di dati del message
.
messaggi
ID del tipo di dati | wechat.messages |
attributi
Estende il tipo di dati del message
.
Tinder
messaggi
ID del tipo di dati | tinder.messages |
attributi
Estende il tipo di dati del message
.
Linea
messaggi
ID del tipo di dati | line.messages |
attributi
Estende il tipo di dati del message
.
Facebook Messenger
messaggi
ID del tipo di dati | facebook.messenger |
attributi
Estende il tipo di dati del message
.
Snapchat
messaggi
ID del tipo di dati | snapchat.messages |
attributi
Estende il tipo di dati del message
.
Storie
ID del tipo di dati | snapchat.stories |
attributi
Estende il tipo di dati del message
.
Skype
messaggi
ID del tipo di dati | skype.messages |
attributi
Estende il tipo di dati del message
.