Skip to content

Commit caaeae0

Browse files
chore(release): changeset created a new release (dev)
1 parent 926b76c commit caaeae0

17 files changed

+191
-38
lines changed

.changeset/pre.json

+7-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,11 @@
44
"initialVersions": {
55
"fingerprint-pro-server-api-python-sdk": "7.1.0"
66
},
7-
"changesets": []
7+
"changesets": [
8+
"fuzzy-apes-talk",
9+
"khaki-results-help",
10+
"large-lights-push",
11+
"quiet-parrots-stick",
12+
"three-files-kneel"
13+
]
814
}

CHANGELOG.md

+111
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,116 @@
11
# Fingerprint Pro Server Python SDK
22

3+
## 8.0.0-dev.0
4+
5+
### Major Changes
6+
7+
- - Remove the `BrowserDetails` field `botProbability`.
8+
- Update the `IdentificationConfidence` field `score` type format: `float` -> `double`.
9+
- Make the `RawDeviceAttributeError` field `name` **optional** .
10+
- Make the `RawDeviceAttributeError` field `message` **optional** .
11+
- **events**: Remove the `EventsResponse` field `error`.
12+
- [note]: The errors are represented by `ErrorResponse` model.
13+
- **events**: Update the `HighActivity` field `dailyRequests` type format: `number` -> `int64`.
14+
- **events**: Specify the `Tampering` field `anomalyScore` type format: `double`.
15+
- **webhook**: Make the `Webhook` fields **optional**: `visitorId`, `visitorFound`, `firstSeenAt`, `lastSeenAt`, `browserDetails`, `incognito`.
16+
- **webhook**: Make the `WebhookClonedApp` field `result` **optional**.
17+
- **webhook**: Make the `WebhookDeveloperTools` field `result` **optional**.
18+
- **webhook**: Make the `WebhookEmulator` field `result` **optional**.
19+
- **webhook**: Make the `WebhookFactoryReset` fields `time` and `timestamp` **optional**.
20+
- **webhook**: Make the `WebhookFrida` field `result` **optional**.
21+
- **webhook**: Update the `WebhookHighActivity` field `dailyRequests` type format: `number` -> `int64`.
22+
- **webhook**: Make the `WebhookIPBlocklist` fields `result` and `details` **optional**.
23+
- **webhook**: Make the `WebhookJailbroken` field `result` **optional**.
24+
- **webhook**: Make the `WebhookLocationSpoofing` field `result` **optional**.
25+
- **webhook**: Make the `WebhookPrivacySettings` field `result` **optional**.
26+
- **webhook**: Make the `WebhookProxy` field `result` **optional**.
27+
- **webhook**: Make the `WebhookRemoteControl` field `result` **optional**.
28+
- **webhook**: Make the `WebhookRootApps` field `result` **optional**.
29+
- **webhook**: Make the `WebhookSuspectScore` field `result` **optional**.
30+
- **webhook**: Make the `WebhookTampering` fields `result`, `anomalyScore` and `antiDetectBrowser` **optional**.
31+
- **webhook**: Specify the `WebhookTampering` field `anomalyScore` type format: `double`.
32+
- **webhook**: Make the `WebhookTor` field `result` **optional**.
33+
- **webhook**: Make the `WebhookVelocity` fields **optional**: `distinctIp`, `distinctLinkedId`, `distinctCountry`, `events`, `ipEvents`, `distinctIpByLinkedId`, `distinctVisitorIdByLinkedId`.
34+
- **webhook**: Make the `WebhookVirtualMachine` field `result` **optional**.
35+
- **webhook**: Make the `WebhookVPN` fields **optional**: `result`, `confidence`, `originTimezone`, `methods`. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))
36+
- - Rename `BotdResult` -> `Botd`.
37+
- Rename `BotdDetectionResult` -> `BotdBot`:
38+
- Extract `result` type as `BotdBotResult`.
39+
- Rename `ClonedAppResult` -> `ClonedApp`.
40+
- Rename `DeveloperToolsResult` -> `DeveloperTools`.
41+
- Rename `EmulatorResult` -> `Emulator`.
42+
- Refactor error models:
43+
- Remove `ErrorCommon403Response`, `ErrorCommon429Response`, `ErrorEvent404Response`, `TooManyRequestsResponse`, `ErrorVisits403`, `ErrorUpdateEvent400Response`, `ErrorUpdateEvent409Response`, `ErrorVisitor400Response`, `ErrorVisitor404Response`, `IdentificationError`, `ProductError`.
44+
- Introduce `ErrorResponse` and `ErrorPlainResponse`.
45+
- [note]: `ErrorPlainResponse` has a different format `{ "error": string }` and it is used only in `GET /visitors`.
46+
- Extract `error` type as `Error`.
47+
- Extract `error.code` type as `ErrorCode`.
48+
- Rename `EventResponse` -> `EventsGetResponse`.
49+
- Rename `EventUpdateRequest` -> `EventsUpdateRequest`.
50+
- Rename `FactoryResetResult` -> `FactoryReset`.
51+
- Rename `FridaResult` -> `Frida`.
52+
- Rename `IPLocation` -> `Geolocation`:
53+
- Rename `IPLocationCity` -> `GeolocationCity`.
54+
- Extract `subdivisions` type as `GeolocationSubdivisions`.
55+
- Rename `Location` -> `GeolocationContinent`:
56+
- Introduce a dedicated type `GeolocationCountry`.
57+
- Rename `Subdivision` -> `GeolocationSubdivision`.
58+
- Rename `HighActivityResult` -> `HighActivity`.
59+
- Rename `Confidence` -> `IdentificationConfidence`.
60+
- Rename `SeenAt` -> `IdentificationSeenAt`.
61+
- Rename `IncognitoResult` -> `Incognito`.
62+
- Rename `IpBlockListResult` -> `IPBlocklist`:
63+
- Extract `details` type as `IPBlocklistDetails`.
64+
- Rename `IpInfoResult` -> `IPInfo`:
65+
- Rename `IpInfoResultV4` -> `IPInfoV4`.
66+
- Rename `IpInfoResultV6` -> `IPInfoV6`.
67+
- Rename `ASN` -> `IPInfoASN`.
68+
- Rename `DataCenter` -> `IPInfoDataCenter`.
69+
- Rename `JailbrokenResult` -> `Jailbroken`.
70+
- Rename `LocationSpoofingResult` -> `LocationSpoofing`.
71+
- Rename `PrivacySettingsResult` -> `PrivacySettings`.
72+
- Rename `ProductsResponse` -> `Products`:
73+
- Rename inner types: `ProductsResponseIdentification` -> `ProductIdentification`, `ProductsResponseIdentificationData` -> `Identification`, `ProductsResponseBotd` -> `ProductBotd`, `SignalResponseRootApps` -> `ProductRootApps`, `SignalResponseEmulator` -> `ProductEmulator`, `SignalResponseIpInfo` -> `ProductIPInfo`, `SignalResponseIpBlocklist` -> `ProductIPBlocklist`, `SignalResponseTor` -> `ProductTor`, `SignalResponseVpn` -> `ProductVPN`, `SignalResponseProxy` -> `ProductProxy`, `ProxyResult` -> `Proxy`, `SignalResponseIncognito` -> `ProductIncognito`, `SignalResponseTampering` -> `ProductTampering`, `SignalResponseClonedApp` -> `ProductClonedApp`, `SignalResponseFactoryReset` -> `ProductFactoryReset`, `SignalResponseJailbroken` -> `ProductJailbroken`, `SignalResponseFrida` -> `ProductFrida`, `SignalResponsePrivacySettings` -> `ProductPrivacySettings`, `SignalResponseVirtualMachine` -> `ProductVirtualMachine`, `SignalResponseRawDeviceAttributes` -> `ProductRawDeviceAttributes`, `RawDeviceAttributesResultValue` -> `RawDeviceAttributes`, `SignalResponseHighActivity` -> `ProductHighActivity`, `SignalResponseLocationSpoofing` -> `ProductLocationSpoofing`, `SignalResponseSuspectScore` -> `ProductSuspectScore`, `SignalResponseRemoteControl` -> `ProductRemoteControl`, `SignalResponseVelocity` -> `ProductVelocity`, `SignalResponseDeveloperTools` -> `ProductDeveloperTools`.
74+
- Extract `identification.data` type as `Identification`.
75+
- Rename `RawDeviceAttributesResult` -> `RawDeviceAttributes`:
76+
- Extract item type as `RawDeviceAttribute`.
77+
- Extract `error` type as `RawDeviceAttributeError`.
78+
- Rename `RemoteControlResult` -> `RemoteControl`.
79+
- Rename `RootAppsResult` -> `RootApps`.
80+
- Rename `SuspectScoreResult` -> `SuspectScore`.
81+
- Extract new model `Tag`.
82+
- Rename `TamperingResult` -> `Tampering`.
83+
- Rename `TorResult` -> `Tor`.
84+
- Rename `VelocityResult` -> `Velocity`:
85+
- Rename `VelocityIntervals` -> `VelocityData`.
86+
- Rename `VelocityIntervalResult` -> `VelocityIntervals`.
87+
- Rename `VirtualMachineResult` -> `VirtualMachine`.
88+
- Rename the `Visit` field `ipLocation` type `DeprecatedIPLocation` -> `DeprecatedGeolocation`.
89+
- Instead of `DeprecatedIPLocationCity` use common `GeolocationCity`
90+
- Rename `Response` -> `VisitorsGetResponse`.
91+
- Omit extra inner type `ResponseVisits`
92+
- Rename `VpnResult` -> `VPN`.
93+
- Extract `confidence` type as `VPNConfidence`.
94+
- Extract `methods` type as `VPNMethods`.
95+
- Rename `WebhookVisit` -> `Webhook`.
96+
- Introduce new inner types: `WebhookRootApps`, `WebhookEmulator`, `WebhookIPInfo`, `WebhookIPBlocklist`, `WebhookTor`, `WebhookVPN`, `WebhookProxy`, `WebhookTampering`, `WebhookClonedApp`, `WebhookFactoryReset`, `WebhookJailbroken`, `WebhookFrida`, `WebhookPrivacySettings`, `WebhookVirtualMachine`, `WebhookRawDeviceAttributes`, `WebhookHighActivity`, `WebhookLocationSpoofing`, `WebhookSuspectScore`, `WebhookRemoteControl`, `WebhookVelocity`, `WebhookDeveloperTools`. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))
97+
98+
### Minor Changes
99+
100+
- Added new `ipEvents`, `distinctIpByLinkedId`, and `distinctVisitorIdByLinkedId` fields to the `velocity` Smart Signal. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))
101+
- - Make the `GeolocationCity` field `name` **required**.
102+
- Make the `GeolocationSubdivision` field `isoCode` **required**.
103+
- Make the `GeolocationSubdivision` field `name` **required**.
104+
- Make the `IPInfoASN` field `name` **required** .
105+
- Make the `IPInfoDataCenter` field `name` **required**.
106+
- Add **optional** `IdentificationConfidence` field `comment`.
107+
- **events**: Add **optional** `Botd` field `meta`.
108+
- **events**: Add **optional** `Identification` field `components`.
109+
- **events**: Make the `VPN` field `originCountry` **required**.
110+
- **visitors**: Add **optional** `Visit` field `components`.
111+
- **webhook**: Add **optional** `Webhook` field `components`. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))
112+
- **events**: Add `antiDetectBrowser` detection method to the `tampering` Smart Signal. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))
113+
3114
## 7.1.0
4115

