From 2fec51643426590263dffb5d443d2183ec0a4f3c Mon Sep 17 00:00:00 2001 From: Niall Date: Fri, 23 Aug 2024 14:08:26 +0100 Subject: [PATCH 1/4] add model number info --- src/connections/spec/common.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/spec/common.md b/src/connections/spec/common.md index 32559d39ae..e044908df9 100644 --- a/src/connections/spec/common.md +++ b/src/connections/spec/common.md @@ -139,7 +139,7 @@ Context is a dictionary of extra information that provides useful context about | `active` | Boolean | Whether a user is active.

This is usually used to flag an `.identify()` call to just update the traits but not "last seen." | | `app` | Object | dictionary of information about the current application, containing `name`, `version`, and `build`.

This is collected automatically from the mobile libraries when possible. | | `campaign` | Object | Dictionary of information about the campaign that resulted in the API call, containing `name`, `source`, `medium`, `term`, `content`, and any other custom UTM parameter.

This maps directly to the common UTM campaign parameters. | -| `device` | Object | Dictionary of information about the device, containing `id`, `advertisingId`, `manufacturer`, `model`, `name`, `type`, and `version`. | +| `device` | Object | Dictionary of information about the device, containing `id`, `advertisingId`, `manufacturer`, `model`, `name`, `type`, and `version`.

**Note:** `model` for iOS may not exactly correspond to an iPhone model number. For example, an `iPhone 15 Pro Max` has a model number of `iPhone16,2`. These values are set by iOS. | | `ip` | String | Current user's IP address. | | `library` | Object | Dictionary of information about the library making the requests to the API, containing `name` and `version`. | | `locale` | String | Locale string for the current user, for example `en-US`. | @@ -258,7 +258,7 @@ Every API call has four timestamps, `originalTimestamp`, `timestamp`, `sentAt`, | Timestamp | Calculated | Description | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `originalTimestamp` | Time on the client device when call was invoked
**OR**
The `timestamp` value manually passed in through server-side libraries. | Used by Segment to calculate `timestamp`.

**Note:** `originalTimestamp` is not useful for analysis since it's not always trustworthy as it can be easily adjusted and affected by clock skew. | -| `sentAt` | Time on client device when call was sent.
**OR**
`sentAt` value manually passed in. | Used by Segment to calculate `timestamp`.

**Note:** `sentAt` is not useful for analysis since it's not always trustworthy as it can be easily adjusted and affected by clock skew. | +| `sentAt` | Time on client device when call was sent.
**OR**
`sentAt` value manually passed in. | Used by Segment to calculate `timestamp`.

**Note:** `sentAt` is not useful for analysis since it's not always by clock skew. | | `receivedAt` | Time on Segment server clock when call was received | Used by Segment to calculate `timestamp`, and used as sort key in Warehouses.

**Note:** For max query speed, `receivedAt` is the recommended timestamp for analysis when chronology does not matter as chronology is not ensured. | | `timestamp` | Calculated by Segment to correct client-device clock skew using the following formula:
`receivedAt` - (`sentAt` - `originalTimestamp`) | Used by Segment to send to downstream destinations, and used for historical replays.

**Note:** Recommended timestamp for analysis when chronology does matter. | From 8809823c098b9a50183c3b7b64f77c2d478e66db Mon Sep 17 00:00:00 2001 From: Niall Date: Fri, 13 Sep 2024 14:16:29 +0100 Subject: [PATCH 2/4] fix text deleted by mistake --- src/connections/spec/common.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/spec/common.md b/src/connections/spec/common.md index e044908df9..ddb5475e83 100644 --- a/src/connections/spec/common.md +++ b/src/connections/spec/common.md @@ -258,7 +258,7 @@ Every API call has four timestamps, `originalTimestamp`, `timestamp`, `sentAt`, | Timestamp | Calculated | Description | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `originalTimestamp` | Time on the client device when call was invoked
**OR**
The `timestamp` value manually passed in through server-side libraries. | Used by Segment to calculate `timestamp`.

**Note:** `originalTimestamp` is not useful for analysis since it's not always trustworthy as it can be easily adjusted and affected by clock skew. | -| `sentAt` | Time on client device when call was sent.
**OR**
`sentAt` value manually passed in. | Used by Segment to calculate `timestamp`.

**Note:** `sentAt` is not useful for analysis since it's not always by clock skew. | +| `sentAt` | Time on client device when call was sent.
**OR**
`sentAt` value manually passed in. | Used by Segment to calculate `timestamp`.

