Reincubate Relay service
сессии
Процесс сопряжения используется для установления связи между пользователем API и экземпляром приложения Reincubate Relay. По умолчанию, если не установлено соединение, Reincubate Relay отобразит код сопряжения. Пользователь должен передать это вашему приложению, чтобы оно могло создать действительный сеанс с помощью следующего вызова.
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>" } }'
После создания сеанса вы сможете просматривать информацию об экземпляре приложения через атрибут source
объекта сеанса. Это должно выглядеть примерно так:
{ "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" }, ... }
Подписки
В отличие от других служб, требуется подписка, прежде чем API сможет начать извлечение данных из источника Reincubate Relay. Это должно помочь пользователю приложения точно понять, к каким данным осуществляется доступ.
Подписки могут быть созданы rirelay.source
источников типа rirelay.source
, которые являются потомками экземпляра Reincubate Relay. Сессия, используемая при опросе источника, также должна быть указана.
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"] } }'
Подписка останется в состоянии ожидания, пока пользователь не разрешит доступ к определенному устройству в интерфейсе приложения Reincubate Relay. Как только это будет разрешено, состояние перейдет в active
.
Первоначальный опрос немедленно создается при активации подписки, затем последующие опросы будут созданы, когда приложение Reincubate Relay уведомит API о новых данных.
Опросы
Опросы также могут быть созданы вручную для источников с активными подписками. Это полезно при устранении неполадок в полученных данных или при тестировании новых типов данных.
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"] } }'
Мероприятия
Чтобы получать информацию об асинхронных изменениях, таких как подписка, создающая новый опрос, или об истечении сеанса, ваша реализация должна будет получать уведомления о событиях от API через конечную точку webhook.
Для получения подробной информации о том, как настроить и настроить конечную точку веб- подключения, см. Раздел Настройка веб-подключений .
Типы информации
Служба ретрансляции в настоящее время поддерживает получение информации только из rirelay.instance
, которая включает вложенную информацию о любых связанных источниках rirelay.source
атрибуты rirelay.instance.info
название | тип | описание |
---|---|---|
id | идентификатор источника | ID исходного объекта, соответствующего этому экземпляру Relay. |
version | ул | Версия приложения Reincubate Relay. |
os | ул | Идентификатор операционной системы, в которой работает приложение Reincubate Relay. |
sources | список rirelay.source.info | Список источников, связанных с экземпляром. |
date_created | дата и время | Дата и время, когда этот экземпляр был впервые замечен. |
date_last_seen | дата и время | Дата и время последнего просмотра этого экземпляра. |
атрибуты rirelay.source.info
название | тип | описание |
---|---|---|
id | идентификатор источника | ID исходного объекта, соответствующего этому источнику Relay. |
uid | ул | Уникальный идентификатор устройства iOS источника ретрансляции. |
info | вложенный rirelay.source.info.info | Метаданные для этого источника ретрансляции. |
date_created | дата и время | Дата и время, когда этот источник был впервые замечен. |
date_last_seen | дата и время | Дата и время последнего просмотра этого источника. |
атрибуты rirelay.source.info.info
Обратите внимание, что name
, ios_version
, apple_model_id
, apple_serial
и is_encrypted
также включены во вложенные info
данные Source
и, следовательно, доступны непосредственно через конечные точки API.
Для других атрибутов, таких как phone_number
, требуется полный опрос для rirelay.instance.info
, поскольку это личная информация, которая не хранится в API.
название | тип | описание |
---|---|---|
name | ул | Имя источника реле. Доступно на Source.info . |
ios_version | ул | Версия iOS, работающая на источнике Relay, т.е. 13.4 . Доступно на Source.info . |
apple_model_id | ул | Идентификатор модели источника Relay, т.е. iPhone7,2 . Доступно на Source.info . |
apple_serial | ул | Серийный номер источника реле, т.е. F4KPWDR7G5DN . Доступно на Source.info . |
phone_number | по желанию, ул. | Номер телефона источника ретрансляции. Будет пустым, если на устройстве не включена функция сотовой связи (т. е. нет SIM-карты или только Wi-Fi). |
is_encrypted | логический | Установлен ли источник ретрансляции для создания зашифрованных резервных копий. Доступно на Source.info . |
Типы данных
Переинкубировать типы данных приложения Relay
идентификатор | описание |
---|---|
ios_messages.messages | Извлекает данные сообщений iOS, включая iMessage и SMS. |
ios_contacts.contacts | Извлекает данные контактов iOS. |
ios_phone.calls | Извлекает данные телефона iOS. |
ios_calendar.events | Извлекает данные календаря iOS. |
ios_notes.notes | Извлекает данные iOS Notes. |
ios_health.data | Получает данные о работоспособности iOS. |
ios_safari.history | Извлекает данные истории браузера Safari. |
ios_safari.cookies | Извлекает данные cookie Safari. |
whatsapp.messages | Получает сообщения WhatsApp. |
whatsapp.calls | Получает историю звонков WhatsApp. |
viber.messages | Получает сообщения Viber. |
viber.calls | Получает историю звонков Viber. |
viber.conversations | Получает разговоры Viber. |
viber.contacts | Получает контакты Viber. |
kik.messages | Получает сообщения Kik. |
kik.contacts | Извлекает контакты Kik. |
hike.messages | Получает сообщения похода. |
hike.posts | Извлекает сообщения похода. |
wechat.messages | Получает сообщения WeChat. |
tinder.messages | Получает сообщения Tinder. |
line.messages | Извлекает сообщения линии. |
facebook.messages | Получает сообщения Facebook. |
snapchat.messages | Получает сообщения Snapchat. |
snapchat.stories | Извлекает истории Snapchat. |
skype.messages | Получает сообщения Skype. |
Reincubate Relay агрегированные типы данных
идентификатор | описание |
---|---|
.photos | Сканирует резервную копию на наличие файлов изображений. |
.videos | Сканирует резервную копию на наличие видеофайлов. |
.recordings | Сканирует резервную копию для записи файлов. |
.voicemails | Сканирует резервную копию на наличие файлов голосовой почты. |
.app_usage | Сканирует резервную копию для получения информации об использовании приложения. |
.installed_apps | Сканирует резервную копию на наличие информации об установленных приложениях. |
.locations | Сканирует резервную копию для местоположений. |
.linked_watches | Сканирует резервную копию на наличие связанной информации Apple Watch. |
iOS сообщения
Сообщения
Идентификатор типа данных | ios_messages.messages |
Атрибуты данных
Расширяет тип данных message
.
Образец данных
{ "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" }
iOS контакты
контакты
Идентификатор типа данных | ios_contacts.contacts |
Атрибуты данных
Расширяет тип contact
данных.
Образец данных
{ "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" }
iOS Phone
Вызовы
Идентификатор типа данных | ios_phone.calls |
Атрибуты данных
Расширяет тип данных call
.
Образец данных
{ "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" }
Календарь iOS
Мероприятия
Идентификатор типа данных | ios_calendar.events |
Атрибуты данных
Расширяет тип данных event
.
Образец данных
{ "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 }
iOS Notes
Ноты
Идентификатор типа данных | ios_notes.notes |
Атрибуты данных
Расширяет тип данных note
.
iOS Health
Данные, связанные с приложением iOS Health и платформой HealthKit.
Данные
Идентификатор типа данных | ios_health.data |
ios_health.profile
название | тип | описание |
---|---|---|
info_type | строка, всегда ios_health.profile | Идентификатор типа данных элемента. |
gender | необязательная строка | Один из: Female , Male , Other . |
date_of_birth | необязательная дата | Дата рождения владельца профиля. |
weight | необязательный поплавок | Измерение веса владельца профиля в килограммах. |
height | необязательный поплавок | Измерение роста владельца профиля в метрах. |
blood_type | необязательная строка | Группа крови владельца профиля. |
fitzpatrick_skin_type | необязательная строка | Тип кожи владельца профиля по Фицпатрику. Один из: Type I , Type II , Type II , Type IV , Type V |
Образец 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
название | тип | описание |
---|---|---|
id | нить | Идентификатор элемента. |
data_type | нить | Идентификатор типа данных элемента. Один из типов данных iOS Health. |
type | нить | Тип образца. Один из: quantity , binary , category . |
value | одно из строк, чисел с плавающей запятой, целых чисел | Примерная стоимость. Тип этого поля зависит от атрибута type |
unit | необязательная строка | Установите, если единица выборки не является единицей измерения по умолчанию. |
was_user_entered | логический | Ввел ли пользователь это измерение вручную. |
start_date | дата и время | Когда начался период выборки. |
end_date | дата и время | Когда период выборки закончился. |
Типы данных 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
Образец данных
{ "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
история
Идентификатор типа данных | ios_safari.history |
Атрибуты данных
Расширяет тип данных visit
.
Образец данных
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
Печенье
Идентификатор типа данных | ios_safari.cookies |
Атрибуты данных
Расширяет тип данных cookie
.
Образец данных
{ "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.messages |
Атрибуты
Расширяет тип данных message
.
Вызовы
Идентификатор типа данных | whatsapp.calls |
Атрибуты
Расширяет тип данных call
.
Вайбер
Звонки
viber.messages | Получает сообщения Viber. |
viber.calls | Получает историю звонков Viber. |
viber.conversations | Получает разговоры Viber. |
viber.contacts | Получает контакты Viber. |
Сообщения
Идентификатор типа данных | viber.messages |
Атрибуты
Расширяет тип данных message
.
Звонки
Идентификатор типа данных | viber.calls |
Атрибуты
Расширяет тип данных call
.
Разговоры
Идентификатор типа данных | viber.conversations |
Атрибуты
Расширяет тип данных conversation
.
Контакты
Идентификатор типа данных | viber.contacts |
Атрибуты
Расширяет тип contact
данных.
Кик
Сообщения
Идентификатор типа данных | kik.messages |
Атрибуты
Расширяет тип данных message
.
контакты
Идентификатор типа данных | kik.contacts |
Атрибуты
Расширяет тип contact
данных.
Путешествовать пешком
hike.messages | Получает сообщения похода. |
hike.posts | Извлекает сообщения похода. |
Сообщения
Идентификатор типа данных | hike.messages |
Атрибуты
Расширяет тип данных message
.
Сообщений
Идентификатор типа данных | hike.posts |
Атрибуты
Расширяет тип данных message
.
Сообщения
Идентификатор типа данных | wechat.messages |
Атрибуты
Расширяет тип данных message
.
Tinder
Сообщения
Идентификатор типа данных | tinder.messages |
Атрибуты
Расширяет тип данных message
.
Линия
Сообщения
Идентификатор типа данных | line.messages |
Атрибуты
Расширяет тип данных message
.
Facebook Messenger
Сообщения
Идентификатор типа данных | facebook.messenger |
Атрибуты
Расширяет тип данных message
.
Snapchat
Сообщения
Идентификатор типа данных | snapchat.messages |
Атрибуты
Расширяет тип данных message
.
Рассказы
Идентификатор типа данных | snapchat.stories |
Атрибуты
Расширяет тип данных message
.
Skype
Сообщения
Идентификатор типа данных | skype.messages |
Атрибуты
Расширяет тип данных message
.