5116
### Minor Changes

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The Fingerprint Server Python SDK is an easy way to interact with the Fingerprin
2626
This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
2727

2828
- API version: 3
29-
- Package version: 7.1.0
29+
- Package version: 8.0.0-dev.0
3030
- Build package: io.swagger.codegen.v3.generators.python.PythonClientCodegen
3131

3232
## Requirements

docs/BotdBotResult.md

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
# BotdBotResult
2-
Bot detection result: * `notDetected` - the visitor is not a bot * `good` - good bot detected, such as Google bot, Baidu Spider, AlexaBot and so on * `bad` - bad bot detected, such as Selenium, Puppeteer, Playwright, headless browsers, and so on
2+
Bot detection result:
3+
* `notDetected` - the visitor is not a bot
4+
* `good` - good bot detected, such as Google bot, Baidu Spider, AlexaBot and so on
5+
* `bad` - bad bot detected, such as Selenium, Puppeteer, Playwright, headless browsers, and so on
36

47

5-
## Properties
6-
Name | Type | Description | Notes
7-
------------ | ------------- | ------------- | -------------
8-
9-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10-

docs/ErrorCode.md

+18-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
# ErrorCode
2-
Error code: * `RequestCannotBeParsed` - the query parameters or JSON payload contains some errors that prevented us from parsing it (wrong type/surpassed limits). * `TokenRequired` - `Auth-API-Key` header is missing or empty. * `TokenNotFound` - no Fingerprint application found for specified secret key. * `SubscriptionNotActive` - Fingerprint application is not active. * `WrongRegion` - server and application region differ. * `FeatureNotEnabled` - this feature (for example, Delete API) is not enabled for your application. * `RequestNotFound` - the specified request ID was not found. It never existed, expired, or it has been deleted. * `VisitorNotFound` - The specified visitor ID was not found. It never existed or it may have already been deleted. * `TooManyRequests` - the limit on secret API key requests per second has been exceeded. * `429 Too Many Requests` - the limit on secret API key requests per second has been exceeded. * `StateNotReady` - The event specified with request id is not ready for updates yet. Try again. This error happens in rare cases when update API is called immediately after receiving the request id on the client. In case you need to send information right away, we recommend using the JS agent API instead. * `Failed` - internal server error.
2+
Error code:
3+
* `RequestCannotBeParsed` - the query parameters or JSON payload contains some errors
4+
that prevented us from parsing it (wrong type/surpassed limits).
5+
* `TokenRequired` - `Auth-API-Key` header is missing or empty.
6+
* `TokenNotFound` - no Fingerprint application found for specified secret key.
7+
* `SubscriptionNotActive` - Fingerprint application is not active.
8+
* `WrongRegion` - server and application region differ.
9+
* `FeatureNotEnabled` - this feature (for example, Delete API) is not enabled for your application.
10+
* `RequestNotFound` - the specified request ID was not found. It never existed, expired, or it has been deleted.
11+
* `VisitorNotFound` - The specified visitor ID was not found. It never existed or it may have already been deleted.
12+
* `TooManyRequests` - the limit on secret API key requests per second has been exceeded.
13+
* `429 Too Many Requests` - the limit on secret API key requests per second has been exceeded.
14+
* `StateNotReady` - The event specified with request id is
15+
not ready for updates yet. Try again.
16+
This error happens in rare cases when update API is called immediately
17+
after receiving the request id on the client. In case you need to send
18+
information right away, we recommend using the JS agent API instead.
19+
* `Failed` - internal server error.
320

