Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release [changeset] (dev) #90

Merged
merged 1 commit into from
Nov 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,11 @@
"initialVersions": {
"fingerprint-pro-server-api-python-sdk": "7.1.0"
},
"changesets": []
"changesets": [
"fuzzy-apes-talk",
"khaki-results-help",
"large-lights-push",
"quiet-parrots-stick",
"three-files-kneel"
]
}
111 changes: 111 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,116 @@
# Fingerprint Pro Server Python SDK

## 8.0.0-dev.0

### Major Changes

- - Remove the `BrowserDetails` field `botProbability`.
- Update the `IdentificationConfidence` field `score` type format: `float` -> `double`.
- Make the `RawDeviceAttributeError` field `name` **optional** .
- Make the `RawDeviceAttributeError` field `message` **optional** .
- **events**: Remove the `EventsResponse` field `error`.
- [note]: The errors are represented by `ErrorResponse` model.
- **events**: Update the `HighActivity` field `dailyRequests` type format: `number` -> `int64`.
- **events**: Specify the `Tampering` field `anomalyScore` type format: `double`.
- **webhook**: Make the `Webhook` fields **optional**: `visitorId`, `visitorFound`, `firstSeenAt`, `lastSeenAt`, `browserDetails`, `incognito`.
- **webhook**: Make the `WebhookClonedApp` field `result` **optional**.
- **webhook**: Make the `WebhookDeveloperTools` field `result` **optional**.
- **webhook**: Make the `WebhookEmulator` field `result` **optional**.
- **webhook**: Make the `WebhookFactoryReset` fields `time` and `timestamp` **optional**.
- **webhook**: Make the `WebhookFrida` field `result` **optional**.
- **webhook**: Update the `WebhookHighActivity` field `dailyRequests` type format: `number` -> `int64`.
- **webhook**: Make the `WebhookIPBlocklist` fields `result` and `details` **optional**.
- **webhook**: Make the `WebhookJailbroken` field `result` **optional**.
- **webhook**: Make the `WebhookLocationSpoofing` field `result` **optional**.
- **webhook**: Make the `WebhookPrivacySettings` field `result` **optional**.
- **webhook**: Make the `WebhookProxy` field `result` **optional**.
- **webhook**: Make the `WebhookRemoteControl` field `result` **optional**.
- **webhook**: Make the `WebhookRootApps` field `result` **optional**.
- **webhook**: Make the `WebhookSuspectScore` field `result` **optional**.
- **webhook**: Make the `WebhookTampering` fields `result`, `anomalyScore` and `antiDetectBrowser` **optional**.
- **webhook**: Specify the `WebhookTampering` field `anomalyScore` type format: `double`.
- **webhook**: Make the `WebhookTor` field `result` **optional**.
- **webhook**: Make the `WebhookVelocity` fields **optional**: `distinctIp`, `distinctLinkedId`, `distinctCountry`, `events`, `ipEvents`, `distinctIpByLinkedId`, `distinctVisitorIdByLinkedId`.
- **webhook**: Make the `WebhookVirtualMachine` field `result` **optional**.
- **webhook**: Make the `WebhookVPN` fields **optional**: `result`, `confidence`, `originTimezone`, `methods`. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))
- - Rename `BotdResult` -> `Botd`.
- Rename `BotdDetectionResult` -> `BotdBot`:
- Extract `result` type as `BotdBotResult`.
- Rename `ClonedAppResult` -> `ClonedApp`.
- Rename `DeveloperToolsResult` -> `DeveloperTools`.
- Rename `EmulatorResult` -> `Emulator`.
- Refactor error models:
- Remove `ErrorCommon403Response`, `ErrorCommon429Response`, `ErrorEvent404Response`, `TooManyRequestsResponse`, `ErrorVisits403`, `ErrorUpdateEvent400Response`, `ErrorUpdateEvent409Response`, `ErrorVisitor400Response`, `ErrorVisitor404Response`, `IdentificationError`, `ProductError`.
- Introduce `ErrorResponse` and `ErrorPlainResponse`.
- [note]: `ErrorPlainResponse` has a different format `{ "error": string }` and it is used only in `GET /visitors`.
- Extract `error` type as `Error`.
- Extract `error.code` type as `ErrorCode`.
- Rename `EventResponse` -> `EventsGetResponse`.
- Rename `EventUpdateRequest` -> `EventsUpdateRequest`.
- Rename `FactoryResetResult` -> `FactoryReset`.
- Rename `FridaResult` -> `Frida`.
- Rename `IPLocation` -> `Geolocation`:
- Rename `IPLocationCity` -> `GeolocationCity`.
- Extract `subdivisions` type as `GeolocationSubdivisions`.
- Rename `Location` -> `GeolocationContinent`:
- Introduce a dedicated type `GeolocationCountry`.
- Rename `Subdivision` -> `GeolocationSubdivision`.
- Rename `HighActivityResult` -> `HighActivity`.
- Rename `Confidence` -> `IdentificationConfidence`.
- Rename `SeenAt` -> `IdentificationSeenAt`.
- Rename `IncognitoResult` -> `Incognito`.
- Rename `IpBlockListResult` -> `IPBlocklist`:
- Extract `details` type as `IPBlocklistDetails`.
- Rename `IpInfoResult` -> `IPInfo`:
- Rename `IpInfoResultV4` -> `IPInfoV4`.
- Rename `IpInfoResultV6` -> `IPInfoV6`.
- Rename `ASN` -> `IPInfoASN`.
- Rename `DataCenter` -> `IPInfoDataCenter`.
- Rename `JailbrokenResult` -> `Jailbroken`.
- Rename `LocationSpoofingResult` -> `LocationSpoofing`.
- Rename `PrivacySettingsResult` -> `PrivacySettings`.
- Rename `ProductsResponse` -> `Products`:
- 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`.
- Extract `identification.data` type as `Identification`.
- Rename `RawDeviceAttributesResult` -> `RawDeviceAttributes`:
- Extract item type as `RawDeviceAttribute`.
- Extract `error` type as `RawDeviceAttributeError`.
- Rename `RemoteControlResult` -> `RemoteControl`.
- Rename `RootAppsResult` -> `RootApps`.
- Rename `SuspectScoreResult` -> `SuspectScore`.
- Extract new model `Tag`.
- Rename `TamperingResult` -> `Tampering`.
- Rename `TorResult` -> `Tor`.
- Rename `VelocityResult` -> `Velocity`:
- Rename `VelocityIntervals` -> `VelocityData`.
- Rename `VelocityIntervalResult` -> `VelocityIntervals`.
- Rename `VirtualMachineResult` -> `VirtualMachine`.
- Rename the `Visit` field `ipLocation` type `DeprecatedIPLocation` -> `DeprecatedGeolocation`.
- Instead of `DeprecatedIPLocationCity` use common `GeolocationCity`
- Rename `Response` -> `VisitorsGetResponse`.
- Omit extra inner type `ResponseVisits`
- Rename `VpnResult` -> `VPN`.
- Extract `confidence` type as `VPNConfidence`.
- Extract `methods` type as `VPNMethods`.
- Rename `WebhookVisit` -> `Webhook`.
- 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))

### Minor Changes

- 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))
- - Make the `GeolocationCity` field `name` **required**.
- Make the `GeolocationSubdivision` field `isoCode` **required**.
- Make the `GeolocationSubdivision` field `name` **required**.
- Make the `IPInfoASN` field `name` **required** .
- Make the `IPInfoDataCenter` field `name` **required**.
- Add **optional** `IdentificationConfidence` field `comment`.
- **events**: Add **optional** `Botd` field `meta`.
- **events**: Add **optional** `Identification` field `components`.
- **events**: Make the `VPN` field `originCountry` **required**.
- **visitors**: Add **optional** `Visit` field `components`.
- **webhook**: Add **optional** `Webhook` field `components`. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))
- **events**: Add `antiDetectBrowser` detection method to the `tampering` Smart Signal. ([8df1d4a](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/commit/8df1d4acf7c26bd72bce13c04d9ea1a85f2b0155))

## 7.1.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The Fingerprint Server Python SDK is an easy way to interact with the Fingerprin
This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

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

## Requirements
Expand Down
11 changes: 4 additions & 7 deletions docs/BotdBotResult.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
# BotdBotResult
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
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


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

25 changes: 18 additions & 7 deletions docs/ErrorCode.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
# ErrorCode
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.
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.


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

4 changes: 3 additions & 1 deletion docs/RawDeviceAttributes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# RawDeviceAttributes
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.
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.



## Properties
Expand Down
9 changes: 1 addition & 8 deletions docs/VPNConfidence.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
# VPNConfidence
A confidence rating for the VPN detection result — \"low\", \"medium\", or \"high\". Depends on the combination of results returned from all VPN detection methods.


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
A confidence rating for the VPN detection result — "low", "medium", or "high". Depends on the combination of results returned from all VPN detection methods.

17 changes: 16 additions & 1 deletion docs/Velocity.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Velocity
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.
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.



## Properties
Expand Down
3 changes: 2 additions & 1 deletion docs/VelocityIntervals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# VelocityIntervals
Is absent if the velocity data could not be generated for the visitor ID.
Is absent if the velocity data could not be generated for the visitor ID.



## Properties
Expand Down
4 changes: 3 additions & 1 deletion docs/WebhookRawDeviceAttributes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# WebhookRawDeviceAttributes
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.
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.



## Properties
Expand Down
Loading
Loading