Service de relais de réincubation
Sessions
Un processus de couplage est utilisé pour établir un lien entre un utilisateur de l'API et une instance d'application Reincubate Relay. Par défaut, s'il n'est pas apparié, le relais de réincubation affichera son code d'appariement. L’utilisateur doit donner cela à votre application pour que celle-ci puisse créer une session valide, via l’appel suivant.
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>" } }'
Une fois la session créée, vous pourrez afficher des informations sur l'instance de l'application via l'attribut source
l'objet de session. Cela devrait ressembler à ceci:
{ "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" }, ... }
Abonnements
Contrairement aux autres services, un abonnement est nécessaire pour que l'API puisse commencer à récupérer les données d'une source Reincubate Relay. Ceci est pour aider l'utilisateur de l'application à comprendre exactement quelles données sont consultées.
Les abonnements ne peuvent être créés que contre des sources de type rirelay.source
, qui sont les enfants de l'instance Reincubate Relay. La session à utiliser lors de l'interrogation de la source doit également être spécifiée.
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'abonnement restera en attente jusqu'à ce que l'utilisateur ait autorisé l'accès au périphérique spécifique dans l'interface de l'application Reincubate Relay. Une fois que cela a été autorisé, l'état passera à l'état active
.
Une interrogation initiale est immédiatement créée lors de l'activation de l'abonnement, puis des interrogations ultérieures sont créées lorsque l'application Reincubate Relay informe l'API de nouvelles données.
Les sondages
Les sondages peuvent également être créés manuellement sur des sources avec des abonnements actifs. Ceci est utile lors du dépannage des données extraites ou lors du test de nouveaux types de données.
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"] } }'
Événements
Pour rester informé des modifications asynchrones, telles qu'un abonnement créant un nouveau sondage ou une session expirant, votre implémentation devra recevoir des notifications d'événement de l'API via un point de terminaison Webhook.
Pour plus d'informations sur la configuration et le paramétrage de votre terminal Webhook, reportez-vous à la section configuration de Webhook .
Types d'informations
Le service Relay ne prend actuellement en charge que la récupération d'informations à partir des rirelay.instance
, qui incluent des informations imbriquées sur toutes les sources rirelay.source
rirelay.instance.info
Nom | taper | la description |
---|---|---|
id | identifiant source | ID de l'objet source correspondant à cette instance Relay. |
version | str | Version de l'application Reincubate Relay. |
os | str | Identifiant du système d'exploitation sur lequel l'application Reincubate Relay s'exécute. |
sources | liste de rirelay.source.info | Liste des sources associées à l'instance. |
date_created | dateheure | Date et heure à laquelle cette instance a été vue pour la première fois. |
date_last_seen | dateheure | Date et heure à laquelle cette instance a été vue pour la dernière fois. |
rirelay.source.info
Nom | taper | la description |
---|---|---|
id | identifiant source | ID de l'objet source correspondant à cette source Relais. |
uid | str | L'ID de périphérique iOS unique de la source du relais. |
info | rirelay.source.info.info imbriqué | Métadonnées pour cette source Relais. |
date_created | dateheure | Date et heure à laquelle cette source a été vue pour la première fois. |
date_last_seen | dateheure | Date et heure à laquelle cette source a été vue pour la dernière fois. |
rirelay.source.info.info
Notez que name
, ios_version
, apple_model_id
, apple_serial
et is_encrypted
, sont également inclus dans les données d' info
imbriquées Source
et sont donc accessibles directement via les points de terminaison de l'API.
Pour d'autres attributs, tels que phone_number
, un sondage complet pour rirelay.instance.info
est requis - car il s'agit d'informations personnellement identifiables non stockées par l'API.
Nom | taper | la description |
---|---|---|
name | str | Nom de la source Relais. Disponible sur Source.info . |
ios_version | str | Version d'iOS fonctionnant sur la source Relay, soit 13.4 . Disponible sur Source.info . |
apple_model_id | str | ID de modèle de la source du relais, c'est-à-dire iPhone7,2 . Disponible sur Source.info . |
apple_serial | str | Numéro de série de la source Relais, c'est-à-dire F4KPWDR7G5DN . Disponible sur Source.info . |
phone_number | facultatif, str | Numéro de téléphone de la source Relais. Sera vide si la fonctionnalité cellulaire n'est pas activée sur l'appareil (c'est-à-dire pas de carte SIM ou Wi-Fi uniquement). |
is_encrypted | bobo | Si la source du relais est configurée pour produire des sauvegardes chiffrées. Disponible sur Source.info . |
Types de données
Types de données de l'application Reincubate Relay
identifiant | la description |
---|---|
ios_messages.messages | Récupère les données des messages iOS, y compris iMessage et SMS. |
ios_contacts.contacts | Récupère les données de contacts iOS. |
ios_phone.calls | Récupère les données du téléphone iOS. |
ios_calendar.events | Récupère les données du calendrier iOS. |
ios_notes.notes | Récupère les données iOS Notes. |
ios_health.data | Récupère les données de santé iOS. |
ios_safari.history | Récupère les données d'historique du navigateur Safari. |
ios_safari.cookies | Récupère les données des cookies Safari. |
whatsapp.messages | Récupère les messages WhatsApp. |
whatsapp.calls | Récupère l'historique des appels WhatsApp. |
viber.messages | Récupère les messages Viber. |
viber.calls | Récupère l'historique des appels Viber. |
viber.conversations | Récupère les conversations Viber. |
viber.contacts | Récupère les contacts Viber. |
kik.messages | Récupère les messages Kik. |
kik.contacts | Récupère les contacts Kik. |
hike.messages | Récupère les messages de randonnée. |
hike.posts | Récupère les messages de randonnée. |
wechat.messages | Récupère les messages WeChat. |
tinder.messages | Récupère les messages Tinder. |
line.messages | Récupère les messages de ligne. |
facebook.messages | Récupère les messages Facebook. |
snapchat.messages | Récupère les messages Snapchat. |
snapchat.stories | Récupère les histoires de Snapchat. |
skype.messages | Récupère les messages Skype. |
Types de données agrégés Reincubate Relay
identifiant | la description |
---|---|
.photos | Analyse la sauvegarde pour les fichiers image. |
.videos | Analyse la sauvegarde des fichiers vidéo. |
.recordings | Analyse la sauvegarde pour les fichiers d'enregistrement. |
.voicemails | Analyse la sauvegarde des fichiers de messagerie vocale. |
.app_usage | Analyse la sauvegarde pour les informations d'utilisation de l'application. |
.installed_apps | Analyse la sauvegarde pour les informations d'application installées. |
.locations | Analyse la sauvegarde pour les emplacements. |
.linked_watches | Analyse la sauvegarde pour les informations Apple Watch liées. |
Messages iOS
messages
Identifiant du type de données | ios_messages.messages |
Attributs de données
Étend le type de données du message
.
Exemples de données
{ "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" }
Contacts iOS
Contacts
Identifiant du type de données | ios_contacts.contacts |
Attributs de données
Étend le type de données de contact
.
Exemples de données
{ "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" }
Téléphone iOS
Appels
Identifiant du type de données | ios_phone.calls |
Attributs de données
Étend le type de données d' call
.
Exemples de données
{ "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" }
Calendrier iOS
Événements
Identifiant du type de données | ios_calendar.events |
Attributs de données
Étend le type de données d' event
.
Exemples de données
{ "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 }
Notes iOS
Remarques
Identifiant du type de données | ios_notes.notes |
Attributs de données
Étend le type de données de note
.
Santé iOS
Données associées à l'application iOS Health et au framework HealthKit.
Les données
Identifiant du type de données | ios_health.data |
ios_health.profile
Nom | taper | la description |
---|---|---|
info_type | chaîne, toujours ios_health.profile | ID du type de données de l'article. |
gender | chaîne facultative | L'un des éléments suivants : Female , Male , Other . |
date_of_birth | date facultative | La date de naissance du propriétaire du profil. |
weight | flotteur en option | La mesure du poids du propriétaire du profil, en kilogrammes. |
height | flotteur en option | La mesure de la hauteur du propriétaire du profil, en mètres. |
blood_type | chaîne facultative | Le groupe sanguin du propriétaire du profil. |
fitzpatrick_skin_type | chaîne facultative | Le type de peau Fitzpatrick du propriétaire du profil. L'un des suivants : Type I , Type II , Type II , Type IV , Type V . |
Échantillon 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" }
ios_health.sample
Nom | taper | la description |
---|---|---|
id | chaîne de caractères | ID de l'article. |
data_type | chaîne de caractères | ID du type de données de l'article. L'un des types de données iOS Health. |
type | chaîne de caractères | Échantillon type. L'un des éléments suivants : quantity , binary , category . |
value | un de chaîne, flottant, entier | Exemple de valeur. Le type de ce champ dépend de l'attribut de type |
unit | chaîne facultative | Définir s'il s'agit d'une unité d'échantillonnage autre que celle par défaut. |
was_user_entered | booléen | Si l'utilisateur a saisi cette mesure manuellement. |
start_date | dateheure | Lorsque la période d'échantillonnage a commencé. |
end_date | dateheure | À la fin de la période d'échantillonnage. |
Types de données iOS Health:
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
Exemples de données
{ "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
Histoire
Identifiant du type de données | ios_safari.history |
Attributs de données
Étend le type de données de visit
.
Exemples de données
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
Biscuits
Identifiant du type de données | ios_safari.cookies |
Attributs de données
Étend le type de données des cookie
.
Exemples de données
{ "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" }
messages
Identifiant du type de données | whatsapp.messages |
Les attributs
Étend le type de données du message
.
Appels
Identifiant du type de données | whatsapp.calls |
Les attributs
Étend le type de données d' call
.
Viber
Appels
viber.messages | Récupère les messages Viber. |
viber.calls | Récupère l'historique des appels Viber. |
viber.conversations | Récupère les conversations Viber. |
viber.contacts | Récupère les contacts Viber. |
messages
Identifiant du type de données | viber.messages |
Les attributs
Étend le type de données du message
.
Appels
Identifiant du type de données | viber.calls |
Les attributs
Étend le type de données d' call
.
Conversations
Identifiant du type de données | viber.conversations |
Les attributs
Étend le type de données de conversation
.
Contacts
Identifiant du type de données | viber.contacts |
Les attributs
Étend le type de données de contact
.
Kik
messages
Identifiant du type de données | kik.messages |
Les attributs
Étend le type de données du message
.
Contacts
Identifiant du type de données | kik.contacts |
Les attributs
Étend le type de données de contact
.
Relever
hike.messages | Récupère les messages de randonnée. |
hike.posts | Récupère les messages de randonnée. |
messages
Identifiant du type de données | hike.messages |
Les attributs
Étend le type de données du message
.
Des postes
Identifiant du type de données | hike.posts |
Les attributs
Étend le type de données du message
.
messages
Identifiant du type de données | wechat.messages |
Les attributs
Étend le type de données du message
.
tinder
messages
Identifiant du type de données | tinder.messages |
Les attributs
Étend le type de données du message
.
Ligne
messages
Identifiant du type de données | line.messages |
Les attributs
Étend le type de données du message
.
Facebook Messenger
messages
Identifiant du type de données | facebook.messenger |
Les attributs
Étend le type de données du message
.
Snapchat
messages
Identifiant du type de données | snapchat.messages |
Les attributs
Étend le type de données du message
.
Histoires
Identifiant du type de données | snapchat.stories |
Les attributs
Étend le type de données du message
.
Skype
messages
Identifiant du type de données | skype.messages |
Les attributs
Étend le type de données du message
.