421

5-
## Properties
6-
Name | Type | Description | Notes
7-
------------ | ------------- | ------------- | -------------
8-
9-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10-

docs/RawDeviceAttributes.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# RawDeviceAttributes
2-
It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here.
2+
It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes.
3+
Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here.
4+
35

46

57
## Properties

docs/VPNConfidence.md

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
11
# VPNConfidence
2-
A confidence rating for the VPN detection result — \"low\", \"medium\", or \"high\". Depends on the combination of results returned from all VPN detection methods.
3-
4-
5-
## Properties
6-
Name | Type | Description | Notes
7-
------------ | ------------- | ------------- | -------------
8-
9-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
2+
A confidence rating for the VPN detection result — "low", "medium", or "high". Depends on the combination of results returned from all VPN detection methods.
103

docs/Velocity.md

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# Velocity
2-
Sums key data points for a specific `visitorId`, `ipAddress` and `linkedId` at three distinct time intervals: 5 minutes, 1 hour, and 24 hours as follows: - Number of distinct IP addresses associated to the visitor ID. - Number of distinct linked IDs associated with the visitor ID. - Number of distinct countries associated with the visitor ID. - Number of identification events associated with the visitor ID. - Number of identification events associated with the detected IP address. - Number of distinct IP addresses associated with the provided linked ID. - Number of distinct visitor IDs associated with the provided linked ID. The `24h` interval of `distinctIp`, `distinctLinkedId`, `distinctCountry`, `distinctIpByLinkedId` and `distinctVisitorIdByLinkedId` will be omitted if the number of `events` for the visitor ID in the last 24 hours (`events.intervals.['24h']`) is higher than 20.000.
2+
Sums key data points for a specific `visitorId`, `ipAddress` and `linkedId` at three distinct time
3+
intervals: 5 minutes, 1 hour, and 24 hours as follows:
4+
5+
- Number of distinct IP addresses associated to the visitor ID.
6+
- Number of distinct linked IDs associated with the visitor ID.
7+
- Number of distinct countries associated with the visitor ID.
8+
- Number of identification events associated with the visitor ID.
9+
- Number of identification events associated with the detected IP address.
10+
- Number of distinct IP addresses associated with the provided linked ID.
11+
- Number of distinct visitor IDs associated with the provided linked ID.
12+
13+
The `24h` interval of `distinctIp`, `distinctLinkedId`, `distinctCountry`,
14+
`distinctIpByLinkedId` and `distinctVisitorIdByLinkedId` will be omitted
15+
if the number of `events` for the visitor ID in the last 24
16+
hours (`events.intervals.['24h']`) is higher than 20.000.
17+
318

419

520
## Properties

docs/VelocityIntervals.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# VelocityIntervals
2-
Is absent if the velocity data could not be generated for the visitor ID.
2+
Is absent if the velocity data could not be generated for the visitor ID.
3+
34

45

56
## Properties

docs/WebhookRawDeviceAttributes.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# WebhookRawDeviceAttributes
2-
It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here.
2+
It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes.
3+
Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here.
4+
35

46

57
## Properties

0 commit comments

Comments
 (0)