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. |
whatsapp_business.messages |
Retrieves WhatsApp for Business messages. |
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_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
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"
}
WhatsApp & WhatsApp for Business
WhatsApp Messages
| Identifiant du type de données | whatsapp.messages |
Les attributs
Étend le type de données du message .
WhatsApp Calls
| Identifiant du type de données | whatsapp.calls |
Les attributs
Étend le type de données d' call .
WhatsApp for Business Messages
| Data type ID | whatsapp_business.messages |
Les attributs
Étend le type de données du message .
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 .