**Note:** `sentAt` is not useful for analysis since it's not always trustworthy as it can be easily adjusted and affected by clock skew. | | `receivedAt` | Time on Segment server clock when call was received | Used by Segment to calculate `timestamp`, and used as sort key in Warehouses.

**Note:** For max query speed, `receivedAt` is the recommended timestamp for analysis when chronology does not matter as chronology is not ensured. | | `timestamp` | Calculated by Segment to correct client-device clock skew using the following formula:
`receivedAt` - (`sentAt` - `originalTimestamp`) | Used by Segment to send to downstream destinations, and used for historical replays.

**Note:** Recommended timestamp for analysis when chronology does matter. | From 3998fc431187ef9141f7c4cf5d87888052f9dfb5 Mon Sep 17 00:00:00 2001 From: Niall Date: Fri, 13 Sep 2024 14:21:32 +0100 Subject: [PATCH 3/4] fix text deleted by mistake --- src/connections/spec/common.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/spec/common.md b/src/connections/spec/common.md index ddb5475e83..3cd863c2db 100644 --- a/src/connections/spec/common.md +++ b/src/connections/spec/common.md @@ -258,7 +258,7 @@ Every API call has four timestamps, `originalTimestamp`, `timestamp`, `sentAt`, | Timestamp | Calculated | Description | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `originalTimestamp` | Time on the client device when call was invoked
**OR**
The `timestamp` value manually passed in through server-side libraries. | Used by Segment to calculate `timestamp`.

**Note:** `originalTimestamp` is not useful for analysis since it's not always trustworthy as it can be easily adjusted and affected by clock skew. | -| `sentAt` | Time on client device when call was sent.
**OR**
`sentAt` value manually passed in. | Used by Segment to calculate `timestamp`.

**Note:** `sentAt` is not useful for analysis since it's not always trustworthy as it can be easily adjusted and affected by clock skew. | +| `sentAt` | Time on client device when call was sent.
**OR**
`sentAt` value manually passed in. | Used by Segment to calculate `timestamp`.

**Note:** `sentAt` is not useful for analysis since it's not always trustworthy as it can be easily adjusted and affected by clock skew. | | `receivedAt` | Time on Segment server clock when call was received | Used by Segment to calculate `timestamp`, and used as sort key in Warehouses.

**Note:** For max query speed, `receivedAt` is the recommended timestamp for analysis when chronology does not matter as chronology is not ensured. | | `timestamp` | Calculated by Segment to correct client-device clock skew using the following formula:
`receivedAt` - (`sentAt` - `originalTimestamp`) | Used by Segment to send to downstream destinations, and used for historical replays.

**Note:** Recommended timestamp for analysis when chronology does matter. | From 3cd9339590de1b654790620737f09da6e5d3c5f6 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:56:37 -0400 Subject: [PATCH 4/4] Update src/connections/spec/common.md --- src/connections/spec/common.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/spec/common.md b/src/connections/spec/common.md index 3cd863c2db..e664aed2b3 100644 --- a/src/connections/spec/common.md +++ b/src/connections/spec/common.md @@ -139,7 +139,7 @@ Context is a dictionary of extra information that provides useful context about | `active` | Boolean | Whether a user is active.

This is usually used to flag an `.identify()` call to just update the traits but not "last seen." | | `app` | Object | dictionary of information about the current application, containing `name`, `version`, and `build`.

This is collected automatically from the mobile libraries when possible. | | `campaign` | Object | Dictionary of information about the campaign that resulted in the API call, containing `name`, `source`, `medium`, `term`, `content`, and any other custom UTM parameter.

This maps directly to the common UTM campaign parameters. | -| `device` | Object | Dictionary of information about the device, containing `id`, `advertisingId`, `manufacturer`, `model`, `name`, `type`, and `version`.

**Note:** `model` for iOS may not exactly correspond to an iPhone model number. For example, an `iPhone 15 Pro Max` has a model number of `iPhone16,2`. These values are set by iOS. | +| `device` | Object | Dictionary of information about the device, containing `id`, `advertisingId`, `manufacturer`, `model`, `name`, `type`, and `version`.

**Note:** If you collect information about iOS devices, note that the `model` value set by Apple might not exactly correspond to an iPhone model number. For example, an `iPhone 15 Pro Max` has a `model` value of `iPhone16,2`. | | `ip` | String | Current user's IP address. | | `library` | Object | Dictionary of information about the library making the requests to the API, containing `name` and `version`. | | `locale` | String | Locale string for the current user, for example `en-US`. |