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 fonti rirelay.instance .
Attributi rirelay.instance.info
| nome | genere | descrizione |
|---|---|---|
id | ID sorgente | ID dell'oggetto sorgente 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 di fonti associate all'istanza. |
date_created | appuntamento | Datetime quando questa istanza è stata vista per la prima volta. |
date_last_seen | appuntamento | Datetime quando è stata vista l'ultima volta questa istanza. |
Attributi rirelay.source.info
| nome | genere | descrizione |
|---|---|---|
id | ID sorgente | ID dell'oggetto sorgente corrispondente a questa origine relè. |
uid | str | L'ID univoco del dispositivo iOS della sorgente di inoltro. |
info | rirelay.source.info.info nidificato | Metadati per questa fonte di inoltro. |
date_created | appuntamento | Datetime quando questa fonte è stata vista per la prima volta. |
date_last_seen | appuntamento | Datetime quando questa fonte è stata vista l'ultima volta. |
Attributi rirelay.source.info.info
| nome | genere | descrizione |
|---|---|---|
name | str | Nome della sorgente di inoltro. |
ios_version | str | Versione di iOS in esecuzione sulla sorgente di inoltro, ovvero 13.4 . |
apple_model_id | str | ID modello della sorgente di inoltro, ovvero iPhone7,2 . |
apple_serial | str | Numero di serie della sorgente di inoltro, ovvero F4KPWDR7G5DN . |
phone_number | opzionale, str | Numero di telefono della sorgente di inoltro. |
is_encrypted | bool | Se l'origine di inoltro è impostata per produrre backup crittografati. |
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 delle note iOS. |
ios_health.data | Recupera i dati di 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 conversazioni Viber. |
viber.contacts | Recupera i contatti di Viber. |
kik.messages | Recupera i messaggi di Kik. |
kik.contacts | Recupera i contatti Kik. |
hike.messages | Recupera i messaggi di escursione. |
hike.posts | Recupera i post di escursione. |
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 storie su Snapchat. |
skype.messages | Recupera i messaggi di Skype. |
Reincubare i tipi di dati aggregati del relè
| identificatore | descrizione |
|---|---|
.photos | Scansiona il backup per i file di immagine. |
.videos | Scansiona il backup per i file video. |
.recordings | Scansiona il backup alla ricerca di file. |
.voicemails | Scansiona il backup alla ricerca di file Voicemail. |
.app_usage | Scansiona il backup alla ricerca di informazioni sull'utilizzo dell'app. |
.installed_apps | Esegue la scansione del backup alla ricerca di informazioni sull'app installata. |
.locations | Scansiona il backup alla ricerca di posizioni. |
.linked_watches | Esegue la scansione del backup per informazioni sull'Apple Watch collegato. |
Messaggi iOS
messaggi
| ID 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 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 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 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 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 tipo di dati | ios_health.data |
Attributi ios_health.profile
| nome | genere | descrizione |
|---|---|---|
info_type | stringa, sempre ios_health.profile | ID tipo di dati articolo. |
gender | stringa opzionale | Uno di: 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 | Il 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 tipo di dati articolo. Uno dei tipi di dati di iOS Health. |
type | corda | Tipo di campione. Uno di: quantity , binary , category . |
value | uno di stringa, float, intero | Valore del 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 | Al termine del periodo di campionamento. |
Tipi di dati di salute 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
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 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 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 tipo di dati | whatsapp.messages |
attributi
Estende il tipo di dati del message .
chiamate
| ID tipo di dati | whatsapp.calls |
attributi
Estende il tipo di dati della call .
| -messages) | Recupera i messaggi di Viber. | ||
|---|---|---|---|
viber.conversations | Recupera conversazioni Viber. | ||
[ viber.contacts ] (# viber-contact | |||
| ### Viber |
messaggi
| ID tipo di dati | viber.messages |
attributi
Estende il tipo di dati del message .
chiamate
| ID tipo di dati | viber.calls |
attributi
Estende il tipo di dati della call .
conversazioni
| ID tipo di dati | viber.conversations |
attributi
Estende il tipo di dati di conversation .
Contatti
| ID tipo di dati | viber.contacts |
attributi
Estende il tipo di dati di contact .
Kik
messaggi
| ID tipo di dati | kik.messages |
attributi
Estende il tipo di dati del message .
Contatti
| ID tipo di dati | kik.contacts |
attributi
Estende il tipo di dati di contact .
messaggi
| ID tipo di dati | hike.messages |
attributi
Estende il tipo di dati del message .
Messaggi
| ID tipo di dati | hike.posts |
attributi
Estende il tipo di dati del message .
messaggi
| ID tipo di dati | wechat.messages |
attributi
Estende il tipo di dati del message .
Tinder
messaggi
| ID tipo di dati | tinder.messages |
attributi
Estende il tipo di dati del message .
Linea
messaggi
| ID tipo di dati | line.messages |
attributi
Estende il tipo di dati del message .
Facebook Messenger
messaggi
| ID tipo di dati | facebook.messenger |
attributi
Estende il tipo di dati del message .
Snapchat
messaggi
| ID tipo di dati | snapchat.messages |
attributi
Estende il tipo di dati del message .
Storie
| ID tipo di dati | snapchat.stories |
attributi
Estende il tipo di dati del message .
Skype
messaggi
| ID tipo di dati | skype.messages |
attributi
Estende il tipo di dati del message .