中継サービスの再インキュベーション
セッション
ペアリングプロセスを使用して、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ソースからデータの取得を開始するには、サブスクリプションが必要です。これは、アプリのユーザーがどのデータにアクセスしているかを正確に理解できるようにするためです。
サブスクリプションは、Reincubate Relayインスタンスの子であるrirelay.source
タイプのソースに対してのみ作成できます。ソースをポーリングするときに使用するセッションも指定する必要があります。
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"] } }'
イベント
サブスクリプションが新しいポーリングを作成する、セッションが期限切れになるなど、非同期の変更を常に把握するには、実装がwebhookエンドポイントを介してAPIからイベント通知を受信する必要があります。
webhookエンドポイントをセットアップおよび構成する方法の詳細については、webhookの構成を参照してください。
情報タイプ
rirelay.source
ソースのネストされた情報を含むrirelay.instance
ソースからの情報の取得のみをサポートしています。
rirelay.instance.info
属性
名前 | タイプ | 説明 |
---|---|---|
id | ソースID | このRelayインスタンスに対応するソースオブジェクトのID。 |
version | str | ReincubateRelayアプリのバージョン。 |
os | str | ReincubateRelayアプリが実行されているオペレーティングシステムの識別子。 |
sources | rirelay.source.info リスト | インスタンスに関連付けられているソースのリスト。 |
date_created | 日付時刻 | このインスタンスが最初に見られた日時。 |
date_last_seen | 日付時刻 | このインスタンスが最後に表示された日時。 |
rirelay.source.info
属性
名前 | タイプ | 説明 |
---|---|---|
id | ソースID | このリレーソースに対応するソースオブジェクトのID。 |
uid | str | リレーソースの一意のiOSデバイスID。 |
info | ネストされたrirelay.source.info.info | このリレーソースのメタデータ。 |
date_created | 日付時刻 | このソースが最初に見られた日時。 |
date_last_seen | 日付時刻 | このソースが最後に表示された日時。 |
rirelay.source.info.info
属性
name
、 ios_version
、 apple_model_id
、 apple_serial
、およびis_encrypted
Source
オブジェクトのネストされたinfo
データに含まれているため、APIエンドポイントを介して直接アクセスできることに注意してください。
phone_number
などの他の属性についてrirelay.instance.info
完全なポーリングが必要です。これは、APIによって保存されない個人を特定できる情報であるためです。
名前 | タイプ | 説明 |
---|---|---|
name | str | リレーソースの名前。 Source.info 入手できます。 |
ios_version | str | リレーソースで実行されているiOSのバージョン、つまり13.4 。 Source.info 入手できます。 |
apple_model_id | str | リレーソースのモデルID、つまりiPhone7,2 。 Source.info 入手できます。 |
apple_serial | str | リレーソースのシリアル番号、つまりF4KPWDR7G5DN 。 Source.info 入手できます。 |
phone_number | オプション、str | リレーソースの電話番号。デバイスでセルラー機能が有効になっていない場合(つまり、SIMまたはWi-Fiのみがない場合)は空になります。 |
is_encrypted | ブール | リレーソースが暗号化されたバックアップを生成するように設定されているかどうか。 Source.info 入手できます。 |
データ型
リレーアプリのデータタイプを再インキュベートする
識別子 | 説明 |
---|---|
ios_messages.messages | iMessageやSMSなどのiOSメッセージデータを取得します。 |
ios_contacts.contacts | iOSの連絡先データを取得します。 |
ios_phone.calls | iOS電話のデータを取得します。 |
ios_calendar.events | iOSカレンダーデータを取得します。 |
ios_notes.notes | iOSのメモデータを取得します。 |
ios_health.data | iOSヘルスデータを取得します。 |
ios_safari.history | Safariブラウザの履歴データを取得します。 |
ios_safari.cookies | SafariのCookieデータを取得します。 |
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 | Lineメッセージを取得します。 |
facebook.messages | Facebookメッセージを取得します。 |
snapchat.messages | Snapchatメッセージを取得します。 |
snapchat.stories | Snapchatストーリーを取得します。 |
skype.messages | Skypeメッセージを取得します。 |
リレー集約データ型の再インキュベーション
識別子 | 説明 |
---|---|
.photos | バックアップをスキャンしてイメージファイルを探します。 |
.videos | バックアップをスキャンしてビデオファイルを探します。 |
.recordings | バックアップをスキャンしてファイルを記録します。 |
.voicemails | バックアップをスキャンしてボイスメールファイルを探します。 |
.app_usage | バックアップをスキャンしてアプリの使用状況情報を探します。 |
.installed_apps | バックアップをスキャンして、インストールされているアプリ情報を探します。 |
.locations | バックアップをスキャンして場所を探します。 |
.linked_watches | バックアップをスキャンして、リンクされたAppleWatch情報を探します。 |
iOSメッセージ
メッセージ
データ型ID | ios_messages.messages |
データ属性
サンプルデータ
{ "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の連絡先
連絡先
データ型ID | 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電話
呼び出し
データ型ID | ios_phone.calls |
データ属性
サンプルデータ
{ "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カレンダー
イベント
データ型ID | 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ノート
ノート
データ型ID | ios_notes.notes |
データ属性
note
データ型を拡張します。
iOSの健康
iOS HealthアプリとHealthKitフレームワークに関連付けられたデータ。
データ
データ型ID | ios_health.data |
ios_health.profile
属性
名前 | タイプ | 説明 |
---|---|---|
info_type | 文字列、常にios_health.profile | アイテムのデータ型ID。 |
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 | ストリング | アイテムID。 |
data_type | ストリング | アイテムのデータ型ID。 iOSヘルスデータ型の1つ。 |
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サファリ
歴史
データ型ID | 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" }
クッキー
データ型ID | 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" }
メッセージ
データ型ID | whatsapp.messages |
属性
呼び出し
データ型ID | whatsapp.calls |
属性
Viber
呼び出し
viber.messages | Viberメッセージを取得します。 |
viber.calls | Viberの通話履歴を取得します。 |
viber.conversations | Viberの会話を取得します。 |
viber.contacts | Viberの連絡先を取得します。 |
メッセージ
データ型ID | viber.messages |
属性
呼び出し
データ型ID | viber.calls |
属性
会話
データ型ID | viber.conversations |
属性
conversation
データ型を拡張します。
連絡先
データ型ID | viber.contacts |
属性
contact
データ型を拡張します。
キック
メッセージ
データ型ID | kik.messages |
属性
連絡先
データ型ID | kik.contacts |
属性
contact
データ型を拡張します。
ハイキング
hike.messages | ハイキングメッセージを取得します。 |
hike.posts | ハイキングの投稿を取得します。 |
メッセージ
データ型ID | hike.messages |
属性
投稿
データ型ID | hike.posts |
属性
メッセージ
データ型ID | wechat.messages |
属性
火口
メッセージ
データ型ID | tinder.messages |
属性
ライン
メッセージ
データ型ID | line.messages |
属性
Facebookメッセンジャー
メッセージ
データ型ID | facebook.messenger |
属性
スナップチャット
メッセージ
データ型ID | snapchat.messages |
属性
ストーリー
データ型ID | snapchat.stories |
属性
スカイプ
メッセージ
データ型ID | skype.messages |
属性