中継サービスの再インキュベーション
セッション
ペアリングプロセスを使用して、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の通話履歴を取得します。 |
whatsapp_business.messages |
Retrieves WhatsApp for Business messages. |
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_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サファリ
歴史
| データ型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"
}
WhatsApp & WhatsApp for Business
WhatsApp Messages
| データ型ID | whatsapp.messages |
属性
WhatsApp Calls
| データ型ID | whatsapp.calls |
属性
WhatsApp for Business Messages
| Data type ID | whatsapp_business.messages |
属性
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 |
属性