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.instance.info
| название | тип | описание |
|---|---|---|
id | идентификатор источника | Идентификатор исходного объекта, соответствующего этому экземпляру Relay. |
version | ул | Версия приложения Reincubate Relay. |
os | ул | Идентификатор операционной системы, в которой запущено приложение Reincubate Relay. |
sources | список rirelay.source.info | Список источников, связанных с экземпляром. |
date_created | Дата и время | Дата и время, когда этот экземпляр был впервые замечен. |
date_last_seen | Дата и время | Дата и время, когда этот экземпляр последний раз видели. |
атрибуты rirelay.source.info
| название | тип | описание |
|---|---|---|
id | идентификатор источника | Идентификатор исходного объекта, соответствующего этому источнику ретрансляции. |
uid | ул | Уникальный идентификатор устройства iOS источника ретрансляции. |
info | вложенный rirelay.source.info.info | Метаданные для этого источника реле. |
date_created | Дата и время | Дата, когда этот источник был впервые увиден. |
date_last_seen | Дата и время | Дата и время, когда этот источник последний раз видели. |
атрибуты rirelay.source.info.info
| название | тип | описание |
|---|---|---|
name | ул | Название источника реле. |
ios_version | ул | Версия iOS, работающая на источнике Relay, т.е. 13.4 . |
apple_model_id | ул | Идентификатор модели источника реле, т.е. iPhone7,2 . |
apple_serial | ул | Серийный номер источника реле, т.е. F4KPWDR7G5DN . |
phone_number | необязательно, ул | Номер телефона источника реле. |
is_encrypted | BOOL | Установлен ли источник ретрансляции для создания зашифрованных резервных копий. |
Типы данных
Переинкубировать типы данных приложения 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 | необязательная строка | Профиль владельца Fitzpatrick Тип кожи. Один из: 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_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
Образец данных
{ "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. | ||
|---|---|---|---|
viber.conversations | Получает разговоры Viber. | ||
[ viber.contacts ] (# viber-contact | |||
| ### Viber |
Сообщения
| Идентификатор типа данных | viber.messages |
Атрибуты
Расширяет тип данных message .
Вызовы
| Идентификатор типа данных | viber.calls |
Атрибуты
Расширяет тип данных call .
Диалоги
| Идентификатор типа данных | viber.conversations |
Атрибуты
Расширяет тип данных conversation .
контакты
| Идентификатор типа данных | viber.contacts |
Атрибуты
Расширяет тип contact данных.
Кик
Сообщения
| Идентификатор типа данных | kik.messages |
Атрибуты
Расширяет тип данных message .
контакты
| Идентификатор типа данных | kik.contacts |
Атрибуты
Расширяет тип contact данных.
Сообщения
| Идентификатор типа данных | 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 .